2 Konfigurowanie wyzwalacza

Ta strona opisuje, jak skonfigurować wyzwalacz w frontendzie Zabbix.

Należy pamiętać, że oficjalne szablony Zabbix zawierają wstępnie zdefiniowane wyzwalacze. Zobacz przewodnik dotyczący stosowania szablonu do monitorowania systemu Linux. Możliwe jest również masowe aktualizowanie skonfigurowanych wyzwalaczy.

Inne materiały:

Konfiguracja

Aby skonfigurować wyzwalacz, wykonaj następujące czynności:

  • Przejdź do: Zbieranie danych > Hosty
  • Kliknij Wyzwalacze w wierszu hosta
  • Kliknij Utwórz wyzwalacz po prawej stronie (lub nazwę wyzwalacza, aby edytować istniejący wyzwalacz)
  • Wprowadź parametry wyzwalacza w formularzu

Karta Wyzwalacz zawiera wszystkie podstawowe atrybuty wyzwalacza.

Wszystkie obowiązkowe pola wejściowe są oznaczone czerwoną gwiazdką.

Parameter Description
Name Nazwa wyzwalacza.
Obsługiwane makra to: {HOST.HOST}, {HOST.NAME}, {HOST.PORT}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {ITEM.VALUE}, {ITEM.VALUE.AGE}, {ITEM.VALUE.DATE}, {ITEM.VALUE.TIME}, {ITEM.VALUE.TIMESTAMP}, {ITEM.LASTVALUE}, {ITEM.LASTVALUE.AGE}, {ITEM.LASTVALUE.DATE}, {ITEM.LASTVALUE.TIME}, {ITEM.LASTVALUE.TIMESTAMP}, {ITEM.LOG.*} oraz makra użytkownika {$MACRO}.
Makra $1, $2...$9 mogą być używane do odwoływania się do pierwszej, drugiej... dziewiątej stałej wyrażenia.
Uwaga: makra $1-$9 zostaną poprawnie rozwinięte, jeśli odnoszą się do stałych w stosunkowo prostych, bezpośrednich wyrażeniach. Na przykład nazwa „Obciążenie procesora powyżej $1 na {HOST.NAME}” automatycznie zmieni się na „Obciążenie procesora powyżej 5 na New host”, jeśli wyrażenie ma postać last(/New host/system.cpu.load[percpu,avg1])>5.
Event name Jeśli zdefiniowano, ta nazwa będzie używana do utworzenia nazwy zdarzenia problemu. Domyślnie nazwa zdarzenia jest taka sama jak nazwa wyzwalacza.
Nazwa zdarzenia może być używana do tworzenia znaczących alertów zawierających dane problemu (zobacz przykład).
Obsługiwany jest ten sam zestaw makr co w nazwie wyzwalacza, dodatkowo {TIME}, {TIMESTAMP} oraz makra wyrażeń {?EXPRESSION}.
Operational data Dane operacyjne pozwalają definiować dowolne ciągi znaków wraz z makrami. Makra będą dynamicznie rozwijane do danych czasu rzeczywistego w Monitorowanie > Problemy. Podczas gdy makra w nazwie wyzwalacza (patrz wyżej) zostaną rozwinięte do swoich wartości w momencie wystąpienia problemu i staną się podstawą statycznej nazwy problemu, makra w danych operacyjnych zachowują możliwość dynamicznego wyświetlania najnowszych informacji. Jeśli na poziomie wyzwalacza nie skonfigurowano danych operacyjnych, zostaną wyświetlone najnowsze wartości wszystkich pozycji z wyrażenia.
Obsługiwany jest ten sam zestaw makr co w nazwie wyzwalacza.
Severity Ustaw wymagany poziom ważności wyzwalacza, klikając przyciski.
Expression Logiczne wyrażenie używane do definiowania warunków problemu.
Obsługiwane są sufiksy czasu oraz sufiksy rozmiaru pamięci.
Problem jest tworzony po spełnieniu wszystkich warunków zawartych w wyrażeniu, tj. gdy wyrażenie przyjmie wartość TRUE. Problem zostanie rozwiązany, gdy tylko wyrażenie przyjmie wartość FALSE, chyba że w Wyrażeniu odzyskiwania określono dodatkowe warunki odzyskiwania.
OK event generation Opcje generowania zdarzeń OK:
Expression - zdarzenia OK są generowane na podstawie tego samego wyrażenia co zdarzenia problemu;
Recovery expression - zdarzenia OK są generowane, jeśli wyrażenie problemu przyjmie wartość FALSE, a wyrażenie odzyskiwania przyjmie wartość TRUE;
None - w takim przypadku wyzwalacz nigdy samodzielnie nie powróci do stanu OK.
Recovery expression Logiczne wyrażenie (opcjonalne) definiujące dodatkowe warunki, które muszą zostać spełnione, zanim problem zostanie rozwiązany, po tym jak pierwotne wyrażenie problemu zostało już ocenione jako FALSE.
Wyrażenie odzyskiwania jest przydatne w przypadku histerezy wyzwalacza. Nie jest możliwe rozwiązanie problemu wyłącznie za pomocą wyrażenia odzyskiwania, jeśli wyrażenie problemu nadal ma wartość TRUE.
To pole jest dostępne tylko wtedy, gdy dla Generowania zdarzeń OK wybrano opcję „Recovery expression”.
PROBLEM event generation mode Tryb generowania zdarzeń problemu:
Single - pojedyncze zdarzenie jest generowane, gdy wyzwalacz po raz pierwszy przejdzie do stanu „Problem”;
Multiple - zdarzenie jest generowane przy każdej ocenie wyzwalacza jako „Problem”.
OK event closes Wybierz, co zamyka zdarzenie OK:
All problems - wszystkie problemy tego wyzwalacza;
All problems if tag values match - tylko te problemy wyzwalacza, których wartości tagów zdarzeń są zgodne.
Tag for matching Wprowadź nazwę tagu zdarzenia używaną do korelacji zdarzeń.
To pole jest wyświetlane, jeśli dla właściwości OK event closes wybrano opcję „All problems if tag values match”, i w takim przypadku jest obowiązkowe.
Allow manual close Zaznacz, aby zezwolić na ręczne zamykanie zdarzeń problemu generowanych przez ten wyzwalacz. Ręczne zamykanie jest możliwe podczas potwierdzania zdarzeń problemu.
Menu entry name Jeśli nie jest puste, wprowadzona tutaj nazwa (do 64 znaków) jest używana w kilku miejscach frontend jako etykieta dla adresu URL wyzwalacza określonego w parametrze Menu entry URL. Jeśli pole jest puste, używana jest domyślna nazwa Trigger URL.
Obsługiwany jest ten sam zestaw makr co w nazwie wyzwalacza, dodatkowo {EVENT.ID}, {HOST.ID} oraz {TRIGGER.ID}.
Menu entry URL Jeśli nie jest puste, wprowadzony tutaj adres URL (do 2048 znaków) jest dostępny jako odnośnik w menu zdarzenia w kilku miejscach frontend, na przykład po kliknięciu nazwy problemu w Monitorowanie > Problemy lub w widżecie pulpitu Problemy.
Obsługiwany jest ten sam zestaw makr co w nazwie wyzwalacza, dodatkowo {EVENT.ID}, {HOST.ID} oraz {TRIGGER.ID}. Uwaga: makra użytkownika z tajnymi wartościami nie będą rozwijane w adresie URL.
Description Pole tekstowe używane do podania dodatkowych informacji o tym wyzwalaczu. Może zawierać instrukcje dotyczące rozwiązania konkretnego problemu, dane kontaktowe odpowiedzialnego personelu itp.
Obsługiwany jest ten sam zestaw makr co w nazwie wyzwalacza.
Enabled Odznaczenie tego pola wyłączy wyzwalacz, jeśli będzie to wymagane.
Problemy wyłączonego wyzwalacza nie są już wyświetlane w frontend, ale nie są usuwane.

