Перейти к основному содержимому
Версия: 8.6

Настройка интеграции

На данном этапе настроим интеграцию Monq с системой мониторинга Zabbix. В рамках данной интеграции мы будем получать информацию о всех узлах сети в области видимости выделенной учетной записи Zabbix, а также при появлении событий в Zabbix они автоматически будут попадать в Monq.

Подсказка

Подробное руководство по настройке потоков данных доступно в соответствующем разделе руководства Monq.

Инфо

Ручные действия по настройке Потока данных, которые представлены ниже в документе, можно автоматизировать с помощью Мастера настройки и запустить контент-пак "Zabbix Топология&Обработка событий" в несколько кликов.

Добавление нового потока

  1. Перейдите в раздел Сбор данных (ETL) - Потоки данных через основное меню

    Изображение

  2. Нажмите кнопку Добавить поток в верхнем правом углу.

  3. Заполните поля:

    Изображение

    • Владелец - Рабочая группа, которой принадлежит поток данных
    • Название потока (например, "Zabbix Demo")
    • Описание (необязательно)
    • Импорт (необязательно)
  4. Нажмите Создать - откроется страница созданного потока данных.

  5. В параметрах задания созданного потока необходимо добавить и заполнить следующие настройки:

    • login - логин подключения к Zabbix
    • password - пароль подключения к Zabbix
    • apiUri - URL к Zabbix API
    • insecureMode - необходимость проверки валидности TLS сертификата
    • buildCMDB - параметр, включающий возможность автоматически создать РСМ

    Изображение

  6. Добавьте задания для сбора данных, - нажмите + Задание, чтобы добавить следующие задания:

    Изображение

    • Название - Zabbix - Api Connection Check (задание проверки состояния подключения к API Zabbix)

      Выполнение - на любом агенте

      Агент - Содержит любую метку из списка - SharedAgents

      Рекомендуемый интервал запуска 30 секунд

      name: Zabbix - Api Connection Check
      jobs:
      - name: Check connection
      steps:
      - plugin: zabbixCheckConnection
      with:
      apiUri: $.vars.stream.params.apiUri
      login: $.vars.stream.params.login
      insecureMode: $.vars.stream.params.insecureMode
      timeout: $.storage.timeout
      with-secured:
      password: $.vars.stream.params.password
      auth: $.storage.auth
      outputs:
      result: '{ "status": "{{ _outputs.status }}", "error": "{{ _outputs.error }}" }'
      store:
      auth: $._outputs.auth
    • Название - Zabbix - Version Check (задание проверки версии Zabbix)

      Выполнение - на любом агенте

      Агент - Содержит любую метку из списка - SharedAgents

      Рекомендуемый интервал запуска 5 минут

      name: Zabbix - Version Check
      jobs:
      - name: Check version
      steps:
      - plugin: zabbixCheckVersion
      with:
      streamId: $.vars.stream.id
      apiUri: $.vars.stream.params.apiUri
      login: $.vars.stream.params.login
      insecureMode: $.vars.stream.params.insecureMode
      timeout: $.storage.timeout
      with-secured:
      password: $.vars.stream.params.password
      auth: $.storage.auth
      outputs:
      version: '{ "Version": "{{ _outputs.version }}" }'
      store:
      auth: $._outputs.auth
      artifacts:
      - name: streamLabels
      send-to:
      system:
      keys:
      - cl.stream.labels-update
      data: '{ "labels": {{ outputs.version }}, "streamId": {{ vars.stream.id }} }'
    • Название - Zabbix - Events Data Flow (задание получения событий из Zabbix)

      Выполнение - на любом агенте

      Агент - Содержит любую метку из списка - SharedAgents

      Рекомендуемый интервал запуска 10 секунд

      name: Zabbix - Events Data Flow
      jobs:
      - name: Get events
      steps:
      - plugin: zabbixEventsDataFlow
      with:
      streamKey: $.vars.stream.key
      apiUri: $.vars.stream.params.apiUri
      login: $.vars.stream.params.login
      insecureMode: $.vars.stream.params.insecureMode
      eventsCount: $.storage.eventsCount
      timeout: $.storage.timeout
      lastEventId: $.storage.lastEventId
      with-secured:
      password: $.vars.stream.params.password
      auth: $.storage.auth
      store:
      lastEventId: $._outputs.lastEventId
      auth: $._outputs.auth
    • Название - Zabbix - Fetch Hosts (задание получения информации об узлах сети Zabbix)

      Выполнение - на любом агенте

      Агент - Содержит любую метку из списка - SharedAgents

      Рекомендуемый интервал запуска 5 минут

      name: Zabbix - Fetch Hosts
      jobs:
      - name: Get hosts
      steps:
      - name: Auth in Zabbix
      plugin: httpPlugin
      with:
      url: $.vars.stream.params.apiUri
      method: POST
      mediaType: application/json
      redirects: true
      insecure: $.vars.stream.params.insecureMode
      headers:
      Content-Type: application/json
      body: >
      {
      "jsonrpc": "2.0",
      "method": "user.login",
      "params": {
      "username": "{{ vars.stream.params.login }}",
      "password": "{{ vars.stream.params.password }}"
      },
      "id": 1
      }
      outputs:
      token: $._outputs.responseData.result
      - name: Get hosts
      plugin: httpPlugin
      with:
      url: $.vars.stream.params.apiUri
      method: POST
      mediaType: application/json
      redirects: true
      insecure: $.vars.stream.params.insecureMode
      headers:
      Content-Type: application/json
      body: >
      {
      "jsonrpc": "2.0",
      "method": "host.get",
      "params": {
      "output": ["host", "name"],
      "filter": {
      "output": "extend"
      },
      "selectGroups": "extend"
      },
      "auth": "{{ outputs.token }}",
      "id": 1
      }
      outputs:
      result: $._outputs.responseData
      artifacts:
      - data: >
      {
      "ZabbixHosts": {{ outputs.result }},
      "BuildCMDB": {{ vars.stream.params.buildCMDB }}
      }
      send-to:
      api:
      uri: "{{ baseUri }}api/public/cl/v1/stream-data"
      headers:
      x-smon-stream-key: $.vars.stream.key
      media-type: application/json
  7. Сохраните настройки потока данных

  8. Запустите настроенный поток данных соответствующей кнопкой в правом верхнем углу экрана

На этом подключение потока данных завершено. Можно дождаться первых событий и проанализировать полученные данные на экране События и логи.