Eskalační matice - upozornění dalším osobám
Cíl: Nastavit eskalační matici, která po určité době nevyřešeného incidentu (výpadku) pošle upozornění dalším odpovědným osobám nebo do jiného kanálu.
Kdy eskalaci použít
Běžný scénář: vaše služba spadne v noci, primární dispečer nezareaguje do 15 minut - systém má automaticky upozornit vedoucího směny a po další hodině i manažera. Eskalace zabrání tomu, aby výpadek zůstal nepovšimnut.
Krok 1: Vytvořte politiku eskalace
- Přejděte do Dashboard → Eskalace (nebo na adresu
/dashboard/escalation). - Vyplňte název (například "Noční pohotovost") a klikněte na + Nová politika.
Krok 2: Přidejte kroky
Politika je posloupnost kroků. Každý krok obsahuje:
- Zpoždění (min) - po kolika minutách od začátku incidentu se má krok spustit.
0znamená okamžitě. - Kanál -
E-mailneboWebhook(Slack, Discord, vlastní cílový endpoint). - Příjemci - e-mailové adresy oddělené čárkou, nebo adresa webhooku.
- Poznámka - volitelné, co má příjemce dělat.
Příklad 3stupňové politiky:
- Krok 1: 0 min, e-mail primárnímu dispečerovi.
- Krok 2: 15 min, e-mail vedoucímu směny.
- Krok 3: 60 min, Slack webhook do kanálu #ops-emergency.
Krok 3: Přiřaďte politiku monitorům
Politiku můžete přiřadit:
- Globálně - tlačítkem "Nastavit jako výchozí" se použije pro všechny vaše monitory, které nemají vlastní.
- Pro konkrétní monitor - při vytváření nebo úpravě monitoru vyberte konkrétní politiku.
Potvrzení incidentu (ACK)
Každé eskalační upozornění obsahuje ACK odkaz (acknowledge, čili "viděl jsem a řeším to"). Stačí na něj kliknout a:
- Další kroky eskalace se zastaví.
- V systému se uloží, kdo a kdy incident potvrdil.
- Ostatním ve stejném kroku už nepřijdou další eskalační zprávy pro tento incident.
ACK odkaz nevyžaduje přihlášení - je podepsaný unikátním tokenem (jednorázovým řetězcem), takže ho nemůže zneužít ani někdo jiný. Po vyřešení incidentu (monitor se vrátí do stavu UP) se eskalace také automaticky ukončí.
Formát webhooku
Pro Slack, Discord, Microsoft Teams i vlastní endpoint posíláme požadavek metodou POST. U Slacku, Discordu a Teams si payload naformátujeme nativně (Block Kit / Embed / Adaptive Card). U ostatních adres (vlastní endpoint) pošleme generický JSON:
{
"event": "incident_escalation",
"monitor": {
"name": "Produkční web",
"target": "https://example.com",
"url": "https://epulz.io/dashboard/monitor/42"
},
"message": "ESCALATION step 2 (delay 15 min): e-mail vedoucímu směny",
"timestamp": "2026-05-31T14:33:45+00:00",
"source": "epulzio"
}
Pole event má při eskalaci hodnotu incident_escalation. V poli message je textový popis kroku (pořadí kroku, zpoždění a popis akce). Jiná pole (incident_id, step_order, ack_url) na nejvyšší úrovni neexistují - ACK odkaz je součástí naformátované zprávy ve Slacku/Discordu/Teams. Pro Slack stačí adresa Incoming webhooku. U Discord adresy není potřeba parametr ?wait=true.
Často kladené otázky
Co se stane, když incident trvá déle než poslední krok?
Další eskalace se už neposílají. Pro opakované připomínky přidejte další krok s vyšším zpožděním (například 240 min).
Funguje eskalace i během tichého režimu (Quiet hours)?
Ano. Eskalace jde přes svůj vlastní kanál (e-mail, webhook) a tichý režim se na ni nevztahuje - ten je určen jen pro primární upozornění.
Můžu politiku otestovat bez čekání na reálný výpadek?
Nejjednodušší: vytvořte testovací monitor s adresou https://test-bad-domain.invalid, přiřaďte mu politiku s krátkým zpožděním (1 min) a sledujte e-maily.