Довідка та інструкціїСповіщення › Матриця ескалації - сповіщення інших осіб

Матриця ескалації - сповіщення інших осіб

5 хв читання · Сповіщення

Мета: Налаштувати матрицю ескалації, яка через певний час невирішеного інциденту (збою) надсилає сповіщення іншим відповідальним особам або в інший канал.

Коли застосовувати ескалацію

Типовий сценарій: ваш сервіс падає вночі, основний черговий не реагує протягом 15 хвилин - система має автоматично повідомити начальника зміни, а ще за годину і керівника. Ескалація не дає збою лишитися непоміченим.

Крок 1: Створіть політику ескалації

  1. Перейдіть до Dashboard → Ескалація (або за адресою /dashboard/escalation).
  2. Вкажіть назву (наприклад, "Нічне чергування") і натисніть + Нова політика.
Список політик ескалації
Огляд політик ескалації в дашборді.

Крок 2: Додайте кроки

Політика - це послідовність кроків. Кожен крок містить:

Редактор політики ескалації з кроками, затримкою та одержувачами
Редактор політики: ви додаєте кроки із затримкою у хвилинах, каналом та одержувачами.
  • Затримка (хв) - через скільки хвилин від початку інциденту має спрацювати крок. 0 означає негайно.
  • Канал - E-mail або Webhook (Slack, Discord, власний цільовий endpoint).
  • Одержувачі - адреси e-mail, розділені комою, або адреса webhook.
  • Примітка - необов'язково, що має зробити одержувач.

Приклад 3-рівневої політики:

  • Крок 1: 0 хв, e-mail основному черговому.
  • Крок 2: 15 хв, e-mail начальнику зміни.
  • Крок 3: 60 хв, Slack webhook у канал #ops-emergency.

Крок 3: Призначте політику моніторам

Політику можна призначити:

  • Глобально - кнопкою "Встановити за замовчуванням" вона застосовується до всіх ваших моніторів, які не мають власної.
  • Для конкретного монітора - під час створення або редагування монітора виберіть конкретну політику.

Підтвердження інциденту (ACK)

Кожне сповіщення про ескалацію містить посилання ACK (acknowledge, тобто "я побачив і займаюся цим"). Достатньо натиснути на нього, і:

  • Подальші кроки ескалації зупиняються.
  • У системі зберігається, хто й коли підтвердив інцидент.
  • Іншим на тому самому кроці більше не надходять подальші повідомлення про ескалацію щодо цього інциденту.

Посилання ACK не потребує входу в систему - воно підписане унікальним токеном (одноразовим рядком), тож ним не зможе скористатися хтось інший. Після усунення інциденту (монітор повертається до стану UP) ескалація також автоматично завершується.

Формат webhook

Для Slack, Discord, Microsoft Teams та власного endpoint ми надсилаємо запит методом POST. Для Slack, Discord і Teams ми форматуємо payload нативно (Block Kit / Embed / Adaptive Card). Для решти адрес (власний endpoint) ми надсилаємо універсальний JSON:

{
  "event": "incident_escalation",
  "monitor": {
    "name": "Продакшен-сайт",
    "target": "https://example.com",
    "url": "https://epulz.io/dashboard/monitor/42"
  },
  "message": "ESCALATION step 2 (delay 15 min): e-mail начальнику зміни",
  "timestamp": "2026-05-31T14:33:45+00:00",
  "source": "epulzio"
}

Поле event під час ескалації має значення incident_escalation. У полі message міститься текстовий опис кроку (порядок кроку, затримка та опис дії). Інших полів (incident_id, step_order, ack_url) на верхньому рівні немає - посилання ACK є частиною відформатованого повідомлення в Slack/Discord/Teams. Для Slack достатньо адреси Incoming webhook. Для адреси Discord параметр ?wait=true не потрібен.

Часті запитання

Що станеться, якщо інцидент триває довше, ніж останній крок?

Подальші ескалації більше не надсилаються. Для повторних нагадувань додайте ще один крок з більшою затримкою (наприклад, 240 хв).

Чи працює ескалація під час тихого режиму (Quiet hours)?

Так. Ескалація йде власним каналом (e-mail, webhook), і тихий режим на неї не поширюється - він призначений лише для основних сповіщень.

Чи можу я протестувати політику, не чекаючи на реальний збій?

Найпростіше: створіть тестовий монітор з адресою https://test-bad-domain.invalid, призначте йому політику з короткою затримкою (1 хв) і стежте за листами.

Чи був цей посібник корисним?