1 Aggregatfunktionen

Sofern nicht anders angegeben, werden alle hier aufgeführten Funktionen unterstützt in:

Aggregatfunktionen können mit Folgendem arbeiten:

  • 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 werden 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 Array, das von einer foreach-Funktion zurückgegeben wird.
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 "Schwänzigkeit" der Wahrscheinlichkeitsverteilung in den erfassten Werten innerhalb des definierten Auswertungszeitraums.
mad Die mediane absolute Abweichung in den erfassten Werten 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 in den erfassten Werten innerhalb des definierten Auswertungszeitraums.
stddevpop Die Populationsstandardabweichung in den erfassten Werten innerhalb des definierten Auswertungszeitraums.
stddevsamp Die Stichprobenstandardabweichung in den erfassten Werten innerhalb des definierten Auswertungszeitraums.
sum Die Summe der erfassten Werte innerhalb des definierten Auswertungszeitraums.
sumofsquares Die Summe der Quadrate in den erfassten Werten 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/key ist ein gemeinsamer obligatorischer erster Parameter für die Funktionen, die sich auf den Verlauf von Host-Datenpunkten beziehen
  • (sec|#num)<:time shift> ist ein gemeinsamer zweiter Parameter für die Funktionen, die sich auf den Verlauf von Host-Datenpunkten beziehen, wobei:
    • sec - maximale Auswertungsperiode in Sekunden (Zeit-Suffixe können verwendet werden), oder
    • #num - maximaler Auswertungsbereich in den zuletzt erfassten Werten (wenn ein Hash-Zeichen vorangestellt ist)
    • time shift (optional) ermöglicht es, den Auswertungspunkt in der Zeit zurückzuverschieben. Weitere Details zur Angabe von time shift finden Sie hier.

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/key und (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 functions: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.

Parameter: siehe common parameters.

Time shift ist nützlich, wenn der aktuelle Durchschnittswert mit dem Durchschnittswert von vor einiger Zeit verglichen werden soll.

Beispiele:

avg(/host/key,1h) #berechnet den Durchschnittswert für die letzte Stunde bis jetzt
avg(/host/key,#5) #berechnet den Durchschnittswert der fünf neuesten Werte
avg(/host/key,1h:now-1d) #berechnet den Durchschnittswert für eine Stunde von vor 25 Stunden bis vor 24 Stunden ab jetzt
avg(last_foreach(/*/system.cpu.load[,avg1]?[group="MySQL Servers"])) #berechnet die durchschnittliche Prozessorlast für alle MySQL-Server
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:

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) #berechnet die Antwortzeit des 95. Perzentils über 5 Minuten
bucket_percentile(/*/apiserver_request_duration_seconds_bucket[*],10m,99) #berechnet die API-Latenz des 99. Perzentils
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 functions: 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. Details finden Sie unter foreach functions. 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
    ge - größer oder gleich
    lt - kleiner
    le - kleiner oder gleich
    like - stimmt überein, wenn das Muster enthalten ist (Groß-/Kleinschreibung wird beachtet)
    bitand - bitweises UND
    regexp - Groß-/Kleinschreibung beachtender Abgleich des in pattern angegebenen regulären Ausdrucks
    iregexp - Groß-/Kleinschreibung ignorierender Abgleich des in pattern angegebenen regulären Ausdrucks
  • pattern - das erforderliche Muster (String-Argumente müssen in doppelte Anführungszeichen gesetzt werden); wird unterstützt, wenn operator im dritten Parameter angegeben ist.

Kommentare:

  • Die Verwendung von count() mit einer auf Historie bezogenen foreach-Funktion (max_foreach, avg_foreach usw.) kann Auswirkungen auf die Leistung haben, während die Verwendung von exists_foreach(), das nur mit Konfigurationsdaten arbeitet, diesen Effekt nicht hat.
  • Optionale Parameter operator oder pattern dürfen nach einem Komma nicht leer gelassen werden, sondern nur vollständig weggelassen werden.
  • Bei bitand als drittem Parameter kann der vierte Parameter pattern als zwei Zahlen angegeben werden, getrennt durch '/': number_to_compare_with/mask. count() berechnet das "bitweise 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 '/').
  • Bei regexp oder iregexp als drittem Parameter kann der vierte Parameter pattern ein gewöhnlicher oder global regulärer Ausdruck sein (beginnend mit '@'). Bei globalen regulären Ausdrücken wird die Groß-/Kleinschreibung von den Einstellungen des globalen regulären Ausdrucks übernommen. Für den Abgleich mit regexp werden Fließkommawerte immer mit 4 Dezimalstellen nach dem '.' dargestellt. Beachten Sie außerdem, dass bei großen Zahlen Unterschiede in der dezimalen (in der Datenbank gespeicherten) und binären (vom Zabbix Server verwendeten) Darstellung die 4. Dezimalstelle beeinflussen können.

Beispiele:

count(max_foreach(/*/net.if.in[*],1h)) #berechnet die Anzahl der net.if.in-Datenpunkte, die bis jetzt in der letzten Stunde Daten empfangen haben
count(last_foreach(/*/vfs.fs.size[*,pused]),"gt",95) #berechnet die Anzahl der Dateisysteme, bei denen mehr als 95 % des Speicherplatzes belegt sind
histogram_quantile(quantile,bucket1,value1,bucket2,value2,...)

Berechnet das φ-Quantil aus den Buckets eines Histogramms.
Unterstützte foreach function: bucket_rate_foreach.

Parameter:

  • quantile - 0 ≤ φ ≤ 1;
  • bucketN, valueN - manuell eingegebene Paare (>=2) von Parametern oder die Antwort von bucket_rate_foreach.

Kommentare:

  • Nur in berechneten Datenpunkten unterstützt;
  • Entspricht funktional 'histogram_quantile' von 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 vorhandenen Datenpunkte in der Konfiguration, die den Filterkriterien entsprechen.
Unterstützter Werttyp: Integer.

Parameter:

  • item filter - Kriterien für die Auswahl von Datenpunkten, ermöglicht die Referenzierung nach Hostgruppe, Host, Datenpunkt-Schlüssel und Tags. Platzhalter werden unterstützt. Weitere Informationen finden Sie unter item filter.

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 "Schwanzlastigkeit" der Wahrscheinlichkeitsverteilung der gesammelten Werte innerhalb des definierten Auswertungszeitraums. Siehe auch: Kurtosis.
Unterstützte Werttypen: Float, Integer.
Unterstützte foreach function: last_foreach.

Parameter: siehe common parameters.

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 mediane absolute Abweichung der gesammelten Werte innerhalb des definierten Auswertungszeitraums. Siehe auch: Median absolute deviation.
Unterstützte Werttypen: Float, Integer.
Unterstützte foreach function: last_foreach.

Parameter: siehe common parameters.

Beispiele:

last(/host/system.cpu.util[,user])>avg(/host/system.cpu.util[,user],1h)+3*mad(/host/system.cpu.util[,user],1h) #Auslöser if the last CPU utilization value is statistically significant
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 functions: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.

Parameter: siehe common parameters.

Beispiele:

max(/host/key,1h) - min(/host/key,1h) #berechnet die Differenz zwischen dem maximalen und minimalen Wert innerhalb der letzten Stunde bis jetzt (die Delta-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 Werttypen: Float, Integer.
Unterstützte foreach functions: 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 dem maximalen und dem minimalen Wert innerhalb der letzten Stunde bis jetzt (die Delta-Werte)
min(last_foreach(/*/vfs.file.contents["/sys/class/net/enp0s3/operstate"]?[group="Linux servers"])) #gibt den minimalen Betriebszustand für jede Schnittstelle über alle Linux-Server zurück
skewness(/Host/key,(sec|#num)<:time shift>)

Die Asymmetrie der Wahrscheinlichkeitsverteilung der gesammelten Werte innerhalb des definierten Auswertungszeitraums. Siehe auch: Skewness.
Unterstützte Werttypen: Float, Integer.
Unterstützte foreach function: last_foreach.

Parameter: siehe common parameters.

Beispiele:

skewness(/Host/vm.memory.size[used],5m)<-20 #trigger on sudden negative drops indicating crashes/restarts
stddevpop(/host/key,(sec|#num)<:time shift>)

Die Populationsstandardabweichung der gesammelten Werte innerhalb des definierten Auswertungszeitraums. Siehe auch: Standardabweichung.
Unterstützte Werttypen: Float, Integer.
Unterstützte foreach function: last_foreach.

Parameter: siehe allgemeine Parameter.

Beispiele:

stddevpop(/host/system.cpu.util[,user],10m)>7 #Auslöser if CPU usage fluctuates heavily (population standard deviation is above 7 over 10 minutes)
stddevsamp(/host/key,(sec|#num)<:time shift>)

Die Stichproben-Standardabweichung der erfassten Werte innerhalb des definierten Auswertungszeitraums. Siehe auch: Standardabweichung.
Unterstützte Werttypen: Float, Integer.
Unterstützte foreach function: last_foreach.

Parameter: siehe gemeinsame Parameter.

Für diese Funktion sind mindestens zwei Datenwerte erforderlich.

Beispiele:

stddevsamp(/host/system.cpu.util[,user],10m)>7 #Auslöser, wenn die CPU-Auslastung stark schwankt (die Stichproben-Standardabweichung liegt über 7 über 10 Minuten)
sum(/host/key,(sec|#num)<:time shift>)

Die Summe der gesammelten Werte innerhalb des definierten Auswertungszeitraums.
Unterstützte Werttypen: Float, Integer.
Unterstützte foreach functions: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.

Parameter: siehe common parameters.

Beispiele:

sum(last_foreach(/*/net.if.in[*]?[group="Linux servers"])) #berechnet den gesamten eingehenden Netzwerkverkehr für alle Linux-Server
sum(last_foreach(/*/vfs.fs.size[/,total]?[group="MySQL Servers"])) #berechnet den gesamten Speicherplatz für alle MySQL-Server
sum(last_foreach(/*/net.dns[*,*,*])) #berechnet die Gesamtzahl der erfolgreichen DNS-Prüfungen
sumofsquares(/host/key,(sec|#num)<:time shift>)

Die Summe der Quadrate der erfassten Werte innerhalb des definierten Auswertungszeitraums.
Unterstützte Werttypen: Float, Integer.
Unterstützte foreach function: last_foreach.

Parameter: siehe common parameters.

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 für die 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 Werttypen: Float, Integer.
Unterstützte foreach function: last_foreach.

Parameter: siehe common parameters.

Beispiele:

varpop(/Host/system.cpu.util[,user],10m)>50 #Auslöser, wenn die CPU-Auslastung stark schwankt (die 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 Werttypen: Float, Integer.
Unterstützte foreach function: last_foreach.

Parameter: siehe common parameters.

Für diese Funktion sind mindestens zwei Datenwerte erforderlich.

Beispiele:

varsamp(/host/system.cpu.util[,user],10m)>50 #Auslöser, wenn die CPU-Auslastung stark schwankt (die Stichprobenvarianz liegt über 50 innerhalb von 10 Minuten)

Siehe alle unterstützten Funktionen.