#4 Geschiedenisfuncties
Alle hier vermelde functies worden ondersteund in:
Enkele algemene opmerkingen over functieparameters:
<
>
/host/key
en (sec|#num)<:time shift>
parameters mogen nooit . zijn geciteerd/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:
FUNCTIE | ||
---|---|---|
Beschrijving | Functiespecifieke parameters | Opmerkingen |
change (/host/key) | ||
Het verschil tussen de vorige en de laatste waarde. | Ondersteunde waardestypen: float, int, str, tekst, log Voor strings wordt het volgende geretourneerd: 0 - waarden zijn gelijk 1 - waarden verschillen Voorbeeld: => change(/host/key)>10 Numeriek verschil wordt berekend zoals gezien met deze voorbeeldwaarden (waarde 'vorige' en 'laatste' = verschil): '1' en '5' = +4 '3' en '1' = -2 '0' en '-2.5' = -2.5 Zie ook: abs voor vergelijking |
|
changecount (/host/key,(sec|#num)<:time shift>,<mode>) | ||
Aantal veranderingen tussen aangrenzende waarden binnen de gedefinieerde evaluatieperiode. | Zie algemene parameters. mode (optioneel; moet tussen dubbele aanhalingstekens staan) Ondersteunde modes :all - tel alle veranderingen (standaard) dec - tel afnames inc - tel toenames |
Ondersteunde waardestypen: float, int, str, tekst, log Voor niet-numerieke waardetypen wordt de mode-parameter genegeerd. Voorbeelden: => changecount(/host/key, 1w) → aantal waardeveranderingen gedurende de afgelopen week tot nu => changecount(/host/key,#10,"inc") → aantal toenames in waarde (ten opzichte van de aangrenzende waarde) onder de laatste 10 waarden => changecount(/host/key,24u,"dec") → aantal afnames in waarde (ten opzichte van de aangrenzende waarde) gedurende de afgelopen 24 uur tot nu |
count (/host/key,(sec|#num)<:time shift>,<operator>,<pattern>) | ||
Aantal waarden binnen de gedefinieerde evaluatieperiode. | Zie algemene parameters. operator (optioneel; moet tussen dubbele aanhalingstekens staan) Ondersteunde operators :eq - gelijk aan (standaard voor integer, float) ne - niet gelijk aan gt - groter dan ge - groter dan of gelijk aan lt - kleiner dan le - kleiner dan of gelijk aan like (standaard voor string, tekst, log) - komt overeen als het patroon bevat (hoofdlettergevoelig) bitand - bitwise EN regexp - hoofdlettergevoelige overeenkomst met het reguliere expressiepatroon gegeven in pattern iregexp - hoofdletterongevoelige overeenkomst met het reguliere expressiepatroon gegeven in pattern <brMerk op dat: eq (standaard), ne, gt, ge, lt, le, band, regexp, iregexp worden ondersteund voor integer-waarden eq (standaard), ne, gt, ge, lt, le, regexp, iregexp worden ondersteund voor float-waarden like (standaard), eq, ne, regexp, iregexp worden ondersteund voor string-, tekst- en log-waarden pattern (optioneel) - vereist patroon (string-argumenten moeten tussen dubbele aanhalingstekens staan) |
Ondersteunde waardestypen: float, integer, string, tekst, log Float-waarden komen overeen met een precisie van 2.22e-16; als de database niet is bijgewerkt is de precisie 0.000001. Met bitand als derde parameter kan de vierde pattern -parameter worden opgegeven als twee getallen, gescheiden door een '/': number_to_compare_with/mask. De functie count() berekent "bitwise AND" van de waarde en het masker en vergelijkt het resultaat met number_to_compare_with. Als het resultaat van "bitwise AND" gelijk is aan number_to_compare_with, wordt de waarde geteld.Als number_to_compare_with en masker gelijk zijn, hoeft alleen het masker te worden opgegeven (zonder '/'). <brMet regexp of iregexp als derde parameter kan de vierde pattern -parameter een gewone of globale (beginnend met '@') reguliere expressie zijn. In geval van wereldwijde reguliere expressies wordt de hoofdlettergevoeligheid overgenomen van de instellingen voor wereldwijde reguliere expressies. Voor het matchen van reguliere expressies worden float-waarden altijd weergegeven met 4 cijfers achter de komma. Merk ook op dat voor grote getallen het verschil in decimale (opgeslagen in de database) en binaire (gebruikt door de Zabbix-server) representatie invloed kan hebben op het vierde decimale cijfer.<brVoorbeelden: => count(/host/key,10m) → aantal waarden gedurende de laatste 10 minuten tot nu => count(/host/key,10m,"like","fout") → aantal waarden gedurende de laatste 10 minuten tot nu die 'fout' bevatten => count(/host/key,10m,,12) → aantal waarden gedurende de laatste 10 minuten tot nu die gelijk zijn aan '12' => count(/host/key,10m,"gt",12) → aantal waarden gedurende de laatste 10 minuten tot nu die groter zijn dan '12' => count(/host/key,#10,"gt",12) → aantal waarden binnen de laatste 10 waarden tot nu die groter zijn dan '12' => count(/host/key,10m:nu-1d,"gt",12) → aantal waarden tussen 24 uur en 10 minuten en 24 uur geleden vanaf nu die groter waren dan '12' => count(/host/key,10m,"bitand","6/7") → aantal waarden gedurende de laatste 10 minuten tot nu met '110' (in binaire notatie) in de 3 minst significante bits. => count(/host/key,10m:nu-1d) → aantal waarden tussen 24 uur en 10 minuten en 24 uur geleden vanaf nu |
countunique (/host/key,(sec|#num)<:time shift>,<operator>,<pattern>) | ||
Aantal unieke waarden binnen de gedefinieerde evaluatieperiode. | Zie algemene parameters. operator (optioneel; moet tussen dubbele aanhalingstekens staan) Ondersteunde operators :eq - gelijk aan (standaard voor integer, float) ne - niet gelijk aan gt - groter dan ge - groter dan of gelijk aan lt - kleiner dan le - kleiner dan of gelijk aan like (standaard voor string, tekst, log) - komt overeen als het patroon bevat (hoofdlettergevoelig) bitand - bitwise EN regexp - hoofdlettergevoelige overeenkomst met het reguliere expressiepatroon gegeven in pattern iregexp - hoofdletterongevoelige overeenkomst met het reguliere expressiepatroon gegeven in pattern Merk op dat: eq (standaard), ne, gt, ge, lt, le, band, regexp, iregexp worden ondersteund voor integer-waarden eq (standaard), ne, gt, ge, lt, le, regexp, iregexp worden ondersteund voor float-waarden like (standaard), eq, ne, regexp, iregexp worden ondersteund voor string-, tekst- en log-waarden pattern (optioneel) - vereist patroon (string-argumenten moeten tussen dubbele aanhalingstekens staan) |
Ondersteunde waardestypen: float, integer, string, tekst, log Float-waarden komen overeen met een precisie van 2.22e-16; als de database niet is bijgewerkt is de precisie 0.000001. Met bitand als derde parameter kan de vierde pattern -parameter worden opgegeven als twee getallen, gescheiden door '/': number_to_compare_with/mask. countunique() berekent de "bitwise EN" van de waarde en de mask en vergelijkt het resultaat met number_to_compare_with. Als het resultaat van "bitwise EN" gelijk is aan number_to_compare_with, wordt de waarde geteld.Als number_to_compare_with en mask gelijk zijn, hoeft alleen de mask te worden opgegeven (zonder '/'). Met regexp of iregexp als derde parameter kan de vierde pattern -parameter een gewone of globale (beginnend met '@') reguliere expressie zijn. In geval van wereldwijde reguliere expressies wordt de hoofdlettergevoeligheid overgenomen van de instellingen voor wereldwijde reguliere expressies.Voorbeelden: => countunique(/host/key,10m) → aantal unieke waarden gedurende de laatste 10 minuten tot nu => countunique(/host/key,10m,"like","fout") → aantal unieke waarden gedurende de laatste 10 minuten tot nu die 'fout' bevatten => countunique(/host/key,10m,"gt",12) → aantal unieke waarden gedurende de laatste 10 minuten tot nu die groter zijn dan '12' => countunique(/host/key,#10,"gt",12) → aantal unieke waarden binnen de laatste 10 waarden tot nu die groter zijn dan '12' => countunique(/host/key,10m:nu-1d,"gt",12) → aantal unieke waarden tussen 24 uur en 10 minuten en 24 uur geleden vanaf nu die groter waren dan '12' => countunique(/host/key,10m,"bitand","6/7") → aantal unieke waarden gedurende de laatste 10 minuten tot nu met '110' (in binaire notatie) in de 3 minst significante bits. => countunique(/host/key,10m:nu-1d) → aantal unieke waarden tussen 24 uur en 10 minuten en 24 uur geleden vanaf nu |
find (/host/key,<(sec|#num)<:time shift>>,<operator>,<pattern>) | ||
Een overeenkomende waarde vinden. | Zie algemene parameters. sec of #num (optioneel) - standaard is de nieuwste waarde als dit niet is gespecificeerd operator (optioneel; moet tussen dubbele aanhalingstekens staan) Ondersteunde operators :eq - gelijk aan (standaard voor integer, float) ne - niet gelijk aan gt - groter dan ge - groter dan of gelijk aan lt - kleiner dan le - kleiner dan of gelijk aan like (standaard voor string, tekst, log) - waarde bevat de string in pattern (hoofdlettergevoelig)bitand - bitwise EN regexp - hoofdlettergevoelige overeenkomst met het reguliere expressiepatroon gegeven in pattern iregexp - hoofdletterongevoelige overeenkomst met het reguliere expressiepatroon gegeven in pattern Merk op dat: eq (standaard), ne, gt, ge, lt, le, band, regexp, iregexp worden ondersteund voor integer-waarden eq (standaard), ne, gt, ge, lt, le, regexp, iregexp worden ondersteund voor float-waarden like (standaard), eq, ne, regexp, iregexp worden ondersteund voor string-, tekst- en log-waarden pattern - vereist patroon (string-argumenten moeten tussen dubbele aanhalingstekens staan); Perl Compatible Regular Expression (PCRE) reguliere expressie als operator regexp, iregexp. |
Ondersteunde waardestypen: float, int, str, tekst, log Geeft terug: 1 - gevonden 0 - anders Als meer dan één waarde wordt verwerkt, wordt '1' geretourneerd als er minstens één overeenkomende waarde is. Bij regexp of iregexp als derde parameter kan de vierde pattern -parameter een gewone of globale (beginnend met '@') reguliere expressie zijn. In geval van wereldwijde reguliere expressies wordt de hoofdlettergevoeligheid overgenomen van de instellingen voor wereldwijde reguliere expressies.Voorbeeld: => find(/host/key,10m,"like","fout") → zoek een waarde die 'fout' bevat binnen de laatste 10 minuten tot nu |
first (/host/key,sec<:time shift>) | ||
De eerste (oudste) waarde binnen de gedefinieerde evaluatieperiode. | Zie algemene parameters. | Ondersteunde waardestypen: float, int, str, tekst, log Voorbeeld: => first(/host/key,1u) → haal de oudste waarde op binnen het laatste uur tot nu Zie ook last(). |
fuzzytime (/host/key,<operator>,<pattern>,<max_difference>) | ||
De tijdsduplicaten van de waarde binnen de gedefinieerde evaluatieperiode zoeken. | operator (optioneel; moet tussen dubbele aanhalingstekens staan) Ondersteunde operators :eq (standaard) - gelijk aan ne - niet gelijk aan |
Ondersteunde waardestypen: int, float, str, tekst, log De functie zoekt de tijdsduplicaten van de waarde binnen de gedefinieerde evaluatieperiode. Als het verschil tussen tijdstempels kleiner is dan max_difference, wordt de waarde als tijdsduplicaat beschouwd en wordt '1' geretourneerd. Voorbeeld: => fuzzytime(/host/key) → zoek tijdsduplicaten van de waarde binnen de standaardevaluatieperiode => fuzzytime(/host/key,"eq",10,600) → zoek tijdsduplicaten van de waarde '10' binnen de laatste 10 minuten tot nu waarbij het tijdsverschil kleiner is dan 600 seconden |
last (/host/key,sec<:time shift>) | ||
De laatste (nieuwste) waarde binnen de gedefinieerde evaluatieperiode. | Zie algemene parameters. | Ondersteunde waardestypen: float, int, str, tekst, log Voorbeeld: => last(/host/key,1u) → haal de nieuwste waarde op binnen het laatste uur tot nu Zie ook first(). |
max (/host/key,(sec|#num)<:time shift>,<operator>,<pattern>) | ||
De maximale waarde binnen de gedefinieerde evaluatieperiode. | Zie algemene parameters. | Ondersteunde waardestypen: int, float Zie ook min(). |
min (/host/key,(sec|#num)<:time shift>,<operator>,<pattern>) | ||
De minimale waarde binnen de gedefinieerde evaluatieperiode. | Zie algemene parameters. | Ondersteunde waardestypen: int, float Zie ook max(). |
prev (/host/key,sec<:time shift>) | ||
De op één na laatste waarde binnen de gedefinieerde evaluatieperiode. | Zie algemene parameters. | Ondersteunde waardestypen: float, int, str, tekst, log Zie ook last() en first(). |
range (/host/key,(sec|#num)<:time shift>,<operator>,<pattern>) | ||
Het bereik tussen de minimale en maximale waarde binnen de gedefinieerde evaluatieperiode. | Zie algemene parameters. | Ondersteunde waardestypen: int, float Zie ook min() en max(). |
timeavg (/host/key,(sec|#num)<:time shift>,<operator>,<pattern>) | ||
Het gewogen gemiddelde van de waarden binnen de gedefinieerde evaluatieperiode. | Zie algemene parameters. | Ondersteunde waardestypen: int, float Voorbeeld: => timeavg(/host/key,1h) → gewogen gemiddelde van waarden binnen het laatste uur tot nu Zie ook avg(). |
timeshift (/host/key,<sec|#num:time shift>) | ||
Een verschoven waarde zoeken. | Gebruik 0 of een negatieve waarde voor sec om de tijd in het verleden te verschuiven.Zie ook now() en dateadd(). |
Ondersteunde waardestypen: int, float, str, tekst, log Voorbeeld: => timeshift(/host/key,-3600) → waarde van 1 uur geleden |
todate (/host/key,<operator>,<pattern>,<from_value>) | ||
De datumtijd van de waarde binnen de gedefinieerde evaluatieperiode zoeken. | operator (optioneel; moet tussen dubbele aanhalingstekens staan) Ondersteunde operators :eq (standaard) - gelijk aan ne - niet gelijk aan Let op: momenteel worden alleen eq en ne ondersteund. |
Ondersteunde waardestypen: int, float, str, tekst, log Voorbeeld: => todate(/host/key) → datumtijd van de waarde binnen de standaardevaluatieperiode |
tointerval (/host/key,<pattern>) | ||
De intervaltijden tussen aangrenzende waarden binnen de gedefinieerde evaluatieperiode zoeken. | Geeft een lijst met tijdsintervallen tussen aangrenzende waarden binnen de evaluatieperiode terug. pattern (optioneel) - vereist patroon (string-argumenten moeten tussen dubbele aanhalingstekens staan). |
Ondersteunde waardestypen: int, float, str, tekst, log Voorbeeld: => tointerval(/host/key) → intervaltijden tussen aangrenzende waarden binnen de standaardevaluatieperiode |
tostring (/host/key,<(sec|#num)<:time shift>>,<operator>,<pattern>,<from_value>) | ||
De stringrepresentatie van de waarde binnen de gedefinieerde evaluatieperiode zoeken. | sec of #num (optioneel) - standaard is de nieuwste waarde als dit niet is gespecificeerd operator (optionel; moet tussen dubbele aanhalingstekens staan) Ondersteunde operators :eq (standaard) - gelijk aan ne - niet gelijk aan gt - groter dan ge - groter dan of gelijk aan lt - kleiner dan le - kleiner dan of gelijk aan like - bevat de string in pattern (standaard voor string, tekst, log)bitand - bitwise EN regexp - hoofdlettergevoelige overeenkomst met het reguliere expressiepatroon gegeven in pattern iregexp - hoofdletterongevoelige overeenkomst met het reguliere expressiepatroon gegeven in pattern |
Ondersteunde waardestypen: int, float, str, tekst, log Voorbeeld: => tostring(/host/key,"like","fout") → zoek een string die 'fout' bevat binnen de standaardevaluatieperiode |
trend (/host/key,<sec|#num:time shift>) | ||
De trend (verandering in de tijd) van de waarden binnen de gedefinieerde evaluatieperiode zoeken. | Zie algemene parameters. | Ondersteunde waardestypen: int, float, str, tekst, log Zie ook avg() en percentile(). |
zabbix[] (parameter) | ||
Toegang krijgen tot Zabbix-parameters. | Zie beschikbare parameters. | N.v.t. |
zabbix[[]] (parameters) | ||
Toegang krijgen tot ingesloten Zabbix-parameters. | Zie beschikbare parameters. | N.v.t. |