Karta Tagi umożliwia definiowanie tagów na poziomie wyzwalacza. Wszystkie problemy tego wyzwalacza zostaną oznaczone wartościami wprowadzonymi tutaj.

Dodatkowo opcja Inherited and trigger tags umożliwia wyświetlenie tagów zdefiniowanych na poziomie szablonu, jeśli wyzwalacz pochodzi z tego szablonu. Jeśli istnieje wiele szablonów z tym samym tagiem, tagi te są wyświetlane jednokrotnie, a nazwy szablonów są oddzielone przecinkami. Wyzwalacz nie „dziedziczy” ani nie wyświetla tagów na poziomie hosta.

Parameter Description
Name/Value Ustaw własne tagi do oznaczania zdarzeń wyzwalacza.
Tagi są parą nazwy tagu i wartości. Możesz użyć samej nazwy lub połączyć ją z wartością. Wyzwalacz może mieć kilka tagów o tej samej nazwie, ale różnych wartościach.
W tagach zdarzeń obsługiwane są makra użytkownika, makra użytkownika z kontekstem, makra wykrywania niskopoziomowego oraz funkcje makr z {{ITEM.VALUE}}, {{ITEM.LASTVALUE}}. Makra wykrywania niskopoziomowego mogą być używane wewnątrz kontekstu makra.
Makro {TRIGGER.ID} jest obsługiwane w wartościach tagów wyzwalacza. Może być przydatne do identyfikowania wyzwalaczy utworzonych z prototypów wyzwalaczy i na przykład do tłumienia problemów z tych wyzwalaczy podczas konserwacji.
Jeśli całkowita długość rozwiniętej wartości przekracza 255, zostanie ona obcięta do 255 znaków.
Zobacz wszystkie makra obsługiwane dla tagów zdarzeń.
Tagi zdarzeń mogą być używane do korelacji zdarzeń, w warunkach akcji, a także będą widoczne w Monitorowanie > Problemy lub w widżecie Problemy.

