This is a translation of the original English documentation page. Help us make it better.

4 Geschiedenisfuncties

Alle hier vermelde functies worden ondersteund in:

De functies worden vermeld zonder aanvullende informatie. Klik op de functie om de volledige details te zien.

Functie Omschrijving
change Het verschilbedrag tussen de vorige en de nieuwste waarde.
changecount Het aantal veranderingen tussen aangrenzende waarden binnen de gedefinieerde evaluatieperiode.
count Het aantal waarden binnen de gedefinieerde evaluatieperiode.
countunique Het aantal unieke waarden binnen de gedefinieerde evaluatieperiode.
find Zoek een overeenkomende waarde binnen de gedefinieerde evaluatieperiode.
first De eerste (oudste) waarde binnen de gedefinieerde evaluatieperiode.
fuzzytime Controleer hoeveel de passieve agenttijd verschilt van de Zabbix-server-/proxytijd.
last De meest recente waarde.
logeventid Controleer of het gebeurtenis-ID van het laatste logboekitem overeenkomt met een reguliere expressie.
logseverity De logboekernst van het laatste logboekitem.
logsource Controleer of de logboekbron van het laatste logboekitem overeenkomt met een reguliere expressie.
monodec Controleer of er een eentonige afname is geweest in waarden.
monoinc Controleer of er een eentonige toename is geweest in waarden.
nodata Controleer of er geen gegevens zijn ontvangen.
percentile Het P-de percentiel van een periode, waarbij P (percentage) wordt gespecificeerd door de derde parameter.
rate Het gemiddelde tarief per seconde van de toename in een monotoon stijgende teller binnen de gedefinieerde tijdsperiode.
Algemene parameters
  • /host/key is een algemene verplichte eerste parameter voor de functies verwijzend naar de geschiedenis van het hostitem
  • (sec|#num)<:time shift> is een gebruikelijke tweede parameter voor de functies die verwijzen naar de geschiedenis van het hostitem, waarbij:
    • sec - maximum evaluatie periode in seconden (tijd achtervoegsels kan worden gebruikt), of
    • #num - maximum evaluatie bereik in de laatste verzamelde waarden (indien voorafgegaan door een hekje)
    • tijdverschuiving (optioneel) maakt het mogelijk om het evaluatiepunt te verplaatsen terug in de tijd. Bekijk meer details](/manual/config/triggers/expression#time_shift) aan tijdverschuiving aangeven.

Functiegegevens

Enkele algemene opmerkingen over functieparameters:

  • Functieparameters worden gescheiden door een komma
  • Optionele functieparameters (of parameterdelen) worden aangegeven door < >
  • Functiespecifieke parameters worden beschreven bij elke functie
  • /host/sleutel en (sec|#num)<:tijdsverschuiving> parameters mogen nooit tussen aanhalingstekens staan
change(/host/sleutel)

Het verschilbedrag tussen de vorige en de nieuwste waarde.
Ondersteunde waardetypes: Float, Integer, String, Text, Log.
Voor strings retourneert het: 0 - waarden zijn gelijk; 1 - waarden verschillen.

Parameters: zie algemene parameters.

Opmerkingen:

  • Het numerieke verschil wordt berekend, zoals te zien is met deze binnenkomende voorbeeldwaarden ('vorige' en 'nieuwste' waarde = verschil):
    '1' en '5' = +4
    '3' en '1' = -2
    '0' en '-2,5' = -2,5
  • Zie ook: abs voor vergelijking.

Voorbeeld:

change(/host/sleutel)>10
changecount(/host/sleutel,(sec|#num)<:tijdsverschuiving>,<modus>)

Het aantal veranderingen tussen aangrenzende waarden binnen de gedefinieerde evaluatieperiode.
Ondersteunde waardetypes: Float, Integer, String, Text, Log.

Parameters:

  • Zie algemene parameters;
  • modus (moet tussen dubbele aanhalingstekens staan) - mogelijke waarden: all - tel alle veranderingen (standaard); dec - tel afnames; inc - tel toenames

Voor niet-numerieke waardetypes wordt de parameter modus genegeerd.

Voorbeelden:

changecount(/host/sleutel,1w) #het aantal waardeveranderingen voor de afgelopen week tot nu
       changecount(/host/sleutel,#10,"inc") #het aantal waardeverhogingen (ten opzichte van de aangrenzende waarde) onder de laatste 10 waarden
       changecount(/host/sleutel,24u,"dec") #het aantal waardeverlagingen (ten opzichte van de aangrenzende waarde) voor de afgelopen 24 uur tot nu
count(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>)

The number of values within the defined evaluation period.
Supported value types: Float, Integer, String, Text, Log.

Parameters:

  • See common parameters;
  • operator (must be double-quoted). Supported operators:
    eq - equal (default for integer, float)
    ne - not equal
    gt - greater
    ge - greater or equal
    lt - less
    le - less or equal
    like (default for string, text, log) - matches if contains pattern (case-sensitive)
    bitand - bitwise AND
    regexp - case-sensitive match of the regular expression given in pattern
    iregexp - case-insensitive match of the regular expression given in pattern
  • pattern - the required pattern (string arguments must be double-quoted).

Comments:

  • Float items match with the precision of 2.22e-16;
  • like is not supported as operator for integer values;
  • like and bitand are not supported as operators for float values;
  • For string, text, and log values only eq, ne, like, regexp and iregexp operators are supported;
  • With bitand as operator, the fourth pattern parameter can be specified as two numbers, separated by '/': number_to_compare_with/mask. count() calculates "bitwise AND" from the value and the mask and compares the result to number_to_compare_with. If the result of "bitwise AND" is equal to number_to_compare_with, the value is counted.
    If number_to_compare_with and mask are equal, only the mask need be specified (without '/').
  • With regexp or iregexp as operator, the fourth pattern parameter can be an ordinary or global (starting with '@') regular expression. In case of global regular expressions case sensitivity is inherited from global regular expression settings. For the purpose of regexp matching, float values will always be represented with 4 decimal digits after '.'. Also note that for large numbers difference in decimal (stored in database) and binary (used by Zabbix server) representation may affect the 4th decimal digit.

Examples:

count(/host/key,10m) #the values for the last 10 minutes until now
       count(/host/key,10m,"like","error") #the number of values for the last 10 minutes until now that contain 'error'
       count(/host/key,10m,,12) #the number of values for the last 10 minutes until now that equal '12'
       count(/host/key,10m,"gt",12) #the number of values for the last 10 minutes until now that are over '12'
       count(/host/key,#10,"gt",12) #the number of values within the last 10 values until now that are over '12'
       count(/host/key,10m:now-1d,"gt",12) #the number of values between 24 hours and 10 minutes and 24 hours ago from now that were over '12'
       count(/host/key,10m,"bitand","6/7") #the number of values for the last 10 minutes until now having '110' (in binary) in the 3 least significant bits
       count(/host/key,10m:now-1d) #the number of values between 24 hours and 10 minutes and 24 hours ago from now
countunique(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>)

The number of unique values within the defined evaluation period.
Supported value types: Float, Integer, String, Text, Log.

Parameters:

  • See common parameters;
  • operator (must be double-quoted). Supported operators:
    eq - equal (default for integer, float)
    ne - not equal
    gt - greater
    ge - greater or equal
    lt - less
    le - less or equal
    like (default for string, text, log) - matches if contains pattern (case-sensitive)
    bitand - bitwise AND
    regexp - case-sensitive match of the regular expression given in pattern
    iregexp - case-insensitive match of the regular expression given in pattern
  • pattern - the required pattern (string arguments must be double-quoted).

Comments:

  • Float items match with the precision of 2.22e-16;
  • like is not supported as operator for integer values;
  • like and bitand are not supported as operators for float values;
  • For string, text, and log values only eq, ne, like, regexp and iregexp operators are supported;
  • With bitand as operator, the fourth pattern parameter can be specified as two numbers, separated by '/': number_to_compare_with/mask. countunique() calculates "bitwise AND" from the value and the mask and compares the result to number_to_compare_with. If the result of "bitwise AND" is equal to number_to_compare_with, the value is counted.
    If number_to_compare_with and mask are equal, only the mask need be specified (without '/').
  • With regexp or iregexp as operator, the fourth pattern parameter can be an ordinary or global (starting with '@') regular expression. In case of global regular expressions case sensitivity is inherited from global regular expression settings. For the purpose of regexp matching, float values will always be represented with 4 decimal digits after '.'. Also note that for large numbers difference in decimal (stored in database) and binary (used by Zabbix server) representation may affect the 4th decimal digit.

Examples:

countunique(/host/key,10m) #the number of unique values for the last 10 minutes until now
       countunique(/host/key,10m,"like","error") #the number of unique values for the last 10 minutes until now that contain 'error'
       countunique(/host/key,10m,,12) #the number of unique values for the last 10 minutes until now that equal '12'
       countunique(/host/key,10m,"gt",12) #the number of unique values for the last 10 minutes until now that are over '12'
       countunique(/host/key,#10,"gt",12) #the number of unique values within the last 10 values until now that are over '12'
       countunique(/host/key,10m:now-1d,"gt",12) #the number of unique values between 24 hours and 10 minutes and 24 hours ago from now that were over '12'
       countunique(/host/key,10m,"bitand","6/7") #the number of unique values for the last 10 minutes until now having '110' (in binary) in the 3 least significant bits
       countunique(/host/key,10m:now-1d) #the number of unique values between 24 hours and 10 minutes and 24 hours ago from now
find(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>)

Find a value match within the defined evaluation period.
Supported value types: Float, Integer, String, Text, Log.
Returns: 1 - found; 0 - otherwise.

Parameters:

  • See common parameters;
  • sec or #num (optional) - defaults to the latest value if not specified
  • operator (must be double-quoted). Supported operators:
    eq - equal (default for integer, float)
    ne - not equal
    gt - greater
    ge - greater or equal
    lt - less
    le - less or equal
    like (default for string, text, log) - matches if contains the string given in pattern (case-sensitive)
    bitand - bitwise AND
    regexp - case-sensitive match of the regular expression given in pattern
    iregexp - case-insensitive match of the regular expression given in pattern
  • pattern - the required pattern (string arguments must be double-quoted); Perl Compatible Regular Expression (PCRE) regular expression if operator is regexp, iregexp.

Comments:

  • If more than one value is processed, '1' is returned if there is at least one matching value;
  • like is not supported as operator for integer values;
  • like and bitand are not supported as operators for float values;
  • For string, text, and log values only eq, ne, like, regexp and iregexp operators are supported;
  • With regexp or iregexp as operator, the fourth pattern parameter can be an ordinary or global (starting with '@') regular expression. In case of global regular expressions case sensitivity is inherited from the global regular expression settings.

Example:

find(/host/key,10m,"like","error") #find a value that contains 'error' within the last 10 minutes until now
first(/host/sleutel,sec<:tijdsverschuiving>)

De eerste (de oudste) waarde binnen de gedefinieerde evaluatieperiode.
Ondersteunde waardetypes: Float, Integer, String, Text, Log.

Parameters:

Zie ook last().

Voorbeeld:

first(/host/sleutel,1u) #haal de oudste waarde op binnen het afgelopen uur tot nu
fuzzytime(/host/sleutel,sec)

Controleer hoeveel de passieve agenttijd afwijkt van de Zabbix-server/-proxytijd.
Ondersteunde waardetypes: Float, Integer.
Retourneert: 1 - verschil tussen de tijd van het passieve item (als tijdstempel) en de tijdstempel van de Zabbix-server/-proxy (de klok van waardeverzameling) is kleiner dan of gelijk aan T seconden; 0 - anders.

Parameters:

Opmerkingen:

  • Gewoonlijk gebruikt met het item 'system.localtime' om te controleren of de lokale tijd synchroniseert met de lokale tijd van de Zabbix-server. Opmerking dat 'system.localtime' geconfigureerd moet zijn als een passieve controle.
  • Kan ook worden gebruikt met de sleutel vfs.file.time[/pad/bestand,modify] om te controleren of het bestand al lange tijd niet is bijgewerkt;
  • Deze functie wordt niet aanbevolen voor gebruik in complexe triggerevaluaties (met meerdere betrokken items), omdat dit onverwachte resultaten kan veroorzaken (het tijdsverschil wordt gemeten met de meest recente metriek), bijvoorbeeld in fuzzytime(/Host/system.localtime,60s)=0 of last(/Host/trap)<>0.

Voorbeeld:

fuzzytime(/host/sleutel,60s)=0 #detecteer een probleem als het tijdsverschil meer dan 60 seconden is

last(/host/sleutel,<#num<:tijdsverschuiving>>)

De meest recente waarde.
Ondersteunde waardetypes: Float, Integer, String, Text, Log.

Parameters:

Opmerkingen:

  • Let op dat een tijdperiode met een hash-tag (#N) hier anders werkt dan bij veel andere functies. Bijvoorbeeld: last() is altijd gelijk aan last(#1); last(#3) - de derde meest recente waarde (niet de drie laatste waarden);
  • Zabbix garandeert niet de exacte volgorde van waarden als er meer dan twee waarden binnen één seconde in de geschiedenis bestaan;
  • Zie ook first().

Voorbeeld:

last(/host/sleutel) #haal de laatste waarde op
       last(/host/sleutel,#2) #haal de vorige waarde op
       last(/host/sleutel,#1) <> last(/host/sleutel,#2) #de laatste en vorige waarden zijn verschillend
logeventid(/host/sleutel,<#num<:tijdsverschuiving>>,<patroon>)

Controleer of het gebeurtenis-ID van het laatste logboekitem overeenkomt met een reguliere expressie.
Ondersteunde waardetypes: Log.
Retourneert: 0 - komt niet overeen; 1 - komt overeen.

Parameters:

  • Zie algemene parameters;
  • #num (optioneel) - de N-de meest recente waarde;
  • patroon (optioneel) - de reguliere expressie die het vereiste patroon beschrijft, Perl Compatible Regular Expression (PCRE)-stijl (string-argumenten moeten tussen dubbele aanhalingstekens staan).
logseverity(/host/sleutel,<#num<:tijdsverschuiving>>)

Logniveau van het laatste logboekitem.
Ondersteunde waardetypes: Log.
Retourneert: 0 - standaardniveau; N - niveau (integer, nuttig voor Windows-gebeurtenislogboeken: 1 - Informatie, 2 - Waarschuwing, 4 - Fout, 7 - Controle mislukt, 8 - Controle geslaagd, 9 - Kritiek, 10 - Uitgebreid).

Parameters:

Zabbix haalt het logniveau uit het Informatie-veld van het Windows-gebeurtenislogboek.

logsource(/host/sleutel,<#num<:tijdsverschuiving>>,<patroon>)

Controleren of de logbron van het laatste logboekitem overeenkomt met een reguliere expressie.
Ondersteunde waardetypes: Log.
Retourneert: 0 - komt niet overeen; 1 - komt overeen.

Parameters:

Normaal gesproken gebruikt voor Windows-gebeurtenislogboeken.

Voorbeeld:

logsource(/host/sleutel,,"VMware Server")
monodec(/host/sleutel,(sec|#num)<:tijdsverschuiving>,<modus>)

Controleren of er sprake is geweest van een eenvoudige afname van waarden.
Ondersteunde waardetypes: Integer.
Retourneert: 1 - als alle elementen in de tijdsperiode continu afnemen; 0 - anders.

Parameters:

  • Zie algemene parameters;
  • modus (moet dubbel geciteerd worden) - zwak (elke waarde is kleiner of gelijk aan de vorige; standaard) of strikt (elke waarde is afgenomen).

Voorbeeld:

monodec(/Host1/system.swap.size[all,free],60s) + monodec(/Host2/system.swap.size[all,free],60s) + monodec(/Host3/system.swap.size[all,free],60s) #bereken hoeveel hosts er een afname is geweest in vrije swapgrootte
monoinc(/host/sleutel,(sec|#num)<:tijdsverschuiving>,<modus>)

Controleren of er sprake is geweest van een eenvoudige toename van waarden.
Ondersteunde waardetypes: Integer.
Retourneert: 1 - als alle elementen in de tijdsperiode continu toenemen; 0 - anders.

Parameters:

  • Zie algemene parameters;
  • modus (moet dubbel geciteerd worden) - zwak (elke waarde is groter of gelijk aan de vorige; standaard) of strikt (elke waarde is toegenomen).

Voorbeeld:

monoinc(/Host1/system.localtime,#3,"strict")=0 #controleren of de lokale systeemtijd consequent is toegenomen
nodata(/host/sleutel,sec,<modus>)

Controleren op het ontbreken van ontvangen gegevens.
Ondersteunde waardetypes: Integer, Float, Karakter, Tekst, Log.
Retourneert: 1 - als er gedurende de gedefinieerde tijdsperiode geen gegevens zijn ontvangen; 0 - anders.

Parameters:

  • Zie algemene parameters;
  • sec - de periode mag niet minder dan 30 seconden zijn, omdat het proces van de history syncer deze functie slechts elke 30 seconden berekent; nodata(/host/sleutel,0) is niet toegestaan.
  • modus - als dit wordt ingesteld op strikt (dubbel geciteerd), zal deze functie ongevoelig zijn voor de beschikbaarheid van een proxy (zie opmerkingen voor details).

Opmerkingen:

  • de 'nodata'-triggers die worden gecontroleerd door een proxy zijn standaard gevoelig voor de beschikbaarheid van de proxy - als de proxy niet beschikbaar is, zullen de 'nodata'-triggers niet onmiddellijk worden geactiveerd na een herstelde verbinding, maar zullen ze de gegevens voor de vertraagde periode overslaan. Merk op dat voor passieve proxies onderdrukking wordt geactiveerd als de verbinding meer dan 15 seconden wordt hersteld en niet minder dan 2 & ProxyUpdateFrequency seconden later. Voor actieve proxies wordt onderdrukking geactiveerd als de verbinding meer dan 15 seconden later wordt hersteld. Om de gevoeligheid voor de beschikbaarheid van de proxy uit te schakelen, gebruikt u de derde parameter, bijvoorbeeld: nodata(/host/sleutel,5m,"strict"); in dit geval wordt de functie geactiveerd zodra de evaluatieperiode (vijf minuten) zonder gegevens is verstreken.
  • Deze functie geeft een foutmelding als er binnen de periode van de 1e parameter:
    - geen gegevens zijn en de Zabbix-server is opnieuw opgestart
    - geen gegevens zijn en het onderhoud is voltooid
    - geen gegevens zijn en het item is toegevoegd of opnieuw is ingeschakeld
  • Fouten worden weergegeven in de Info kolom in trigger configuratie;
  • Deze functie werkt mogelijk niet goed als er tijdsverschillen zijn tussen de Zabbix-server, proxy en agent. Zie ook: Vereiste voor tijdssynchronisatie.
percentiel(/host/sleutel,(sec|#num)<:tijd verschuiving>,percentage)

Het P-de percentiel van een periode, waarbij P (percentage) wordt gespecificeerd door de derde parameter.
Ondersteunde waardetypes: Float, Integer.

Parameters:

  • Zie algemene parameters;
  • percentage - een zwevend kommagetal tussen 0 en 100 (inclusief) met maximaal 4 cijfers achter de komma.
snelheid(/host/sleutel,sec<:tijd verschuiving>)

Het gemiddelde aantal per seconde van de toename in een monotoon toenemende teller binnen de gedefinieerde tijdsperiode.
Ondersteunde waardetypes: Float, Integer.

Parameters:

Functioneel komt overeen met 'snelheid' van PromQL.

Voorbeeld:

snelheid(/host/sleutel,30s) #als de monotone toename over 30 seconden 20 is, zal deze functie 0,67 retourneren.

Zie alle ondersteunde functies.