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:
- Wykrywanie problemów za pomocą wyzwalaczy (ogólne wprowadzenie)
- Przykłady wyzwalaczy (według przypadku użycia)
- Wyrażenie wyzwalacza (szczegóły składni)
- Najlepsze praktyki
Konfiguracja
Aby skonfigurować wyzwalacz, wykonaj następujące czynności:
- Przejdź do: Data collection > Hosts
- Kliknij Triggers w wierszu hosta
- Kliknij Create trigger po prawej stronie (lub nazwę wyzwalacza, aby edytować istniejący wyzwalacz)
- Wprowadź parametry wyzwalacza w formularzu
Karta Trigger 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 można używać 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, nieskomplikowanych wyrażeniach. Na przykład nazwa "Processor load above $1 on {HOST.NAME}" zostanie automatycznie zmieniona na "Processor load above 5 on New host", jeśli wyrażenie ma postać last(/New host/system.cpu.load[percpu,avg1])>5. |
| Event name | Jeśli zostanie zdefiniowana, ta nazwa będzie używana do tworzenia nazwy zdarzenia problemu. Domyślnie nazwa zdarzenia jest taka sama jak nazwa wyzwalacza. Nazwa zdarzenia może służyć do tworzenia czytelnych alertów zawierających dane o problemie (zobacz przykład). Obsługiwany jest ten sam zestaw makr co w nazwie wyzwalacza, a dodatkowo makra wyrażenia {TIME}, {TIMESTAMP} oraz {?EXPRESSION}. |
| Operational data | Dane operacyjne pozwalają zdefiniować dowolne ciągi znaków wraz z makrami. Makra zostaną dynamicznie rozwinięte do danych w czasie rzeczywistym w Monitoring > Problems. O ile 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 wymaganą severity 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, tzn. gdy wyrażenie przyjmuje wartość TRUE. Problem zostanie rozwiązany, gdy tylko wyrażenie przyjmie wartość FALSE, chyba że dodatkowe warunki odzyskiwania zostaną określone w Recovery expression. |
| 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 przyjmuje wartość FALSE, a wyrażenie odzyskiwania przyjmuje wartość TRUE; None - w tym przypadku wyzwalacz nigdy sam 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 przez wyrażenie odzyskiwania, jeśli wyrażenie problemu nadal ma wartość TRUE. To pole jest dostępne tylko wtedy, gdy dla OK event generation wybrano opcję 'Recovery expression'. |
| PROBLEM event generation mode | Tryb generowania zdarzeń problemu: Single - pojedyncze zdarzenie jest generowane, gdy wyzwalacz po raz pierwszy przechodzi w stan 'Problem'; Multiple - zdarzenie jest generowane przy każdej ocenie wyzwalacza jako 'Problem'. |
| OK event closes | Wybierz, czy zdarzenie OK zamyka: 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, która ma być używana 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, wpisana 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, a dodatkowo {EVENT.ID}, {HOST.ID} oraz {TRIGGER.ID}. |
| Menu entry URL | Jeśli nie jest puste, wpisany tutaj 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 widżecie pulpitu Monitoring > Problems lub Problems. Obsługiwany jest ten sam zestaw makr co w nazwie wyzwalacza, a dodatkowo {EVENT.ID}, {HOST.ID} oraz {TRIGGER.ID}. Uwaga: makra użytkownika z wartościami tajnymi nie zostaną rozwinięte w adresie URL. |
| Description | Pole tekstowe służące do podania dodatkowych informacji o tym wyzwalaczu. Może zawierać instrukcje dotyczące naprawy konkretnego problemu, dane kontaktowe odpowiedzialnego personelu itp. Obsługiwany jest ten sam zestaw makr co w nazwie wyzwalacza. |
| Enabled | Odznaczenie tego pola spowoduje wyłączenie wyzwalacza, jeśli jest to wymagane. Problemy wyłączonego wyzwalacza nie są już wyświetlane w frontend, ale nie są usuwane. |
Karta Tags umożliwia zdefiniowanie tagów na poziomie wyzwalacza. Wszystkie problemy tego wyzwalacza będą oznaczone wartościami wprowadzonymi tutaj.

Dodatkowo opcja Inherited and trigger tags umożliwia wyświetlanie tagów zdefiniowanych na poziomie szablonu, jeśli wyzwalacz pochodzi z tego szablonu. Jeśli istnieje kilka szablonów z tym samym tagiem, tagi te są wyświetlane tylko raz, a nazwy szablonów są oddzielone przecinkami. Wyzwalacz nie "dziedziczy" i nie wyświetla tagów na poziomie hosta.
| Parameter | Description |
|---|---|
| Name/Value | Ustaw niestandardowe tagi do oznaczania zdarzeń wyzwalacza. Tagi są parą nazwy i wartości tagu. Możesz użyć tylko nazwy albo połączyć ją z wartością. Wyzwalacz może mieć kilka tagów o tej samej nazwie, ale różnych wartościach. Makra użytkownika, makra użytkownika z kontekstem, makra niskopoziomowego wykrywania oraz funkcje makr functions z {{ITEM.VALUE}}, {{ITEM.LASTVALUE}} są obsługiwane w tagach zdarzeń. Makra niskopoziomowego wykrywania mogą być używane wewnątrz kontekstu makra.Makra {TRIGGER.ID} są obsługiwane w wartościach tagów wyzwalacza. Może to być przydatne do identyfikowania wyzwalaczy utworzonych na podstawie prototypów wyzwalaczy i na przykład do wstrzymywania problemów z tych wyzwalaczy podczas konserwacji. Jeśli łączna długość rozwiniętej wartości przekroczy 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 i będą również widoczne w Monitoring > Problems lub w widżecie Problems. |
Karta Dependencies zawiera wszystkie zależności wyzwalacza.
Kliknij Add, aby dodać nową zależność.
Wyzwalacz można również skonfigurować, otwierając istniejący, klikając przycisk Clone, 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 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 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 TRUE. Oznacza to, że bieżąca wartość przekracza wartość ostrzegawczą i wystąpił problem.