Karta Zależności zawiera wszystkie zależności wyzwalacza.

Kliknij Dodaj, aby dodać nową zależność.

Możesz również skonfigurować wyzwalacz, otwierając istniejący, naciskając przycisk Klonuj, a następnie zapisując go pod inną nazwą.

Testowanie wyrażenia wyzwalacza

Możliwe jest przetestowanie, jaki byłby wynik wyrażenia w zależności od otrzymanej wartości.

Jako przykład wykorzystano następujące wyrażenie z oficjalnego szablonu:

avg(/Cisco IOS SNMPv2/sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}],5m)>{$TEMP_WARN}
or
last(/Cisco IOS SNMPv2/sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}])={$TEMP_WARN_STATUS}

Aby przetestować wyrażenie, kliknij Expression constructor pod polem wyrażenia.

W oknie Expression constructor wyświetlane są wszystkie pojedyncze wyrażenia. Aby otworzyć okno testowania, kliknij Test pod listą wyrażeń.

W oknie testowania możesz wprowadzić przykładowe wartości („80”, „70”, „0”, „1” w tym przykładzie), a następnie sprawdzić wynik wyrażenia, klikając przycisk Test.

Można zobaczyć wynik poszczególnych wyrażeń, jak również całego wyrażenia.

„TRUE” oznacza, że określone wyrażenie jest prawdziwe. W tym konkretnym przypadku A wartość „80” jest większa niż określona wartość {$TEMP_WARN}, czyli „70” w tym przykładzie. Zgodnie z oczekiwaniami pojawia się wynik „TRUE”.

„FALSE” oznacza, że określone wyrażenie jest fałszywe. W tym konkretnym przypadku B wartość {$TEMP_WARN_STATUS} „1” musi być równa określonej wartości, czyli „0” w tym przykładzie. Zgodnie z oczekiwaniami pojawia się wynik „FALSE”.

Wybrany typ wyrażenia to „OR”. Jeśli co najmniej jeden z określonych warunków (w tym przypadku A lub B) ma wartość TRUE, wynik końcowy również będzie miał wartość TRUE. Oznacza to, że bieżąca wartość przekracza wartość ostrzegawczą i wystąpił problem.