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/key ist 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/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 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.

Die Zeitverschiebung ist nützlich, wenn der aktuelle Durchschnittswert mit dem Durchschnittswert eines früheren Zeitpunkts 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 ohne die in den letzten 24 Stunden empfangenen Werte
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)).
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 beachtender Abgleich mit dem in pattern angegebenen regulären Ausdruck
    iregexp - Groß-/Kleinschreibung ignorierender Abgleich mit dem in pattern angegebenen 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 pattern als zwei durch '/' getrennte Zahlen angegeben werden: number_to_compare_with/mask. count() berechnet aus dem Wert und der mask ein „bitweises UND“ 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 pattern ein gewöhnlicher oder globaler (mit '@' beginnender) 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 Darstellung (in der Datenbank gespeichert) und der binären Darstellung (vom Zabbix Server verwendet) die 4. Dezimalstelle beeinflussen können.

Beispiele:

count(max_foreach(/*/net.if.in[*],1h)) #die Anzahl der net.if.in-Datenpunkte, die in der letzten Stunde bis jetzt Daten empfangen haben
count(last_foreach(/*/vfs.fs.size[*,pused]),"gt",95) #die Anzahl der Dateisysteme mit mehr als 95 % belegtem Speicherplatz
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' 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 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"]) #die Anzahl der Hosts mit dem Datenpunkt *agent.ping* in der "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 Wertetypen: Float, Integer.
Unterstützte foreach-Funktion: last_foreach.

Parameter: siehe allgemeine Parameter.

Beispiel:

kurtosis(/host/key,1h) #Kurtosis für die letzte Stunde bis jetzt
mad(/host/key,(sec|#num)<:time shift>)

Die mediane absolute Abweichung der erfassten Werte innerhalb des definierten Auswertungszeitraums. Siehe auch: Mediane absolute Abweichung.
Unterstützte Wertetypen: Float, Integer.
Unterstützte foreach-Funktion: last_foreach.

Parameter: siehe allgemeine Parameter.

Beispiel:

mad(/host/key,1h) #mediane absolute Abweichung für die letzte Stunde bis jetzt
max(/host/key,(sec|#num)<:time shift>)

Der höchste 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.

Beispiel:

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)
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.

Beispiel:

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)
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.

Beispiel:

skewness(/host/key,1h) #die Schiefe für die letzte Stunde bis jetzt
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.

Beispiel:

stddevpop(/host/key,1h) #die Populationsstandardabweichung für die letzte Stunde bis jetzt
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.

Damit diese Funktion arbeitet, sind mindestens zwei Datenwerte erforderlich.

Beispiel:

stddevsamp(/host/key,1h) #die Stichproben-Standardabweichung für die letzte Stunde bis jetzt
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.

Beispiel:

sum(/host/key,1h) #die Summe der Werte der letzten Stunde bis jetzt
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.

Beispiel:

sumofsquares(/host/key,1h) #die Summe der Quadrate der letzten Stunde bis jetzt
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.

Beispiel:

varpop(/host/key,1h) #die Populationsvarianz der letzten Stunde bis jetzt
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.

Damit diese Funktion funktioniert, sind mindestens zwei Datenwerte erforderlich.

Beispiel:

varsamp(/host/key,1h) #die Stichprobenvarianz der letzten Stunde bis jetzt

Siehe alle unterstützten Funktionen.