[comment]: # attributes: notoc

[comment]: # ({ac717204-ee60e21e})
# 1 Aggregatfunktionen

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

-   [Ausdrucks-Trigger](/manual/config/triggers/expression)
-   [Berechnete Datenpunkte](/manual/config/items/itemtypes/calculated)
-   [Ausdrucksmakros](/manual/config/macros/expression_macros)

Aggregatfunktionen können mit Folgendem arbeiten:

-   der Historie von Datenpunkten, zum Beispiel `min(/host/key,1h)`
-   [foreach-Funktionen](/manual/appendix/functions/aggregate/foreach) 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](#avg)|Der Durchschnittswert eines Datenpunkts innerhalb des definierten Auswertungszeitraums.|
|[bucket_percentile](#bucket-percentile)|Berechnet das Perzentil aus den Buckets eines Histogramms.|
|[count](#count)|Die Anzahl der Werte in einem Array, das von einer foreach-Funktion zurückgegeben wird.|
|[histogram_quantile](#histogram-quantile)|Berechnet das φ-Quantil aus den Buckets eines Histogramms.|
|[item_count](#item-count)|Die Anzahl vorhandener Datenpunkte in der Konfiguration, die den Filterkriterien entsprechen.|
|[kurtosis](#kurtosis)|Die "Schwänzigkeit" der Wahrscheinlichkeitsverteilung in den erfassten Werten innerhalb des definierten Auswertungszeitraums.|
|[mad](#mad)|Die mediane absolute Abweichung in den erfassten Werten innerhalb des definierten Auswertungszeitraums.|
|[max](#max)|Der höchste Wert eines Datenpunkts innerhalb des definierten Auswertungszeitraums.|
|[min](#min)|Der niedrigste Wert eines Datenpunkts innerhalb des definierten Auswertungszeitraums.|
|[skewness](#skewness)|Die Asymmetrie der Wahrscheinlichkeitsverteilung in den erfassten Werten innerhalb des definierten Auswertungszeitraums.|
|[stddevpop](#stddevpop)|Die Populationsstandardabweichung in den erfassten Werten innerhalb des definierten Auswertungszeitraums.|
|[stddevsamp](#stddevsamp)|Die Stichprobenstandardabweichung in den erfassten Werten innerhalb des definierten Auswertungszeitraums.|
|[sum](#sum)|Die Summe der erfassten Werte innerhalb des definierten Auswertungszeitraums.|
|[sumofsquares](#sumofsquares)|Die Summe der Quadrate in den erfassten Werten innerhalb des definierten Auswertungszeitraums.|
|[varpop](#varpop)|Die Populationsvarianz der erfassten Werte innerhalb des definierten Auswertungszeitraums.|
|[varsamp](#varsamp)|Die Stichprobenvarianz der erfassten Werte innerhalb des definierten Auswertungszeitraums.|

[comment]: # ({/ac717204-ee60e21e})

[comment]: # ({2acead3e-4d343eb8})
#### 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](/manual/config/triggers#evaluation-period) in Sekunden
        (Zeit-[Suffixe](/manual/appendix/suffixes) können verwendet werden), oder
    -   **\#num** - maximaler [Auswertungsbereich](/manual/config/triggers#evaluation-period) 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](/manual/config/triggers/expression#time-shift) zur Angabe von time shift finden Sie hier.

[comment]: # ({/2acead3e-4d343eb8})

[comment]: # ({c645f0e4-fe53c04c})
### 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

[comment]: # ({/c645f0e4-fe53c04c})

[comment]: # ({85535fd1-f5993b4c})
##### avg(/host/key,(sec|#num)<:time shift>) {#avg}

Der Durchschnittswert eines Datenpunkts innerhalb des definierten Auswertungszeitraums.<br>
Unterstützte Werttypen: *Float*, *Integer*.<br>
Unterstützte [foreach functions](/manual/appendix/functions/aggregate/foreach): *avg_foreach*, *count_foreach*, *exists_foreach*, *last_foreach*, *max_foreach*, *min_foreach*, *sum_foreach*.

Parameter: siehe [common parameters](#common-parameters).

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

Beispiele:

```default
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
```

[comment]: # ({/85535fd1-f5993b4c})

[comment]: # ({9237fab4-af24d13f})
##### bucket_percentile(item filter,time period,percentage) {#bucket-percentile}

Berechnet das Perzentil aus den Buckets eines Histogramms.<br>

Parameter: 

-   **item filter** - siehe [item filter](/manual/appendix/functions/aggregate/foreach#item-filter-syntax);<br>
-   **time period** - siehe [time period](/manual/appendix/functions/aggregate/foreach#time-period);<br>
-   **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:

```default
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
```

[comment]: # ({/9237fab4-af24d13f})

[comment]: # ({6e12bb62-3c498650})
##### count(func_foreach(item filter,<time period>),<operator>,<pattern>) {#count}

Die Anzahl der Werte in einem Array, das von einer foreach-Funktion zurückgegeben wird.<br>
Unterstützte [foreach functions](/manual/appendix/functions/aggregate/foreach): *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](/manual/appendix/functions/aggregate/foreach). Beachten Sie, dass count_foreach und bucket_rate_foreach [zusätzliche Parameter](/manual/appendix/functions/aggregate/foreach#additional-parameters) unterstützen.
-   **item filter** - siehe [item filter](/manual/appendix/functions/aggregate/foreach#item-filter-syntax);<br>
-   **time period** - siehe [time period](/manual/appendix/functions/aggregate/foreach#time-period);<br>
-   **operator** (muss in doppelte Anführungszeichen gesetzt werden). Unterstützte `operators`:<br>*eq* - gleich<br>*ne* - ungleich<br>*gt* - größer<br>*ge* - größer oder gleich<br>*lt* - kleiner<br>*le* - kleiner oder gleich<br>*like* - stimmt überein, wenn das Muster enthalten ist (Groß-/Kleinschreibung wird beachtet)<br>*bitand* - bitweises UND<br>*regexp* - Groß-/Kleinschreibung beachtender Abgleich des in `pattern` angegebenen regulären Ausdrucks<br>*iregexp* - Groß-/Kleinschreibung ignorierender Abgleich des in `pattern` angegebenen regulären Ausdrucks<br>
-   **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.<br>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](/manual/regular_expressions#global-regular-expressions) 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:

```default
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
```

[comment]: # ({/6e12bb62-3c498650})

[comment]: # ({f07c0983-f3ad7158})
##### histogram_quantile(quantile,bucket1,value1,bucket2,value2,...) {#histogram-quantile}

Berechnet das φ-Quantil aus den Buckets eines Histogramms.<br>
Unterstützte [foreach function](/manual/appendix/functions/aggregate/foreach): *bucket_rate_foreach*.

Parameter: 

-   **quantile** - 0 ≤ φ ≤ 1;<br>
-   **bucketN, valueN** - manuell eingegebene Paare (>=2) von Parametern oder die Antwort von [bucket_rate_foreach](/manual/appendix/functions/aggregate/foreach).

Kommentare:

-   Nur in berechneten Datenpunkten unterstützt;
-   Entspricht funktional '[histogram\_quantile](https://prometheus.io/docs/prometheus/latest/querying/functions/#histogram-quantile)' von PromQL;
-   Gibt -1 zurück, wenn die Werte des letzten 'Infinity'-Buckets (*"+inf"*) gleich 0 sind.

Beispiele:

```default
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))
```

[comment]: # ({/f07c0983-f3ad7158})

[comment]: # ({90ddddd2-c8e3133a})
##### item_count(item filter) {#item-count}

Die Anzahl der vorhandenen Datenpunkte in der Konfiguration, die den Filterkriterien entsprechen.<br>
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](/manual/appendix/functions/aggregate/foreach#item-filter-syntax).<br>

Kommentare:

-   Nur in berechneten Datenpunkten unterstützt;
-   Funktioniert als Alias für die Funktion *count(exists_foreach(item_filter))*.

Beispiele:

```default
item_count(/*/agent.ping?[group="Host group 1"]) #calculate the number of hosts with the agent.ping item in "Host group 1"
```

[comment]: # ({/90ddddd2-c8e3133a})

[comment]: # ({ad613717-88a54099})
##### kurtosis(/host/key,(sec|#num)<:time shift>) {#kurtosis}

Die "Schwanzlastigkeit" der Wahrscheinlichkeitsverteilung der gesammelten Werte innerhalb des definierten Auswertungszeitraums. Siehe auch: [Kurtosis](https://en.wikipedia.org/wiki/Kurtosis).<br>
Unterstützte Werttypen: *Float*, *Integer*.<br>
Unterstützte [foreach function](/manual/appendix/functions/aggregate/foreach): *last_foreach*.

Parameter: siehe [common parameters](#common-parameters).

Beispiele:

```default
kurtosis(/host/system.cpu.util[,user],5m)>5 #trigger on sharp spikes of CPU utilization over 5 minutes
```

[comment]: # ({/ad613717-88a54099})

[comment]: # ({1b18c768-bfb43a27})
##### mad(/host/key,(sec|#num)<:time shift>) {#mad}

Die mediane absolute Abweichung der gesammelten Werte innerhalb des definierten Auswertungszeitraums. Siehe auch: [Median absolute deviation](https://en.wikipedia.org/wiki/Median_absolute_deviation).<br>
Unterstützte Werttypen: *Float*, *Integer*.<br>
Unterstützte [foreach function](/manual/appendix/functions/aggregate/foreach): *last_foreach*.

Parameter: siehe [common parameters](#common-parameters).

Beispiele:

```default
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
```

[comment]: # ({/1b18c768-bfb43a27})

[comment]: # ({9ac9dd89-5882010b})
##### max(/host/key,(sec|#num)<:time shift>) {#max}

Der höchste Wert eines Datenpunkts innerhalb des definierten Auswertungszeitraums.<br>
Unterstützte Werttypen: *Float*, *Integer*.<br>
Unterstützte [foreach functions](/manual/appendix/functions/aggregate/foreach): *avg_foreach*, *count_foreach*, *exists_foreach*, *last_foreach*, *max_foreach*, *min_foreach*, *sum_foreach*.

Parameter: siehe [common parameters](#common-parameters).

Beispiele:

```default
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
```

[comment]: # ({/9ac9dd89-5882010b})

[comment]: # ({471d86a5-ffd1e499})
##### min(/host/key,(sec|#num)<:time shift>) {#min}

Der niedrigste Wert eines Datenpunkts innerhalb des definierten Auswertungszeitraums.<br>
Unterstützte Werttypen: *Float*, *Integer*.<br>
Unterstützte [foreach functions](/manual/appendix/functions/aggregate/foreach): *avg_foreach*, *count_foreach*, *exists_foreach*, *last_foreach*, *max_foreach*, *min_foreach*, *sum_foreach*.

Parameter: siehe [allgemeine Parameter](#common-parameters).

Beispiele:

```default
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
```

[comment]: # ({/471d86a5-ffd1e499})

[comment]: # ({8d966168-6b6fb273})
##### skewness(/Host/key,(sec|#num)<:time shift>) {#skewness}

Die Asymmetrie der Wahrscheinlichkeitsverteilung der gesammelten Werte innerhalb des definierten Auswertungszeitraums. Siehe auch: [Skewness](https://en.wikipedia.org/wiki/Skewness).<br>
Unterstützte Werttypen: *Float*, *Integer*.<br>
Unterstützte [foreach function](/manual/appendix/functions/aggregate/foreach): *last_foreach*.

Parameter: siehe [common parameters](#common-parameters).

Beispiele:

```default
skewness(/Host/vm.memory.size[used],5m)<-20 #trigger on sudden negative drops indicating crashes/restarts
```

[comment]: # ({/8d966168-6b6fb273})

[comment]: # ({0b3aca57-11c2ea25})
##### stddevpop(/host/key,(sec|#num)<:time shift>) {#stddevpop}

Die Populationsstandardabweichung der gesammelten Werte innerhalb des definierten Auswertungszeitraums. Siehe auch: [Standardabweichung](https://en.wikipedia.org/wiki/Standard_deviation).<br>
Unterstützte Werttypen: *Float*, *Integer*.<br>
Unterstützte [foreach function](/manual/appendix/functions/aggregate/foreach): *last_foreach*.

Parameter: siehe [allgemeine Parameter](#common-parameters).

Beispiele:

```default
stddevpop(/host/system.cpu.util[,user],10m)>7 #Auslöser if CPU usage fluctuates heavily (population standard deviation is above 7 over 10 minutes)
```

[comment]: # ({/0b3aca57-11c2ea25})

[comment]: # ({f7108164-1db77c44})
##### stddevsamp(/host/key,(sec|#num)<:time shift>) {#stddevsamp}

Die Stichproben-Standardabweichung der erfassten Werte innerhalb des definierten Auswertungszeitraums. Siehe auch: [Standardabweichung](https://en.wikipedia.org/wiki/Standard_deviation).<br>
Unterstützte Werttypen: *Float*, *Integer*.<br>
Unterstützte [foreach function](/manual/appendix/functions/aggregate/foreach): *last_foreach*.

Parameter: siehe [gemeinsame Parameter](#common-parameters).

Für diese Funktion sind mindestens zwei Datenwerte erforderlich.

Beispiele:

```default
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)
```

[comment]: # ({/f7108164-1db77c44})

[comment]: # ({740c263a-0ecf79eb})
##### sum(/host/key,(sec|#num)<:time shift>) {#sum}

Die Summe der gesammelten Werte innerhalb des definierten Auswertungszeitraums.<br>
Unterstützte Werttypen: *Float*, *Integer*.<br>
Unterstützte [foreach functions](/manual/appendix/functions/aggregate/foreach): *avg_foreach*, *count_foreach*, *exists_foreach*, *last_foreach*, *max_foreach*, *min_foreach*, *sum_foreach*.

Parameter: siehe [common parameters](#common-parameters).

Beispiele:

```default
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
```

[comment]: # ({/740c263a-0ecf79eb})

[comment]: # ({57e39842-6f6556f2})
##### sumofsquares(/host/key,(sec|#num)<:time shift>) {#sumofsquares}

Die Summe der Quadrate der erfassten Werte innerhalb des definierten Auswertungszeitraums.<br>
Unterstützte Werttypen: *Float*, *Integer*.<br>
Unterstützte [foreach function](/manual/appendix/functions/aggregate/foreach): *last_foreach*.

Parameter: siehe [common parameters](#common-parameters).

Beispiele:

```default
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
```

[comment]: # ({/57e39842-6f6556f2})

[comment]: # ({a61bfa35-d299bd33})
##### varpop(/Host/key,(sec|#num)<:time shift>) {#varpop}

Die Populationsvarianz der erfassten Werte innerhalb des definierten Auswertungszeitraums. Siehe auch: [Varianz](https://en.wikipedia.org/wiki/Variance).<br>
Unterstützte Werttypen: *Float*, *Integer*.<br>
Unterstützte [foreach function](/manual/appendix/functions/aggregate/foreach): *last_foreach*.

Parameter: siehe [common parameters](#common-parameters).

Beispiele:

```default
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)
```

[comment]: # ({/a61bfa35-d299bd33})

[comment]: # ({146891fb-b1bc041c})
##### varsamp(/host/key,(sec|#num)<:time shift>) {#varsamp}

Die Stichprobenvarianz der erfassten Werte innerhalb des definierten Auswertungszeitraums. Siehe auch: [Varianz](https://en.wikipedia.org/wiki/Variance).<br>
Unterstützte Werttypen: *Float*, *Integer*.<br>
Unterstützte [foreach function](/manual/appendix/functions/aggregate/foreach): *last_foreach*.

Parameter: siehe [common parameters](#common-parameters).

Für diese Funktion sind mindestens zwei Datenwerte erforderlich.

Beispiele:

```default
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)
```

[comment]: # ({/146891fb-b1bc041c})

[comment]: # ({ba59dd3a-541616fc})
Siehe [alle unterstützten Funktionen](/manual/appendix/functions).

[comment]: # ({/ba59dd3a-541616fc})

