Konfigurowanie wyzwalacza
Ta strona opisuje, jak skonfigurować wyzwalacz we frontend Zabbix.
Należy pamiętać, że oficjalne szablony Zabbix zawierają predefiniowane wyzwalacze.
Zobacz przewodnik dotyczący zastosowania szablonu do monitorowania systemu Linux.
Możliwe jest również masowe aktualizowanie skonfigurowanych wyzwalaczy.
Inne materiały:
- Wykrywanie problemów za pomocą wyzwalaczy (ogólne wprowadzenie)
- Przykłady wyzwalaczy (według zastosowania)
- Wyrażenie wyzwalacza i funkcje (szczegóły składni)
- Najlepsze praktyki
Konfiguracja
Aby skonfigurować wyzwalacz:
- Przejdź do sekcji Gromadzenie danych > Hosty.
- Kliknij Wyzwalacze w wierszu hosta.
- Kliknij po prawej stronie przycisk Utwórz wyzwalacz (lub nazwę wyzwalacza, aby edytować istniejący wyzwalacz).
- Wprowadź parametry wyzwalacza w formularzu.
Karta Wyzwalacz zawiera wszystkie podstawowe atrybuty wyzwalacza.

Wszystkie wymagane pola wejściowe są oznaczone czerwoną gwiazdką.
| Parametr | Opis |
|---|---|
| Nazwa | 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ą służyć do odwoływania się do pierwszej, drugiej... dziewiątej stałej wyrażenia. Uwaga: Makra $1-$9 zostaną poprawnie rozwinięte, jeśli odwołują się do stałych w stosunkowo prostych i przejrzystych wyrażeniach. Na przykład nazwa „Obciążenie procesora powyżej $1 na {HOST.NAME}” zmieni się automatycznie 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. |
| Nazwa zdarzenia | Jeśli zostanie zdefiniowana, nazwa ta będzie używana do utworzenia nazwy zdarzenia problemu. Domyślnie nazwa zdarzenia jest taka sama jak nazwa wyzwalacza. Nazwa zdarzenia może służyć do tworzenia znaczących alertów zawierających dane problemu (zobacz przykład). Obsługiwany jest ten sam zestaw makr co w nazwie wyzwalacza, a także makra wyrażeń {TIME}, {TIMESTAMP} i {?EXPRESSION}. |
| Dane operacyjne | Wprowadź tekst (do 2048 znaków) zawierający makra, aby wyświetlać dynamiczne dane w czasie rzeczywistym w sekcji Monitorowanie > Problemy. Możesz też pozostawić to pole puste, aby wyświetlać najnowsze wartości wszystkich pozycji z wyrażenia wyzwalacza. Obsługiwany jest ten sam zestaw makr co w nazwie wyzwalacza, z możliwością dynamicznego rozwijania. Na przykład: {ITEM.VALUE<1-9>} rozwija się do wartości pozycji w momencie zmiany stanu wyzwalacza (utworzenia, rozwiązania lub ręcznego zamknięcia problemu albo zamknięcia go przez korelację). {ITEM.LASTVALUE<1-9>} rozwija się do najnowszych wartości pozycji. Należy pamiętać, że ręczne zamknięcie problemu nie powoduje wygenerowania nowej wartości, dlatego oba makra nadal będą wyświetlać wartość z momentu wystąpienia problemu. Ponadto oba makra rozwijają się do UNKNOWN, jeśli najnowsza wartość jest starsza niż Maksymalny okres wyświetlania historii (zobacz Administracja > Ogólne). Funkcja makra jsonpath nie jest obsługiwana w frontend, dlatego w sekcji Monitorowanie > Problemy rozwija się do UNKNOWN; jest rozwijana tylko przez serwer Zabbix, na przykład gdy w powiadomieniach używane jest {EVENT.OPDATA}. |
| Ważność | Ustaw wymaganą ważność wyzwalacza, klikając przyciski. |
| Wyrażenie | Logiczne wyrażenie używane do definiowania warunków problemu. Obsługiwane są przyrostki czasu i przyrostki rozmiaru pamięci. Problem jest tworzony po spełnieniu wszystkich warunków zawartych w wyrażeniu, czyli gdy wyrażenie przyjmuje wartość TRUE. Problem zostanie rozwiązany, gdy tylko wyrażenie przyjmie wartość FALSE, chyba że w polu Wyrażenie rozwiązania określono dodatkowe warunki rozwiązania. |
| Generowanie zdarzeń OK | Opcje generowania zdarzeń OK: Wyrażenie - zdarzenia OK są generowane na podstawie tego samego wyrażenia co zdarzenia problemów; Wyrażenie rozwiązania - zdarzenia OK są generowane, jeśli wyrażenie problemu przyjmuje wartość FALSE, a wyrażenie rozwiązania przyjmuje wartość TRUE; Brak - w tym przypadku wyzwalacz nigdy samodzielnie nie powróci do stanu OK. |
| Wyrażenie rozwiązania | Logiczne wyrażenie (opcjonalne) definiujące dodatkowe warunki, które muszą zostać spełnione przed rozwiązaniem problemu, po wcześniejszym obliczeniu pierwotnego wyrażenia problemu jako FALSE. Wyrażenie rozwiązania jest przydatne w przypadku histerezy wyzwalacza. Nie można rozwiązać problemu wyłącznie za pomocą wyrażenia rozwiązania, jeśli wyrażenie problemu nadal ma wartość TRUE. To pole jest dostępne tylko wtedy, gdy dla opcji Generowanie zdarzeń OK wybrano „Wyrażenie rozwiązania”. |
| Tryb generowania zdarzeń PROBLEM | Tryb generowania zdarzeń problemów: Pojedyncze - pojedyncze zdarzenie jest generowane, gdy wyzwalacz po raz pierwszy przechodzi do stanu „Problem”; Wiele - zdarzenie jest generowane przy każdej ocenie wyzwalacza jako „Problem”. |
| Zamykanie zdarzeń OK | Wybierz, czy zdarzenie OK zamyka: Wszystkie problemy - wszystkie problemy tego wyzwalacza; Wszystkie problemy, jeśli wartości znaczników są zgodne - tylko problemy wyzwalacza z pasującymi wartościami znaczników zdarzeń. |
| Znacznik używany do dopasowania | Wprowadź nazwę znacznika zdarzenia używanego do korelacji zdarzeń. To pole jest wyświetlane, jeśli dla właściwości Zamykanie zdarzeń OK wybrano opcję „Wszystkie problemy, jeśli wartości znaczników są zgodne”, i w takim przypadku jest wymagane. |
| Zezwalaj na ręczne zamykanie | Zaznacz, aby zezwolić na ręczne zamykanie zdarzeń problemów generowanych przez ten wyzwalacz. Ręczne zamykanie jest możliwe podczas potwierdzania zdarzeń problemów. |
| Nazwa pozycji menu | Jeśli pole nie jest puste, wprowadzona nazwa (do 64 znaków) jest używana w kilku miejscach frontend jako etykieta adresu URL wyzwalacza określonego w parametrze Adres URL pozycji menu. Jeśli pole jest puste, używana jest domyślna nazwa Adres URL wyzwalacza. Obsługiwany jest ten sam zestaw makr co w nazwie wyzwalacza, a także {EVENT.ID}, {HOST.ID} i {TRIGGER.ID}. |
| Adres URL pozycji menu | Jeśli pole nie jest puste, wprowadzony adres URL (do 2048 znaków) jest dostępny jako łącze w menu zdarzeń w kilku miejscach frontend, na przykład po kliknięciu nazwy problemu w sekcji Monitorowanie > Problemy lub w widżecie pulpitu nawigacyjnego Problemy. Obsługiwany jest ten sam zestaw makr co w nazwie wyzwalacza, a także {EVENT.ID}, {HOST.ID} i {TRIGGER.ID}. Uwaga: makra użytkownika zawierające wartości poufne nie zostaną rozwinięte w adresie URL. |
| Opis | Pole tekstowe służące do podania dodatkowych informacji o tym wyzwalaczu. Może zawierać instrukcje dotyczące rozwiązania konkretnego problemu, dane kontaktowe odpowiedzialnych pracowników itp. Obsługiwany jest ten sam zestaw makr co w nazwie wyzwalacza. |
| Włączony | Odznaczenie tego pola wyłączy wyzwalacz, jeśli jest to wymagane. Problemy wyłączonego wyzwalacza nie są już wyświetlane w frontend, ale nie są usuwane. |
Karta Znaczniki umożliwia definiowanie znaczników na poziomie wyzwalacza.
Wszystkie problemy tego wyzwalacza zostaną oznaczone wprowadzonymi tutaj wartościami.

