Настройка интеграции
На данном этапе настроим интеграцию Monq с системой мониторинга Zabbix. В рамках данной интеграции мы будем получать информацию о всех узлах сети в области видимости выделенной учетной записи Zabbix, а также при появлении событий в Zabbix они автоматически будут попадать в Monq.
Подробное руководство по настройке потоков данных доступно в соответствующем разделе руководства Monq.
Ручные действия по настройке Потока данных, которые представлены ниже в документе, можно автоматизировать с помощью Мастера настройки и установить контент-пак "Zabbix Топология&Обработка событий" в несколько кликов.
Добавление нового потока
-
Перейдите в раздел Сбор данных (ETL) - Потоки данных через основное меню
-
Нажмите кнопку Добавить поток в верхнем правом углу.
-
Заполните поля:
- Владелец - Рабочая группа, которой принадлежит поток данных
- Название потока (например, "Zabbix Demo")
- Описание (необязательно)
- Импорт (необязательно)
-
Нажмите Добавить - откроется страница созданного потока данных.
-
В параметрах конфигурации созданного потока необхо димо добавить и заполнить следующие настройки:
login
- логин подключения к Zabbixpassword
- пароль подключения к ZabbixapiUri
- URL к Zabbix APIinsecureMode
- необходимость проверки валидности TLS сертификатаbuildCMDB
- параметр, включающий возможность автоматически создать РСМ
-
Сохраните внесенные изменения на вкладке "Настройки" и перейдите на вкладку "Конфигурация" для добавления заданий по сбору данных
-
Нажмите Добавить задание, чтобы добавить следующие задания:
-
Zabbix - Api Connection Check - задание проверки состояния подключения к API Zabbix
Метка агента - SharedAgents
Запуск - Расписание CRON
Рекомендуемый интервал запуска 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
Запуск - Расписание CRON
Рекомендуемый интервал запуска 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
Запуск - Расписание CRON
Рекомендуемый интервал запуска 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
-