Настройка интеграции
На данном этапе настроим интеграцию Monq с системой мониторинга Zabbix.
Подробное руководство по настройке потоков данных доступно в соответствующем разделе руководства Monq.
Добавление нового потока
Перейдите в раздел Сбор данных (ETL) - Потоки данных через основное меню
Нажмите кнопку Добавить поток в верхнем правом углу.
Заполните поля:
Владелец - Рабочая группа, которой принадлежит поток данных
Шаблон конфигурации - в данном примере выберите шаблон интеграции Zabbix default
Название потока (например, "Demo Zabbix")
Описание (необязательно)
Нажмите Добавить - откроется страница созданного потока данных.
В параметрах конфигурации созданного потока необходимо заполнить:
- login - Логин Zabbix
- password - Пароль Zabbix
- apiUri - URL к Zabbix API
- insecureMode - включите, если Zabbix работает с невалидным сертификатом
Запустите настроенный поток данных соответствующей кнопкой в правом верхнем углу экрана.
На этом подключение потока данных завершено, при генерации событий в Zabbix .
Настройка синхронизации Zabbix с РСМ Monq
Чтобы импортировать узлы сети из Zabbix в Monq необходимо настроить Задание Потока данных для обращения к API Zabbix.
После того, как данные начнут поступать в Monq, необходимо импортировать сценарий синхронизации топологии в low-code движок для автоматического построения РСМ по узлам Zabbix.
Добавление задания для получения информации о группах и узлах Zabbix
Перейдите на вкладку конфигурации ранее созданного Потока данных.
В блоке Задания нажмите кнопку Добавить задание - Новое задание.
Укажите "Интервал запуска" задания.
Заполните Название задания (например,
"Zabbix Fetch Hosts"
) и примечаниеВ редакторе скрипта задания вставьте следующий
Yaml
сценарий:name: Zabbix Request
jobs:
- name: Zabbix Request
steps:
- plugin: httpPlugin
with:
url: $.vars.stream.params.apiUri
streamId: $.vars.stream.id
streamKey: $.vars.stream.key
method: POST
headers:
Content-Type: application/json
body: >
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": ["host", "name"],
"filter": {
"output": "extend"
},
"selectGroups": "extend"
},
"auth": "{{ vars.stream.params.token }}",
"id": 1
}Если необходима дополнительная фильтрация при запросе данных по узлам и группам Zabbix - измените параметры фильтра в теле запроса (справка по методу host.get)
После завершения редактирования сценария сохраните конфигурацию потока.
Перейдите на вкладку "Настройки" потока данных и добавьте пользовательский параметр
token
, который будет содержать токен доступа к подключаемому серверу Zabbix.💡 Токен для работы с API Zabbix можно выпустить в профиле пользователя Zabbix:
Далее необходимо убедиться, что события с информацией об узлах Zabbix поступают в систему.
Как посмотреть поступающие события в систему описывается в разделе документации - Просмотр событий и логов
Пример полученного события:
{
"StatusCode": 200,
"ResponseData": {
"jsonrpc": "2.0",
"result": [],
"id": 1
},
"Headers": [],
"IsSuccessStatusCode": true
}