Zabbix — система мониторинга инфраструктуры с поддержкой webhook-уведомлений через механизм медиатипов.
Предварительные требования
- Zabbix версии 5.0 или выше.
- API-токен команды из раздела Токены.
Эндпоинт
POST https://sereno.systems/api/v1/alerts/create?source=zabbix
Настройка медиатипа
- Откройте Администрирование → Медиатипы и нажмите Создать медиатип.
- Выберите тип Webhook.
- Задайте произвольное название, например
Sereno OnCall. - В поле URL укажите:
https://sereno.systems/api/v1/alerts/create?source=zabbix - Задайте метод POST и тип тела JSON.
- В разделе Параметры добавьте заголовок:
Имя Значение AuthorizationBearer {TOKEN} - В поле Тело запроса укажите JSON с данными алерта:
{
"event_id": "{EVENT.ID}",
"event_name": "{EVENT.NAME}",
"event_status": "{EVENT.STATUS}",
"event_time": "{EVENT.TIME.ISO8601}",
"severity": "{EVENT.SEVERITY}",
"message": "{ALERT.MESSAGE}",
"host": {
"name": "{HOST.NAME}",
"ip": "{HOST.IP}"
},
"trigger": {
"id": "{TRIGGER.ID}",
"name": "{TRIGGER.NAME}",
"expression": "{TRIGGER.EXPRESSION}",
"host": "{HOST.NAME}"
},
"item": {
"name": "{ITEM.NAME}",
"value": "{ITEM.LASTVALUE}"
},
"tags": {"{TRIGGER.TAGS}": ""}
}
- Нажмите Добавить для сохранения медиатипа.
Настройка пользователя и действия
- Перейдите в Администрирование → Пользователи и откройте пользователя, от имени которого будут отправляться уведомления.
- На вкладке Медиа добавьте новую запись: выберите медиатип
Sereno OnCall, в поле Отправить на укажите любое значение (используется как метка). - Перейдите в Настройки → Действия → Действия триггеров и создайте или обновите действие.
- В разделе Операции добавьте операцию: тип Отправить сообщение, получатель — пользователь из шага 1, медиатип —
Sereno OnCall.
Убедитесь, что пользователь имеет права на просмотр хостов, по которым должны отправляться алерты.