[comment]: # translation:outdated

[comment]: # ({e02835c7-e02835c7})
# 3 Triggers

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

[comment]: # ({38df9f3c-d4a1b8b6})
#### Overzicht

Triggers zijn logische expressies die de verzamelde gegevens van items "evalueren" en de huidige status van het systeem weergeven.

Terwijl items worden gebruikt om systeemgegevens te verzamelen, is het zeer onpraktisch om deze gegevens voortdurend te volgen en te wachten op een alarmerende of aandachtsvereiste voorwaarde. Het "evalueren" van gegevens kan worden overgelaten aan triggervoorwaarden.

Triggervoorwaarden maken het mogelijk om een drempelwaarde te definiëren voor de "acceptabele" staat van de gegevens. Daarom, als de binnenkomende gegevens de acceptabele staat overschrijden, wordt een trigger "afgevuurd" - of verandert zijn status naar PROBLEEM.

Een trigger kan de volgende status hebben:

|Status|Omschrijving|
|-----|-----------|
|OK|Dit is een normale triggertoestand.|
|Probleem|Er is iets gebeurd. Bijvoorbeeld, de processorbelasting is te hoog.|
|Onbekend|De triggerwaarde kan niet worden berekend. Zie [Onbekende status](#onbekende-status).|

In een eenvoudige trigger willen we mogelijk een drempelwaarde instellen voor het vijf-minuten gemiddelde van enkele gegevens, bijvoorbeeld de CPU-belasting. Dit wordt bereikt door een triggervoorwaarde te definiëren waarin:

-   de functie 'avg' wordt toegepast op de waarde die wordt ontvangen in de item-sleutel
-   een periode van vijf minuten voor evaluatie wordt gebruikt
-   een drempelwaarde van '2' wordt ingesteld

```
    avg(/host/sleutel,5m)>2
```

Deze trigger zal "afgevuurd" worden (PROBLEEM worden) als het vijf-minuten gemiddelde *boven* 2 is.

In een complexere trigger kan de expressie een **combinatie** van meerdere functies en meerdere drempelwaarden bevatten. Zie ook: [Triggervoorwaarde](/manual/config/triggers/expression).

[comment]: # ({/38df9f3c-d4a1b8b6})

[comment]: # ({5c11d08c-7c263ca6})
::: notitietip
Nadat een trigger is ingeschakeld (door de configuratiestatus te wijzigen van *Uitgeschakeld* naar *Ingeschakeld*), wordt de triggeruitdrukking direct geëvalueerd zodra een item erin een waarde ontvangt of wanneer de tijd is aangebroken om een op tijd gebaseerde functie te verwerken.
:::

[comment]: # ({/5c11d08c-7c263ca6})

[comment]: # ({4d0d2ac7-a45a4e79})
De meeste triggerfuncties worden geëvalueerd op basis van itemwaarde [geschiedenis](/manual/config/items/history_and_trends)-gegevens, terwijl sommige triggerfuncties voor langetermijnanalyse, zoals **trendavg()**, **trendcount()**, enzovoort, trendgegevens gebruiken.

[comment]: # ({/4d0d2ac7-a45a4e79})

[comment]: # ({87596066-6781ee38})
Berekeningstijd

Een trigger wordt elke keer opnieuw berekend wanneer de Zabbix-server een nieuwe waarde ontvangt die deel uitmaakt van de expressie. Wanneer een nieuwe waarde wordt ontvangen, wordt elke functie die in de expressie is opgenomen opnieuw berekend (niet alleen degene die de nieuwe waarde heeft ontvangen).

Bovendien wordt een trigger opnieuw berekend telkens wanneer een nieuwe waarde wordt ontvangen **en** elke 30 seconden als er tijdsafhankelijke functies in de expressie worden gebruikt.

Tijdsafhankelijke functies zijn **nodata()**, **date()**, **dayofmonth()**, **dayofweek()**, **time()**, **now()**; ze worden elke 30 seconden opnieuw berekend door het Zabbix-geschiedenissynchronisatieproces.

Triggers die alleen verwijzen naar trendfuncties worden eenmaal per de kleinste tijdsperiode in de expressie geëvalueerd. Zie ook [trendfuncties](/manual/appendix/functions/trends).

[comment]: # ({/87596066-6781ee38})

[comment]: # ({1fa7644e-1fa7644e})
Evaluatieperiode

Een evaluatieperiode wordt gebruikt in functies die verwijzen naar de itemgeschiedenis. Hiermee kun je het interval specificeren waarin we geïnteresseerd zijn. Het kan worden opgegeven als een tijdsperiode (30s, 10m, 1u) of als een waardebereik (\#5 - voor de laatste vijf waarden).

De evaluatieperiode wordt gemeten tot "nu" - waarbij "nu" de laatste herberekeningstijd van de trigger is (zie [Berekeningstijd](#berekeningstijd) hierboven); "nu" is niet de "nu" tijd van de server.

De evaluatieperiode specificeert het volgende:

-   Om alle waarden te overwegen tussen "nu-tijdsperiode" en "nu" (of, met tijdsverschuiving, tussen "nu-tijdsverschuiving-tijdsperiode" en "nu-tijdsverschuiving")
-   Om niet meer dan het aantal num-waarden uit het verleden te overwegen, tot "nu"
    -   Als er 0 beschikbare waarden zijn voor de opgegeven tijdsperiode of num-aantal, wordt de trigger of berekend item dat deze functie gebruikt niet ondersteund

Merk op dat:

-   Als er slechts één functie (die verwijst naar de gegevensgeschiedenis) wordt gebruikt in de trigger, is "nu" altijd de meest recent ontvangen waarde. Als bijvoorbeeld de laatste waarde een uur geleden werd ontvangen, wordt de evaluatieperiode beschouwd als tot aan de meest recente waarde een uur geleden.
-   Een nieuwe trigger wordt berekend zodra de eerste waarde wordt ontvangen (geschiedenisfuncties); binnen 30 seconden zal dit worden berekend voor tijdsafhankelijke functies. Daardoor wordt de trigger berekend, ook al is misschien de ingestelde evaluatieperiode (bijvoorbeeld één uur) nog niet verstreken sinds de trigger is gemaakt. De trigger wordt ook berekend na de eerste waarde, zelfs als het evaluatiebereik is ingesteld op bijvoorbeeld de laatste tien waarden.

[comment]: # ({/1fa7644e-1fa7644e})

[comment]: # ({53f36bf7-e5de9dea})
#### Onbekende status

Het is mogelijk dat een onbekende operand verschijnt in een triggervoorwaarde als:

-   een niet-ondersteund item wordt gebruikt
-   de functie-evaluatie voor een ondersteund item resulteert in een fout

In dit geval evalueert een trigger over het algemeen naar "onbekend" (hoewel er enkele uitzonderingen zijn). Voor meer details, zie [Expressies met onbekende operanden](/manual/config/triggers/expression#expressions-with-unknown-operands).

Het is mogelijk om [meldingen te ontvangen](/manual/config/events/sources#internal-events) voor onbekende triggers.

[comment]: # ({/53f36bf7-e5de9dea})