Ponadto opcja Odziedziczone znaczniki i znaczniki wyzwalacza umożliwia wyświetlanie znaczników zdefiniowanych na poziomie szablonu, jeśli wyzwalacz pochodzi z tego szablonu. Jeśli istnieje wiele szablonów z takim samym znacznikiem, znaczniki te są wyświetlane raz, a nazwy szablonów są oddzielone przecinkami. Wyzwalacz nie „dziedziczy” ani nie wyświetla znaczników na poziomie hosta.
| Parametr | Opis |
|---|---|
| Nazwa/Wartość | Ustaw niestandardowe znaczniki do oznaczania zdarzeń wyzwalacza. Znaczniki są parą nazwy i wartości znacznika. Możesz użyć samej nazwy albo połączyć ją z wartością. Wyzwalacz może mieć kilka znaczników o tej samej nazwie, ale z różnymi wartościami. W znacznikach 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 znaczników wyzwalacza. Może być przydatne do identyfikowania wyzwalaczy utworzonych na podstawie prototypów wyzwalaczy i na przykład do pomijania problemów z tych wyzwalaczy podczas konserwacji. Jeśli całkowita długość rozwiniętej wartości przekroczy 255 znaków, zostanie ona skrócona do 255 znaków. Zobacz wszystkie makra obsługiwane w znacznikach zdarzeń. Znaczniki zdarzeń mogą być używane do korelacji zdarzeń i w warunkach działań, a także będą widoczne w sekcji 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 wyzwalacz, klikając przycisk Klonuj, a następnie zapisując go pod inną nazwą.
Testowanie wyrażenia wyzwalacza
Możliwe jest sprawdzenie, jaki byłby wynik wyrażenia w zależności od otrzymanej wartości.
Jako przykład przyjęto 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 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ń, a także całego wyrażenia.
"TRUE" oznacza, że określone wyrażenie jest poprawne. 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 niepoprawne. W tym konkretnym przypadku B {$TEMP_WARN_STATUS} "1" musi być równe 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 TRUE. Oznacza to, że bieżąca wartość przekracza wartość ostrzegawczą i wystąpił problem.