[comment]: # ({29480506-29480506})
# 1 Konfigurowanie wyzwalacza

[comment]: # ({/29480506-29480506})

[comment]: # ({84bca7a2-ea19cfe1})
#### Przegląd

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

Zobacz także [ogólne informacje](/manual/config/triggers) o wyzwalaczach i
czasie ich obliczania.

[comment]: # ({/84bca7a2-ea19cfe1})

[comment]: # ({d8575635-f29d794b})
#### Konfiguracja

Karta **Wyzwalacz** zawiera wszystkie podstawowe atrybuty wyzwalacza.

![](../../../../assets/en/manual/config/triggers/trigger.png){width="600"}

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

|Parameter|Description|
|--|--------|
|*Name*|Nazwa wyzwalacza.<br>Obsługiwane [makra](/manual/appendix/macros/supported_by_location) 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}.<br>Makra **$1, $2...$9** można użyć do odwołania się do pierwszej, drugiej... dziewiątej stałej wyrażenia.<br>*Uwaga*: makra $1-$9 zostaną poprawnie rozwinięte, jeśli odnoszą się do stałych w stosunkowo prostych, jednoznacznych 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.<br>Nazwa zdarzenia może być używana do tworzenia czytelnych alertów zawierających dane problemu (zobacz [przykład](/manual/config/triggers/expression#example-18)).<br>Obsługiwany jest ten sam zestaw makr co w nazwie wyzwalacza, a także makra wyrażenia {TIME}, {TIMESTAMP} i {?EXPRESSION}.|
|*Operational data*|Dane operacyjne umożliwiają definiowanie dowolnych ciągów znaków wraz z makrami. Makra będą dynamicznie rozwijane do danych w czasie rzeczywistym w *Monitoring* > *[Problems](/manual/web_interface/frontend_sections/monitoring/problems)*. Podczas gdy makra w nazwie wyzwalacza (zobacz 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ść wyświetlania najnowszych informacji dynamicznie. Jeśli na poziomie wyzwalacza nie skonfigurowano danych operacyjnych, zostaną wyświetlone najnowsze wartości wszystkich pozycji z wyrażenia.<br>Obsługiwany jest ten sam zestaw makr co w nazwie wyzwalacza.|
|*Severity*|Ustaw wymaganą [severity](severity) wyzwalacza, klikając przyciski.|
|*Expression*|Logiczne [wyrażenie](expression) używane do definiowania warunków problemu.<br>Obsługiwane są [sufiksy czasu](/manual/appendix/suffixes#time-suffixes) oraz [sufiksy rozmiaru pamięci](/manual/appendix/suffixes#memory-size-suffixes).<br>Problem jest tworzony po spełnieniu wszystkich warunków zawartych w wyrażeniu, tj. gdy wyrażenie przyjmuje wartość TRUE. Problem zostanie rozwiązany, gdy tylko wyrażenie przyjmie wartość FALSE, chyba że w *Recovery expression* zostaną określone dodatkowe warunki odzyskiwania.|
|*OK event generation*|Opcje generowania zdarzeń OK:<br>**Expression** - zdarzenia OK są generowane na podstawie tego samego wyrażenia co zdarzenia problemu;<br>**Recovery expression** - zdarzenia OK są generowane, jeśli wyrażenie problemu przyjmuje wartość FALSE, a wyrażenie odzyskiwania przyjmuje wartość TRUE;<br>**None** - w tym przypadku wyzwalacz nigdy sam nie powróci do stanu OK.|
|*Recovery expression*|Logiczne [wyrażenie](expression) (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.<br>Wyrażenie odzyskiwania jest przydatne dla [histerezy](/manual/config/triggers/expression#hysteresis) wyzwalacza. Nie jest **możliwe** rozwiązanie problemu wyłącznie przez wyrażenie odzyskiwania, jeśli wyrażenie problemu nadal ma wartość TRUE.<br>To pole jest dostępne tylko wtedy, gdy dla *OK event generation* wybrano opcję 'Recovery expression'.|
|*PROBLEM event generation mode*|Tryb generowania zdarzeń problemu:<br>**Single** - pojedyncze zdarzenie jest generowane, gdy wyzwalacz po raz pierwszy przejdzie w stan 'Problem';<br>**Multiple** - zdarzenie jest generowane przy *każdej* ocenie wyzwalacza jako 'Problem'.|
|*OK event closes*|Wybierz, czy zdarzenie OK zamyka:<br>**All problems** - wszystkie problemy tego wyzwalacza;<br>**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ń.<br>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](/manual/config/events/manual_close) zdarzeń problemu generowanych przez ten wyzwalacz. Ręczne zamykanie jest możliwe podczas potwierdzania zdarzeń problemu.|
|*Menu entry name*|Jeśli pole 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*.<br>Obsługiwany jest ten sam zestaw makr co w nazwie wyzwalacza, a także {EVENT.ID}, {HOST.ID} i {TRIGGER.ID}.|
|*Menu entry URL*|Jeśli pole nie jest puste, wpisany tutaj adres URL (do 2048 znaków) jest dostępny jako link w [menu zdarzeń](/manual/web_interface/menu/event_menu) w kilku miejscach frontend, na przykład po kliknięciu nazwy problemu w widżecie *Monitoring > [Problems](/manual/web_interface/frontend_sections/monitoring/problems)* lub *[Problems](/manual/web_interface/frontend_sections/dashboards/widgets/problems#using-the-widget)*.<br>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 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.<br>Obsługiwany jest ten sam zestaw makr co w nazwie wyzwalacza.|
|*Enabled*|Odznaczenie tego pola spowoduje wyłączenie wyzwalacza, jeśli jest to wymagane.<br>Problemy wyłączonego wyzwalacza nie są już wyświetlane we frontend, ale nie są usuwane.|

Karta **Tags** umożliwia definiowanie [tagów](/manual/config/tagging) na poziomie wyzwalacza. Wszystkie problemy tego wyzwalacza będą oznaczone wartościami wprowadzonymi tutaj.

![](../../../../assets/en/manual/config/triggers/trigger_b.png){width="600"}

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 wiele 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.<br>Tagi są parą nazwy tagu i wartości. Można 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.<br>Makra użytkownika, makra użytkownika z kontekstem, makra niskopoziomowego wykrywania oraz funkcje makr [functions](/manual/config/macros/macro_functions) z `{{ITEM.VALUE}}`, `{{ITEM.LASTVALUE}}` są obsługiwane w tagach zdarzeń. Makra niskopoziomowego wykrywania mogą być używane wewnątrz kontekstu makra.<br>Makro {TRIGGER.ID} jest 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.<br>Jeśli łączna długość rozwiniętej wartości przekroczy 255, zostanie ona skrócona do 255 znaków.<br>Zobacz wszystkie [makra](/manual/config/tagging#macro-support) obsługiwane dla tagów zdarzeń.<br>[Tagi zdarzeń](/manual/config/tagging) mogą być używane do korelacji zdarzeń, w warunkach akcji, a także będą widoczne w *Monitoring* > *Problems* lub w widżecie *Problems*.|

Karta **Dependencies** zawiera wszystkie [zależności](dependencies)
wyzwalacza.

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

::: noteclassic
Możesz także skonfigurować wyzwalacz, otwierając istniejący,
klikając przycisk *Clone*, a następnie zapisując go pod inną
nazwą.
:::

[comment]: # ({/d8575635-f29d794b})

[comment]: # ({dbfe2e70-dbfe2e70})
#### Testowanie wyrażeń

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

Poniższe wyrażenie z oficjalnego szablonu zostało użyte jako przykład:

    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.

![](../../../../assets/en/manual/config/triggers/trigger_test.png)

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

![](../../../../assets/en/manual/config/triggers/expr_test_button.png){width="600"}

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

![](../../../../assets/en/manual/config/triggers/expr_test.png){width="600"}

Widoczny jest 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, "80" jest większe 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.

[comment]: # ({/dbfe2e70-dbfe2e70})
