Dzięki eskalacjom można utworzyć własne scenariusze wysyłania powiadomień lub wykonywania zdalnych poleceń.
W praktyce oznacza to, że:
Akcje są eskalowane w oparciu o krok eskalacji. Każdy krok ma długość trwania w czasie.
Można zdefiniować zarówno domyślną długość trwania jak i własną długość trwania dla indywidualnego kroku. Minimalna długość trwania jednego kroku eskalacji to 60 sekund.
Akcje takie jak wysyłanie wiadomości czy wykonanie poleceń, można uruchamiać z dowolnego kroku. Krok pierwszy jest zarezerwowany dla akcji natychmiastowych. Jeżeli chcemy opóźnić akcję, możemy ją przydzielić do późniejszego kroku. Dla każdego kroku można zdefiniować kilka akcji.
Ilość kroków eskalacji nie jest ograniczona.
Eskalacje definiowane są podczas konfigurowania operacji.
Spróbujmy zobaczyć co się stanie w różnych sytuacjach, gdy akcja posiada kilka kroków eskalacji.
Sytuacja | Zachowanie |
---|---|
Pewien host przeszedł w tryb utrzymania po tym, jak zostało wysłane powiadomienie o problemie | Wszystkie pozostałe kroki eskalacji będą wykonywane. Utrzymanie nie może zatrzymać operacji; utrzymanie ma jedynie wpływ na to, kiedy akcja ma być uruchomiona lub nie, a nie na operacje. |
Okres czasu, zdefiniowany w warunku akcji Okres, zakończył się po wysłaniu pierwszego powiadomienia | Wszystkie pozostałe kroki eskalacji będą wykonywane. Warunek Okres nie może zatrzymać operacji; ma jedynie wpływ na to, kiedy akcja ma być uruchomiona lub nie, a nie na operacje. |
Problem wystąpił podczas utrzymania i trwa (nie jest rozwiązany) po utrzymaniu | Wszystkie kroki eskalacji będą wykonane rozpoczynając od momentu ukończenia utrzymania. |
Problem wystąpił podczas utrzymania bez danych i trwa (nie jest rozwiązany) po utrzymaniu | Musi zaczekać na odpalenie wyzwalacza, wtedy zostaną uruchomione wszystkie kroki eskalacji. |
Różne eskalacje wystąpiły blisko siebie i nachodzą na siebie | Wykonanie każdej nowej eskalacji nadpisuje poprzednie eskalacje, ale przynajmniej jeden krok z poprzedniej eskalacji jest wykonywany. To zachowanie jest przydatne przy akcjach dotyczących zdarzeń, które są tworzone przy KAŻDYM wyliczeniu problemu w wyzwalaczu. |
Akcja została wyłączona podczas trwania eskalacji (np podczas wysyłania wiadomości) | Wysyłana wiadomość zostanie wysłana, a zaraz po niej wysłana zostanie jeszcze jedna wiadomość eskalacji. Druga wiadomość będzie miała następujący tekst na początku: NOTE: Escalation cancelled: action '<Nazwa akcji>' disabled. Dzięki temu odbiorca zostanie poinformowany, że eskalacja została anulowana i nie będzie wykonanych więcej kroków. |
Wysyłanie powtarzającego się powiadomienia raz na 30 minut (ogółem 5 razy) do grupy 'MySQL Administrators'. Żeby skonfigurować:
Wiadomości wysłane zostaną w 0:00, 0:30, 1:00, 1:30, 2:00 godzinie po wystąpieniu problemu (chyba, że problem zostanie rozwiązany wcześniej).
Jeżeli problem zostanie rozwiązany i skonfigurowano wiadomość odzyskania, zostanie ona wysłana do wszystkich, którzy odebrali przynajmniej jedną wiadomość ze scenariusza eskalacji.
Jeżeli wyzwalacz, który wygenerował aktywną eskalację zostanie wyłączony, Zabbix wyśle wiadomość informującą o tym do wszystkich, którzy otrzymali już powiadomienia.
Wysyłanie opóźnionych powiadomień o długo występującym problemie. Żeby skonfigurować:
Powiadomienie zostanie wysłane jedynie w Kroku 2 scenariusza eskalacji, lub 10 godzin po wystąpieniu problemu.
Można zmienić tekst wiadomości na przykład tak: 'Problem trwa od 10 godzin'.
Eskalacja problemu do Szefa.
W pierwszym przykładzie powyżej skonfigurowaliśmy okresowe wysyłanie wiadomości do administratorów MySQL. W tym przypadku, administratorzy otrzymają cztery wiadomości, a następnie problem będzie eskalowany do menadżera baz danych. Należy zauważyć, że menadżer otrzyma wiadomość jedynie wtedy, gdy problem nie zostanie jeszcze potwierdzony, przypuszczalnie nikt nad nim nie pracuje.
Zauważmy, że w wiadomości użyto makra {ESC.HISTORY}. Makro będzie zawierało informacje o wszystkich poprzednio wykonanych krokach tej eskalacji, takich jak wysłane wiadomości czy wykonane polecenia.
Bardziej skomplikowany scenariusz. Po kilku wiadomościach do administratorów MySQL i eskalacji do menadżera, Zabbix spróbuje zrestartować bazę danych MySQL. Nastąpi to, jeżeli problem istnieje od 2:30 godzin i nie został potwierdzony.
Jeżeli problem nadal istnieje, po kolejnych 30 minutach Zabbix wyśle wiadomość do wszystkich użytkowników gości.
Jeżeli to nie pomoże, po kolejnej godzinie Zabbix zrestartuje serwer z bazą danych MySQL (drugie zdalne polecenie) używając poleceń IPMI.
Eskalacja z kilkoma operacjami przydzielonymi do jednego kroku i z własnymi interwałami. Domyślnie czas trwania kroku to 30 minut.
Powiadomienia będą wysyłane następująco: