Zabbix. Wyzwalacz czyli Trigger.
Item jedynie kolekcjonuje dane i przekazuje je do bazy danych. Jednak aby Zabbix zareagował na zbierane dane musi być ustawiony tak zwany Wyzwalacz (z angielskiego Trigger). Wyzwalacz tworzy informacje o zmianie stanu pozycji (itema) według naszych kryteriów. Na przykład może to być temperatura procesora, która przekroczyła próg 90 stopni Celsjusza.
Aby zobaczyć dostępne wyzwalacze przejdź do Configuration/Hosts i kliknij w Triggers na wybranym hoście. Zobaczysz listę dostępnych już wyzwalaczy, warto je przejrzeć by zobaczyć jak są skonstruowane. Utwórzmy teraz dla nas nowy Wyzwalacz – w prawym górnym rogu kliknij przycisk “Create trigger”. Do wypełnienia jest prosty formularz.
Name – nazwa wyzwalacza powinna opisywać sytuację nową, która zaistniała, na przykład: rozmiar pliku przekroczył 10 GB.
Expression – wyrażenie dla Zabbixa, które mówi mu co musi się zadziać, aby wyzwalacz został wywołany. Kliknij przycisk “Add” aby łatwiej stworzyć poprawnie wyrażenie dla wyzwalacza. Pojawi się nowe okienko w którym wybierz Item, na podstawie którego ma reagować Wyzwalacz. Ustaw warunek logiczny dla wywołania wyzwalacza i zamknij okienko przyciskiem Insert.
Severity – ustaw poziom (ważność) zmiany stanu dla danego wyzwalacza czyli jak poważna sytuacja wystąpiła. Im krytyczniejsza dla ciągłości usług, tym poziom powinien być wyższy. Jednak pamiętaj, aby nie ustawić niepotrzebnie przesadnie wysokiego poziomu, ponieważ wtedy zaczniemy je ignorować, gdy w efekcie blachy problem będzie podnosi wysoki alert. Na koniec zatwierdź cały formularz dodawania triggera przyciskiem Add na samym dole strony.
Wrócisz do listy wszystkich wyzwalaczy, upewnij się że nowo utworzony wyzwalacz pojawili się tam. Przejdź do panelu Dashboard, popatrz na widżet Problems i przetestuj czy nowy trigger działa celowo wywołując sytuacje, w której powinno nastąpić odpalenie wyzwalacz. Warto taki test zrobić po utworzeniu każdego nowego wyzwalacza w kontrolowany sposób, by mieć pewność że dobrze został skonfigurowany i odpowiednio nas powiadomi o zaistniałym problemie.
Podsumowując. Pozycja (item) mówi zabiksowy jaki konkretny element ma obserwować. Natomiast wyzwalacz (trigger) mówi zabiksowy kiedy i jaki ma wyświetlić komunikat/alert dotyczący tejże pozycji.
W Monitoring/Overview zobaczysz stan wszystkich wyzwalaczy. Zielony kwadrat oznacza że trigger nie został odpalony (nie występuje żaden problem). Żółty ze wyzwalacz jest aktywny – coś się dzieje. Naciśnij PPM na wybrany trigger aby zobaczyć dostępne opcje jak historia, zatwierdzenie błędu czy podejrzeć wykres historii.
No dobrze, a co w sytuacji kiedy jeden problem powoduje fale odpalenia wielu triggerów? Może się to zdarzyć kiedy niedostępność switcha powoduje, że dostaniemy krytyczne błędy o braku dostępności wszystkich urządzeń, serwerów doń podłączonych.
W tej sytuacji może pomóc nam opcja zależności wyzwalacza Trigger dependencies. Zaznacz triggery, które są zależne i wybierz mass update z listy na dole i dalej Replace depencieces. Add i wybierz trigger od którego zależą pozostałe. Jeśli wszystko dobrze ustawiłeś to teraz przy powstaniu problemu tylko jeden trigger powinien być wyzwolony a obok jego nazwy pojawi się strzałka symbolizująca inne zależne triggery.
Ważne jest żeby trigger od którego zależy inne, został wyzwolony pierwszy. Dlatego najlepiej zależne triggery ustawić tak by odpalały się z czasowym opóźnieniem, względem tego pierwszego.
Zachęcam do samodzielnego poeksperymentowania z wyzwalaczami. Modyfikowania już istniejących czy dodawania własnych nowych. Ponieważ triggery są podstawą powiadamiania o występujących problemach w monitorowanych zasobach.