Документация

Интеграции

Версия v2.3.1 · Обновлено

Интеграции#

В IncidentRelay есть два разных уровня интеграций. При настройке или устранении неполадок держите их отдельно.

Monitoring system -> Incoming integration -> Route -> Notification channels -> User action

Браузерные push-уведомления на уровне профиля отделены от каналов уведомлений. Пользователи включают браузерные/PWA push-уведомления в разделе «Профиль», и алерты доставляются на активные устройства с браузерными push-уведомлениями назначенного пользователя. Подробнее: Браузерные push-уведомления.

Входящие интеграции алертов#

Входящие интеграции создают или обновляют алерты в IncidentRelay. Они выбираются по полю маршрута source и требуют токен приёма маршрута (route intake token).

ИсточникЭндпоинтДокументация
AlertmanagerPOST /api/integrations/alertmanagerAlertmanager
AWS SNS/Cloud watchPOST /api/integrations/aws-snsAWS SNS/Cloud watch
GrafanaPOST /api/integrations/grafanaGrafana
DatadogPOST /api/integrations/datadogDatadog
New RelicPOST /api/integrations/new-relicNew Relic
Azure MonitorPOST /api/integrations/azure-monitorAzure Monitor
Cloud.ru Cloud Eye / SMNPOST /api/integrations/cloud-ru/<route_id>Cloud.ru
NagiosPOST /api/integrations/nagiosNagios
Uptime KumaPOST /api/integrations/uptime-kumaUptime Kuma
RMONPOST /api/integrations/rmonGrafana
ZabbixPOST /api/integrations/zabbixZabbix
SentryPOST /api/integrations/sentry/<route_id>Sentry
LibreNMSPOST /api/integrations/librenmsLibreNMS
Generic webhook / PagerDuty Events API v2POST /api/integrations/webhookУниверсальный вебхук

Токены приёма маршрута принадлежат маршрутам, а не каналам. Сначала создайте маршрут, скопируйте его токен приёма и используйте этот токен в системе мониторинга.

Каналы уведомлений#

Каналы уведомлений доставляют алерты после того, как маршрут сопоставил входящий алерт.

Тип каналаНазначениеДокументация
MattermostУведомления в чате, опциональные кнопки ACK/Resolve/Shelve, обновления сообщенийКанал Mattermost
TelegramУведомления через Telegram Bot API, опциональные inline-действияКанал Telegram
EmailОтправляет письмо на email из профиля назначенного пользователяКанал Email
SlackУведомления через входящий webhook или Bot API с действиями ACK/Resolve/Shelve и обновлениямиКанал Slack
DiscordОтправляет уведомления в вебхук DiscordКаналы на основе вебхуков
Microsoft TeamsОтправляет уведомления в вебхук TeamsКаналы на основе вебхуков
WebhookОтправляет payload уведомления на пользовательский HTTP-эндпоинтКаналы на основе вебхуков
Voice callЗвонит на телефон назначенного пользователя через глобально настроенного голосового провайдераКанал голосовых вызовов

Сначала прочитайте про общее поведение каналов: Каналы уведомлений.

Обычный порядок настройки#

1. Create a group
2. Create users and fill contact fields, such as email, phone, Telegram ID
3. Optional: configure browser push and ask users to enable it in Profile
4. Create a team
5. Create a rotation and assign on-call users
6. Create notification channels
7. Create a route and attach channels
8. Copy the route intake token
9. Configure Alertmanager, Zabbix, or webhook sender
10. Send a test alert
11. Verify notification delivery and ACK/Resolve/Shelve flow

Направление устранения неполадок#

Когда алерт не уведомляет пользователя через канал, проверьте цепочку по порядку:

Incoming payload -> route match -> route channels -> channel severity filter -> notifier -> external provider

Для браузерных push-уведомлений проверяйте вместо этого цепочку на уровне профиля:

alert assignee -> assignee has active browser push subscription -> service worker/browser notification

Если тестовое уведомление в канал работает, а реальные алерты — нет, проблема обычно в сопоставлении маршрута, привязке канала к маршруту, фильтрации по severity, отсутствии контактных данных ответственного или в правиле заглушки (silence).

Если тест браузерного push-уведомления работает, а push реального алерта — нет, проверьте, что алерт назначен тому же пользователю, который включил push в разделе «Профиль».