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 direkt 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 von einer foreach-Funktion zurückgegebenen Array. |
| histogram_quantile | Berechnet das φ-Quantil aus den Buckets eines Histogramms. |
| item_count | Die Anzahl der vorhandenen 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 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/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 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) #der Durchschnittswert für die letzte Stunde bis jetzt
avg(/host/key,1h:now-1d) #der Durchschnittswert für eine Stunde von vor 25 Stunden bis vor 24 Stunden ab jetzt
avg(/host/key,#5) #der Durchschnittswert der fünf neuesten Werte
avg(/host/key,#5:now-1d) #der Durchschnittswert der fünf neuesten Werte ohne die 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 - Prozentwert (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) #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. Weitere Informationen 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 beachtende Übereinstimmung mit dem inpatternangegebenen regulären Ausdruck
iregexp - Groß-/Kleinschreibung nicht beachtende Übereinstimmung mit dem inpatternangegebenen regulären Ausdruck - 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 verlaufsbezogenen foreach-Funktion (max_foreach, avg_foreach usw.) kann sich auf die Leistung auswirken, 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
patternals zwei durch '/' getrennte Zahlen angegeben werden: 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
patternein gewöhnlicher oder global (beginnend mit '@') regulärer Ausdruck sein. 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öglichen die Referenzierung über Hostgruppe, Host, Datenpunkt-Schlüssel und Tags. Platzhalter werden unterstützt. Weitere Details 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"]) #die Anzahl der Hosts mit dem *agent.ping*-Datenpunkt in der "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 bei starken Spitzen der CPU-Auslastung über 5 Minuten
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 Speicherauslastung ü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 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)
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 in den gesammelten Werten 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 #CPU-Auslastung schwankt stark (die Populationsstandardabweichung liegt über 7)
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 allgemeine Parameter.
Für diese Funktion sind mindestens zwei Datenwerte erforderlich.
Beispiele:
stddevsamp(/host/system.cpu.util[,user],10m)>7 #Die CPU-Auslastung schwankt stark (die Stichproben-Standardabweichung liegt über 7)
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"])) #die Summe der neuesten Werte für 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 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 #CPU-Auslastung schwankt stark (die Varianz liegt über 50)
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 werden mindestens zwei Datenwerte benötigt.
Beispiele:
varsamp(/host/system.cpu.util[,user],10m)>50 #CPU usage fluctuates heavily (sample variance is above 50)