1 Aggregatfunktionen
Sofern nicht anders angegeben, werden alle hier aufgeführten Funktionen unterstützt in:
Aggregatfunktionen können arbeiten mit:
- der Historie von Datenpunkten, zum Beispiel
min(/host/key,1h) - foreach-Funktionen als
einzigem Parameter, zum Beispiel
min(last_foreach(/*/key))(nur in berechneten Datenpunkten; kann nicht in Auslösern verwendet werden)
Die Funktionen sind ohne zusätzliche Informationen aufgeführt. Klicken Sie auf die Funktion, um die vollständigen Details anzuzeigen.
| Function | Description |
|---|---|
| avg | Der Durchschnittswert eines Datenpunkts innerhalb des definierten Auswertungszeitraums. |
| bucket_percentile | Berechnet das Perzentil aus den Buckets eines Histogramms. |
| count | Die Anzahl der Werte in einem von einer foreach-Funktion zurückgegebenen Array. |
| histogram_quantile | Berechnet das φ-Quantil aus den Buckets eines Histogramms. |
| item_count | Die Anzahl vorhandener Datenpunkte in der Konfiguration, die den Filterkriterien entsprechen. |
| kurtosis | Die „Schwanzlastigkeit“ der Wahrscheinlichkeitsverteilung der erfassten Werte innerhalb des definierten Auswertungszeitraums. |
| mad | Die mediane absolute Abweichung der erfassten Werte innerhalb des definierten Auswertungszeitraums. |
| max | Der höchste Wert eines Datenpunkts innerhalb des definierten Auswertungszeitraums. |
| min | Der niedrigste Wert eines Datenpunkts innerhalb des definierten Auswertungszeitraums. |
| skewness | Die Asymmetrie der Wahrscheinlichkeitsverteilung der erfassten Werte innerhalb des definierten Auswertungszeitraums. |
| stddevpop | Die Populationsstandardabweichung der erfassten Werte innerhalb des definierten Auswertungszeitraums. |
| stddevsamp | Die Stichprobenstandardabweichung der erfassten Werte innerhalb des definierten Auswertungszeitraums. |
| sum | Die Summe der erfassten Werte innerhalb des definierten Auswertungszeitraums. |
| sumofsquares | Die Summe der Quadrate der erfassten Werte innerhalb des definierten Auswertungszeitraums. |
| varpop | Die Populationsvarianz der erfassten Werte innerhalb des definierten Auswertungszeitraums. |
| varsamp | Die Stichprobenvarianz der erfassten Werte innerhalb des definierten Auswertungszeitraums. |
Allgemeine Parameter
/host/keyist ein allgemeiner obligatorischer erster Parameter für die Funktionen, die auf die Historie des Host-Datenpunkts verweisen(sec|#num)<:time shift>ist ein allgemeiner zweiter Parameter für die Funktionen, die auf die Historie des Host-Datenpunkts verweisen, wobei:- sec - maximaler Auswertungszeitraum in Sekunden (Zeit-Suffixe können verwendet werden), oder
- #num - maximaler Auswertungsbereich in den zuletzt erfassten Werten (wenn ihm ein Hash-Zeichen vorangestellt ist)
- time shift (optional) ermöglicht es, den Auswertungszeitpunkt zeitlich zurückzuverschieben. Siehe weitere Details zur Angabe von time shift.
Funktionsdetails
Einige allgemeine Hinweise zu Funktionsparametern:
- Funktionsparameter werden durch ein Komma getrennt
- Optionale Funktionsparameter (oder Parameterteile) werden durch
<>gekennzeichnet - Funktionsspezifische Parameter werden bei jeder Funktion beschrieben
- Die Parameter
/host/keyund(sec|#num)<:time shift>dürfen niemals in Anführungszeichen gesetzt werden
avg(/host/key,(sec|#num)<:time shift>)
Der Durchschnittswert eines Datenpunkts innerhalb des definierten Auswertungszeitraums.
Unterstützte Werttypen: Float, Integer.
Unterstützte foreach-Funktionen: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.
Parameter: siehe allgemeine Parameter.
Time shift ist nützlich, wenn der aktuelle Durchschnittswert mit dem Durchschnittswert zu einem früheren Zeitpunkt verglichen werden soll.
Beispiele:
avg(/host/key,1h) #der Durchschnittswert der letzten Stunde bis jetzt
avg(/host/key,1h:now-1d) #der Durchschnittswert für eine Stunde von vor 25 Stunden bis vor 24 Stunden
avg(/host/key,#5) #der Durchschnittswert der fünf neuesten Werte
avg(/host/key,#5:now-1d) #der Durchschnittswert der fünf neuesten Werte, ausgenommen der in den letzten 24 Stunden empfangenen Werte
avg(/host/proc.num,5m)>300 #Auslöser, wenn die durchschnittliche Anzahl der Prozesse in den letzten 5 Minuten über 300 lag
bucket_percentile(item filter,time period,percentage)
Berechnet das Perzentil aus den Buckets eines Histogramms.
Parameter:
- item filter - siehe item filter;
- time period - siehe time period;
- percentage - Prozentsatz (0-100).
Kommentare:
- Nur in berechneten Datenpunkten unterstützt;
- Diese Funktion ist ein Alias für
histogram_quantile(percentage/100, bucket_rate_foreach(item filter, time period, 1)).
Beispiele:
bucket_percentile(/*/http_request_duration_seconds_bucket[*],5m,95) #calculate the 95th percentile response time over 5 minutes
bucket_percentile(/*/apiserver_request_duration_seconds_bucket[*],10m,99) #calculate the 99th percentile API latency
count(func_foreach(item filter,<time period>),<operator>,<pattern>)
Die Anzahl der Werte in einem Array, das von einer foreach-Funktion zurückgegeben wird.
Unterstützte foreach-Funktionen: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.
Parameter:
- func_foreach - foreach-Funktion, für die die Anzahl der zurückgegebenen Werte gezählt werden soll. Siehe foreach-Funktionen für Details. Beachten Sie, dass count_foreach und bucket_rate_foreach zusätzliche Parameter unterstützen.
- item filter - siehe item filter;
- time period - siehe time period;
- operator (muss in doppelte Anführungszeichen gesetzt werden). Unterstützte
operators:
eq - gleich
ne - ungleich
gt - größer als
ge - größer oder gleich
lt - kleiner als
le - kleiner oder gleich
like - trifft zu, wenn das Muster enthalten ist (Groß-/Kleinschreibung wird beachtet)
bitand - bitweises UND
regexp - Groß-/Kleinschreibung beachtende Übereinstimmung mit dem inpatternangegebenen regulären Ausdruck
iregexp - Groß-/Kleinschreibung ignorierende Übereinstimmung mit dem inpatternangegebenen regulären Ausdruck - pattern - das erforderliche Muster (String-Argumente müssen in doppelte Anführungszeichen gesetzt werden); unterstützt, wenn operator im dritten Parameter angegeben ist.
Kommentare:
- Die Verwendung von count() mit einer verlaufsbezogenen foreach-Funktion (max_foreach, avg_foreach usw.) kann Auswirkungen auf die Performance haben, während die Verwendung von exists_foreach(), das nur mit Konfigurationsdaten arbeitet, keinen solchen Effekt hat.
- Optionale Parameter operator oder pattern können nach einem Komma nicht leer gelassen, sondern nur vollständig weggelassen werden.
- Wenn bitand als dritter Parameter verwendet wird, kann der vierte Parameter
patternals zwei durch '/' getrennte Zahlen angegeben werden: number_to_compare_with/mask. count() berechnet ein „bitweises UND“ aus dem Wert und der mask und vergleicht das Ergebnis mit number_to_compare_with. Wenn das Ergebnis des „bitweisen UND“ gleich number_to_compare_with ist, wird der Wert gezählt.
Wenn number_to_compare_with und mask gleich sind, muss nur die mask angegeben werden (ohne '/'). - Wenn regexp oder iregexp als dritter Parameter verwendet wird, kann der vierte Parameter
patternein gewöhnlicher oder globaler (beginnend mit '@') regulärer Ausdruck sein. Bei globalen regulären Ausdrücken wird die Groß-/Kleinschreibung aus den Einstellungen des globalen regulären Ausdrucks übernommen. Für den Zweck des regexp-Abgleichs werden Float-Werte immer mit 4 Dezimalstellen nach dem '.' dargestellt. Beachten Sie außerdem, dass bei großen Zahlen Unterschiede zwischen der dezimalen (in der Datenbank gespeicherten) und der binären (vom Zabbix-Server verwendeten) Darstellung die 4. Dezimalstelle beeinflussen können.
Beispiele:
count(max_foreach(/*/net.if.in[*],1h)) #calculate the number of net.if.in items that received data in the last hour until now
count(last_foreach(/*/vfs.fs.size[*,pused]),"gt",95) #calculate the number of file systems with over 95% of disk space used
histogram_quantile(quantile,bucket1,value1,bucket2,value2,...)
Berechnet das φ-Quantil aus den Buckets eines Histogramms.
Unterstützte foreach-Funktion: bucket_rate_foreach.
Parameter:
- quantile - 0 ≤ φ ≤ 1;
- bucketN, valueN - manuell eingegebene Parameterpaare (>=2) oder die Antwort von bucket_rate_foreach.
Kommentare:
- Nur in berechneten Datenpunkten unterstützt;
- Entspricht funktional 'histogram_quantile' aus PromQL;
- Gibt -1 zurück, wenn die Werte des letzten 'Infinity'-Buckets ("+inf") gleich 0 sind.
Beispiele:
histogram_quantile(0.75,1.0,last(/host/rate_bucket[1.0]),"+Inf",last(/host/rate_bucket[Inf]))
histogram_quantile(0.5,bucket_rate_foreach(//item_key,30s))
item_count(item filter)
Die Anzahl der in der Konfiguration vorhandenen Datenpunkte, die den Filterkriterien entsprechen.
Unterstützter Werttyp: Integer.
Parameter:
- item filter - Kriterien für die Auswahl von Datenpunkten; ermöglicht Referenzen nach Host-Gruppe, Host, Datenpunktschlüssel und Tags. Platzhalter werden unterstützt. Siehe item filter für weitere Details.
Kommentare:
- Nur in berechneten Datenpunkten unterstützt;
- Funktioniert als Alias für die Funktion count(exists_foreach(item_filter)).
Beispiele:
item_count(/*/agent.ping?[group="Host group 1"]) #calculate the number of hosts with the agent.ping item in "Host group 1"
kurtosis(/host/key,(sec|#num)<:time shift>)
Die „Schwänzigkeit“ der Wahrscheinlichkeitsverteilung der erfassten Werte innerhalb des definierten Auswertungszeitraums. Siehe auch: Kurtosis.
Unterstützte Werttypen: Float, Integer.
Unterstützte foreach-Funktion: last_foreach.
Parameter: siehe allgemeine Parameter.
Beispiele:
kurtosis(/host/system.cpu.util[,user],5m)>5 #trigger on sharp spikes of CPU utilization over 5 minutes
mad(/host/key,(sec|#num)<:time shift>)
Die mittlere absolute Abweichung vom Median der erfassten Werte innerhalb des definierten Auswertungszeitraums. Siehe auch: Median absolute deviation.
Unterstützte Wertetypen: Float, Integer.
Unterstützte foreach-Funktion: last_foreach.
Parameter: siehe allgemeine Parameter.
Beispiele:
last(/host/system.cpu.util[,user])>avg(/host/system.cpu.util[,user],1h)+3*mad(/host/system.cpu.util[,user],1h) #Auslöser, wenn der letzte CPU-Auslastungswert statistisch signifikant ist
max(/host/key,(sec|#num)<:time shift>)
Der höchste Wert eines Datenpunkts innerhalb des definierten Auswertungszeitraums.
Unterstützte Werttypen: Float, Integer.
Unterstützte foreach-Funktionen: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.
Parameter: siehe allgemeine Parameter.
Beispiele:
max(/host/key,1h) - min(/host/key,1h) #berechnet die Differenz zwischen den maximalen und minimalen Werten innerhalb der letzten Stunde bis jetzt (die Delta der Werte)
max(last_foreach(/*/vfs.fs.size[*,pused]?[group="Linux servers"])) #gibt die höchste Festplattenauslastung über alle Linux-Server zurück
min(/host/key,(sec|#num)<:time shift>)
Der niedrigste Wert eines Datenpunkts innerhalb des definierten Auswertungszeitraums.
Unterstützte Wertetypen: Float, Integer.
Unterstützte foreach-Funktionen: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.
Parameter: siehe allgemeine Parameter.
Beispiele:
max(/host/key,1h) - min(/host/key,1h) #calculate the difference between the maximum and minimum values within the last hour until now (the delta of values)
min(last_foreach(/*/vfs.file.contents["/sys/class/net/enp0s3/operstate"]?[group="Linux servers"])) #return the minimum operational state for any interface across all Linux servers
skewness(/host/key,(sec|#num)<:time shift>)
Die Asymmetrie der Wahrscheinlichkeitsverteilung der erfassten Werte innerhalb des definierten Auswertungszeitraums. Siehe auch: Skewness.
Unterstützte Wertetypen: Float, Integer.
Unterstützte foreach-Funktion: last_foreach.
Parameter: siehe allgemeine Parameter.
Beispiele:
skewness(/host/vm.memory.size[used],5m)<-20 #Auslöser bei plötzlichen negativen Einbrüchen, die auf Abstürze/Neustarts hinweisen
stddevpop(/host/key,(sec|#num)<:time shift>)
Die Populationsstandardabweichung der erfassten Werte innerhalb des definierten Auswertungszeitraums. Siehe auch: Standardabweichung.
Unterstützte Wertetypen: Float, Integer.
Unterstützte foreach-Funktion: last_foreach.
Parameter: siehe allgemeine Parameter.
Beispiele:
stddevpop(/host/system.cpu.util[,user],10m)>7 #Auslöser, wenn die CPU-Auslastung stark schwankt (die Populationsstandardabweichung liegt über 7 innerhalb von 10 Minuten)
stddevsamp(/host/key,(sec|#num)<:time shift>)
Die Stichproben-Standardabweichung der erfassten Werte innerhalb des definierten Auswertungszeitraums. Siehe auch: Standardabweichung.
Unterstützte Wertetypen: Float, Integer.
Unterstützte foreach-Funktion: last_foreach.
Parameter: siehe allgemeine Parameter.
Mindestens zwei Datenwerte sind erforderlich, damit diese Funktion arbeitet.
Beispiele:
stddevsamp(/host/system.cpu.util[,user],10m)>7 #Auslöser, wenn die CPU-Auslastung stark schwankt (die Stichproben-Standardabweichung liegt über 7 innerhalb von 10 Minuten)
sum(/host/key,(sec|#num)<:time shift>)
Die Summe der erfassten Werte innerhalb des definierten Auswertungszeitraums.
Unterstützte Wertetypen: Float, Integer.
Unterstützte foreach-Funktionen: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.
Parameter: siehe allgemeine Parameter.
Beispiele:
sum(last_foreach(/*/net.if.in[*]?[group="Linux servers"])) #die Summe der neuesten Werte für den eingehenden Netzwerkverkehr über alle Linux-Server hinweg
sumofsquares(/host/key,(sec|#num)<:time shift>)
Die Summe der Quadrate der erfassten Werte innerhalb des definierten Auswertungszeitraums.
Unterstützte Wertetypen: Float, Integer.
Unterstützte foreach-Funktion: last_foreach.
Parameter: siehe allgemeine Parameter.
Beispiele:
sumofsquares(/host/calculated.net.if.rate,1m) #die Summe der Quadrate für die Netzwerkverkehrsrate (eingehend vs. ausgehend)
sumofsquares(last_foreach(/*/net.if.in[*]?[group="Linux servers"])) #die Summe der Quadrate der neuesten eingehenden Netzwerkverkehrswerte über alle Linux-Server hinweg
varpop(/host/key,(sec|#num)<:time shift>)
Die Populationsvarianz der erfassten Werte innerhalb des definierten Auswertungszeitraums. Siehe auch: Varianz.
Unterstützte Wertetypen: Float, Integer.
Unterstützte foreach-Funktion: last_foreach.
Parameter: siehe allgemeine Parameter.
Beispiele:
varpop(/host/system.cpu.util[,user],10m)>50 #Auslöser, wenn die CPU-Auslastung stark schwankt (Varianz liegt über 50 innerhalb von 10 Minuten)
varsamp(/host/key,(sec|#num)<:time shift>)
Die Stichprobenvarianz der erfassten Werte innerhalb des definierten Auswertungszeitraums. Siehe auch: Varianz.
Unterstützte Wertetypen: Float, Integer.
Unterstützte foreach-Funktion: last_foreach.
Parameter: siehe allgemeine Parameter.
Mindestens zwei Datenwerte sind erforderlich, damit diese Funktion funktioniert.
Beispiele:
varsamp(/host/system.cpu.util[,user],10m)>50 #Auslöser, wenn die CPU-Auslastung stark schwankt (Stichprobenvarianz liegt über 50 innerhalb von 10 Minuten)