[comment]: # attributes: notoc

[comment]: # ({e82d3ccb-a4f8cca1})
# 5 Trend-Funktionen

Trend-Funktionen verwenden im Gegensatz zu [History-Funktionen](/manual/appendix/functions/history) [Trend](/manual/config/items/history_and_trends#keeping-trends)-Daten für Berechnungen.

Trends speichern stündliche aggregierte Werte.
Trend-Funktionen verwenden diese stündlichen Durchschnittswerte und sind daher für Langzeitanalysen nützlich.

Die Ergebnisse von Trend-Funktionen werden zwischengespeichert, sodass mehrere Aufrufe derselben Funktion mit denselben Parametern Informationen aus der Datenbank nur einmal abrufen.
Der Cache für Trend-Funktionen wird durch den Server-Parameter [TrendFunctionCacheSize](/manual/appendix/config/zabbix_server#trendfunctioncachesize) gesteuert.

Auslöser, die **nur** Trend-Funktionen referenzieren, werden einmal pro kleinstem Zeitintervall im Ausdruck ausgewertet.
Zum Beispiel wird ein Auslöser wie

```default
trendavg(/host/key,1d:now/d) > 1 or trendavg(/host/key2,1w:now/w) > 2
```

einmal pro Tag ausgewertet.
Wenn der Auslöser sowohl Trend- als auch History-Funktionen (oder [Datum und Uhrzeit](/manual/appendix/functions/time) und/oder [nodata()](/manual/appendix/functions/history#nodata)) enthält, wird er gemäß den [üblichen Prinzipien](/manual/config/triggers#calculation-time) berechnet.

Alle hier aufgeführten Funktionen werden unterstützt in:

-   [Ausdrucksdefinitionen für Auslöser](/manual/config/triggers/expression)
-   [Berechnete Datenpunkte](/manual/config/items/itemtypes/calculated)
-   [Ausdrucksmakros](/manual/config/macros/expression_macros)

Die Funktionen werden ohne zusätzliche Informationen aufgelistet.
Klicken Sie auf die Funktion, um die vollständigen Details anzuzeigen.

|Function|Description|
|--|--------|
|[baselinedev](#baselinedev)|Gibt die Anzahl der Abweichungen (nach dem stddevpop-Algorithmus) zwischen dem letzten Datenzeitraum und denselben Datenzeiträumen in vorherigen Saisons zurück.|
|[baselinewma](#baselinewma)|Berechnet die Basislinie, indem Daten aus demselben Zeitfenster in mehreren gleich langen Zeiträumen ("Saisons") mithilfe des gewichteten gleitenden Durchschnittsalgorithmus gemittelt werden.|
|[trendavg](#trendavg)|Der Durchschnitt der Trendwerte innerhalb des definierten Zeitraums.|
|[trendcount](#trendcount)|Die Anzahl der erfolgreich abgerufenen History-Werte, die zur Berechnung des Trendwerts innerhalb des definierten Zeitraums verwendet werden.|
|[trendmax](#trendmax)|Der Maximalwert der Trendwerte innerhalb des definierten Zeitraums.|
|[trendmin](#trendmin)|Der Minimalwert der Trendwerte innerhalb des definierten Zeitraums.|
|[trendstl](#trendstl)|Gibt die Rate der Anomalien während des Erkennungszeitraums zurück - ein Dezimalwert zwischen 0 und 1, der `((the number of anomaly values)/(total number of values))` entspricht.|
|[trendsum](#trendsum)|Die Summe der Trendwerte innerhalb des definierten Zeitraums.|

[comment]: # ({/e82d3ccb-a4f8cca1})

[comment]: # ({9b47c9ce-2a63633f})
##### Allgemeine Parameter

-   `/host/key` ist ein allgemeiner obligatorischer erster Parameter
-   `time period:time shift` ist ein allgemeiner zweiter Parameter, wobei:
    -   **time period** - der Zeitraum (mindestens „1h“), definiert als \<N>\<Zeiteinheit>, wobei `N` - die Anzahl der Zeiteinheiten ist, `time unit` - h (Stunde), d (Tag), w (Woche), M (Monat) oder y (Jahr).
    -   **time shift** - der [Versatz des Zeitraums](/manual/config/triggers/expression#time-shift) (siehe Funktionsbeispiele)

[comment]: # ({/9b47c9ce-2a63633f})

[comment]: # ({405ac9eb-bbe5ecf2})
### Funktionsdetails

Einige allgemeine Hinweise zu Funktionsparametern:

-   Funktionsparameter werden durch ein Komma getrennt
-   Optionale Funktionsparameter (oder Parameterteile) werden durch `<` `>` angegeben
-   Funktionsspezifische Parameter werden bei jeder Funktion beschrieben
-   Die Parameter `/host/key` und `time period:time shift` dürfen niemals in Anführungszeichen gesetzt werden

[comment]: # ({/405ac9eb-bbe5ecf2})

[comment]: # ({e17e8d2f-f42e2c92})
##### baselinedev(/host/key,data period:time shift,season unit,num seasons) {#baselinedev}

Gibt die Anzahl der Abweichungen (nach dem Algorithmus stddevpop) zwischen dem letzten Datenzeitraum und denselben Datenzeiträumen in vorhergehenden Saisons zurück.<br>

Parameter: 

-   Siehe [gemeinsame Parameter](#common-parameters)<br>
-   **data period** - der Datenerfassungszeitraum innerhalb einer Saison, definiert als <N><time unit>, wobei:<br>`N` - die Anzahl der Zeiteinheiten<br>`time unit` - h (Stunde), d (Tag), w (Woche), M (Monat) oder y (Jahr); muss gleich oder kleiner als die Saison sein<br>
-   **season unit** - die Kalendereinheit, die eine Saison definiert (h, d, w, M, y); darf nicht kleiner als **data period** sein<br> 
-   **num seasons** - die Anzahl der auszuwertenden Saisons

Beispiele:

```default
baselinedev(/host/key,1d:now/d,"M",6) #Berechnung der Anzahl der Standardabweichungen (Population) zwischen dem vorherigen Tag und demselben Tag in den vorherigen 6 Monaten. Falls das Datum in einem vorherigen Monat nicht existiert, wird der letzte Tag des Monats verwendet (Jul,31 wird mit Jan,31, Feb, 28, ... June, 30 verglichen)
baselinedev(/host/key,1h:now/h,"d",10)  #Berechnung der Anzahl der Populations-Standardabweichungen zwischen der vorherigen Stunde und derselben Tagesstunde über die 10 vorhergehenden Tage
```

[comment]: # ({/e17e8d2f-f42e2c92})

[comment]: # ({508adac0-447a9dac})
##### baselinewma(/host/key,data period:time shift,season unit,num seasons) {#baselinewma}

Berechnet die Baseline durch Mittelung von Daten aus demselben Zeitrahmen in mehreren gleich langen Zeitperioden („Saisons“) unter Verwendung des Algorithmus des gewichteten gleitenden Durchschnitts.<br>

Parameter: 

-   Siehe [allgemeine Parameter](#common-parameters)<br>
-   **Datenperiode** - der Datenerfassungszeitraum innerhalb einer Saison, definiert als <N><Zeiteinheit>, wobei:<br>`N` - die Anzahl der Zeiteinheiten<br>`Zeiteinheit` - h (Stunde), d (Tag), w (Woche), M (Monat) oder y (Jahr); muss gleich oder kleiner als die Saison sein<br>Zeitverschiebung - der Offset der Zeitperiode; definiert das Ende des Datenerfassungszeitraums in Saisons (siehe Beispiele)<br>
-   **Saisoneinheit** - die Kalendereinheit, die eine Saison definiert (h, d, w, M, y); darf nicht kleiner als die Datenperiode sein<br>
-   **Anzahl Saisons** - die Anzahl der auszuwertenden Saisons

Beispiele:

```default
baselinewma(/host/key,1h:now/h,"d",3) #Berechnung der Baseline aus derselben Tagesstunde über die letzten 3 vollen Tage bis einschließlich gestern. Wenn "now" Montag 13:30 ist, werden die Daten für 12:00-12:59 von Freitag, Samstag und Sonntag analysiert
baselinewma(/host/key,2h:now/h,"d",3) #Berechnung der Baseline aus demselben Zwei-Stunden-Zeitrahmen über die letzten 3 vollen Tage bis einschließlich gestern. Wenn "now" Montag 13:30 ist, werden die Daten für 11:00-12:59 von Freitag, Samstag und Sonntag analysiert
baselinewma(/host/key,1d:now/d,"M",4) #Berechnung der Baseline aus demselben Kalendertag wie „gestern“ über die 4 Monate vor dem letzten vollen Monat. Falls das erforderliche Datum nicht existiert, wird der letzte Tag des Monats verwendet. Wenn heute der 1. September ist, werden die Daten für den 31. Juli, 30. Juni, 31. Mai und 30. April analysiert.
```

[comment]: # ({/508adac0-447a9dac})

[comment]: # ({2e9dd145-50d2db8d})
##### trendavg(/host/key,time period:time shift) {#trendavg}

Der Durchschnitt der Trendwerte innerhalb des definierten Zeitraums.

Parameter: 

-   Siehe [allgemeine Parameter](#common-parameters)

Beispiele:

```default
trendavg(/host/key,1h:now/h) #der Durchschnitt für die vorherige Stunde (z. B. 12:00-13:00)
trendavg(/host/key,1h:now/h-1h) #der Durchschnitt für vor zwei Stunden (11:00-12:00)
trendavg(/host/key,1h:now/h-2h) #der Durchschnitt für vor drei Stunden (10:00-11:00)
trendavg(/host/key,1M:now/M-1y) #der Durchschnitt für den vorherigen Monat vor einem Jahr
```

[comment]: # ({/2e9dd145-50d2db8d})

[comment]: # ({533dfdf1-d66e1f00})
##### trendcount(/host/key,time period:time shift) {#trendcount}

Die Anzahl der erfolgreich abgerufenen Verlaufswerte, die zur Berechnung des Trendwerts innerhalb des definierten Zeitraums verwendet werden.

Parameter: 

-   Siehe [allgemeine Parameter](#common-parameters)

Beispiele:

```default
trendcount(/host/key,1h:now/h) #die Anzahl der Werte für die vorherige Stunde (z. B. 12:00-13:00)
trendcount(/host/key,1h:now/h-1h) #die Anzahl der Werte für vor zwei Stunden (11:00-12:00)
trendcount(/host/key,1h:now/h-2h) #die Anzahl der Werte für vor drei Stunden (10:00-11:00)
trendcount(/host/key,1M:now/M-1y) #die Anzahl der Werte für den vorherigen Monat vor einem Jahr
```

[comment]: # ({/533dfdf1-d66e1f00})

[comment]: # ({f0a89e58-43665d11})
##### trendmax(/host/key,time period:time shift) {#trendmax}

Das Maximum der Trendwerte innerhalb des definierten Zeitraums.

Parameter: 

-   Siehe [allgemeine Parameter](#common-parameters)

Beispiele:

```default
trendmax(/host/key,1h:now/h) #das Maximum für die vorherige Stunde (z. B. 12:00-13:00)
trendmax(/host/key,1h:now/h) - trendmin(/host/key,1h:now/h) → berechnet die Differenz zwischen dem Maximum und Minimum (Trenddelta) für die vorherige Stunde (12:00-13:00)
trendmax(/host/key,1h:now/h-1h) #das Maximum für vor zwei Stunden (11:00-12:00)
trendmax(/host/key,1h:now/h-2h) #das Maximum für vor drei Stunden (10:00-11:00)
trendmax(/host/key,1M:now/M-1y) #das Maximum für den vorherigen Monat vor einem Jahr
```

[comment]: # ({/f0a89e58-43665d11})

[comment]: # ({793872d7-3c0143a2})
##### trendmin(/host/key,time period:time shift) {#trendmin}

Das Minimum der Trendwerte innerhalb des definierten Zeitraums.

Parameter: 

-   Siehe [gemeinsame Parameter](#common-parameters)

Beispiele:

```default
trendmin(/host/key,1h:now/h) #das Minimum für die vorherige Stunde (z. B. 12:00-13:00)
trendmax(/host/key,1h:now/h) - trendmin(/host/key,1h:now/h) → berechnet die Differenz zwischen den Maximum- und Minimumwerten (Trenddelta) für die vorherige Stunde (12:00-13:00)
trendmin(/host/key,1h:now/h-1h) #das Minimum für vor zwei Stunden (11:00-12:00)
trendmin(/host/key,1h:now/h-2h) #das Minimum für vor drei Stunden (10:00-11:00)
trendmin(/host/key,1M:now/M-1y) #das Minimum für den vorherigen Monat vor einem Jahr
```

[comment]: # ({/793872d7-3c0143a2})

[comment]: # ({0ebc63ad-aba289ed})
##### trendstl(/host/key,eval period:time shift,detection period,season,<deviations>,<devalg>,<s window>) {#trendstl}

Gibt die Rate der Anomalien während des Erkennungszeitraums zurück – einen Dezimalwert zwischen 0 und 1, der `((Anzahl der Anomaliewerte)/(Gesamtzahl der Werte))` entspricht.

Parameter: 

-   Siehe [allgemeine Parameter](#common-parameters)<br>
-   **eval period** - der Zeitraum, der zerlegt werden muss (Minimum „1h“), definiert als <N><time unit>, wobei<br>`N` - die Anzahl der Zeiteinheiten<br>`time unit` - h (Stunde), d (Tag), w (Woche), M (Monat) oder y (Jahr)<br>
-   **detection period** - der Zeitraum vor dem Ende von eval period, für den Anomalien berechnet werden (Minimum „1h“, darf nicht länger als eval period sein), definiert als <N><time unit>, wobei<br>`N` - die Anzahl der Zeiteinheiten<br>`time unit` - h (Stunde), d (Tag), w (Woche)<br>
-   **season** - der kürzeste Zeitraum, in dem ein sich wiederholendes Muster („Saison“) erwartet wird (Minimum „2h“, darf nicht länger als eval period sein, die Anzahl der Einträge in eval period muss größer sein als das Doppelte der resultierenden Frequenz (season/h)), definiert als <N><time unit>, wobei<br>`N` - die Anzahl der Zeiteinheiten<br>`time unit` - h (Stunde), d (Tag), w (Woche)
-   **deviations** - die Anzahl der Abweichungen (berechnet durch devalg), die als Anomalie gezählt werden (kann dezimal sein), (muss größer oder gleich 1 sein, Standardwert ist 3)
-   **devalg** (muss in doppelte Anführungszeichen gesetzt werden) - der Abweichungsalgorithmus; kann *stddevpop*, *stddevsamp* oder *mad* (Standard) sein
-   **s window** - die Spannweite (in Lags) des loess-Fensters für die saisonale Extraktion (Standard ist 10 * Anzahl der Einträge in eval period + 1)

Beispiele:

```default
trendstl(/host/key,100h:now/h,10h,2h) #analysiert die letzten 100 Stunden der Trenddaten, ermittelt die Anomalierate für die letzten 10 Stunden dieses Zeitraums, wobei eine Periodizität von 2h erwartet wird; die Werte der Restreihe des Auswertungszeitraums werden als Anomalien betrachtet, wenn sie den Wert von 3 Abweichungen der MAD dieser Restreihe erreichen
trendstl(/host/key,100h:now/h-10h,100h,2h,2.1,"mad") #analysiert einen Zeitraum von 100 Stunden Trenddaten bis vor 10 Stunden, ermittelt die Anomalierate für diesen gesamten Zeitraum, wobei eine Periodizität von 2h erwartet wird; die Werte der Restreihe des Auswertungszeitraums werden als Anomalien betrachtet, wenn sie den Wert von 2,1 Abweichungen der MAD dieser Restreihe erreichen
trendstl(/host/key,100d:now/d-1d,10d,1d,4,,10) #analysiert 100 Tage Trenddaten bis vor einem Tag, ermittelt die Anomalierate für die letzten 10d dieses Zeitraums, wobei eine Periodizität von 1d erwartet wird; die Werte der Restreihe des Auswertungszeitraums werden als Anomalien betrachtet, wenn sie den Wert von 4 Abweichungen der MAD dieser Restreihe erreichen, wobei die Standardspannweite des loess-Fensters für die saisonale Extraktion von „10 * Anzahl der Einträge in eval period + 1“ durch eine Spannweite von 10 Lags überschrieben wird
trendstl(/host/key,1M:now/M-1y,1d,2h,,"stddevsamp") #analysiert den vorherigen Monat vor einem Jahr, ermittelt die Anomalierate für den letzten Tag dieses Zeitraums, wobei eine Periodizität von 2h erwartet wird; die Werte der Restreihe des Auswertungszeitraums werden als Anomalien betrachtet, wenn sie den Wert von 3 Abweichungen der Stichproben-Standardabweichung dieser Restreihe erreichen
```

[comment]: # ({/0ebc63ad-aba289ed})

[comment]: # ({f897c466-1b9f4c40})
##### trendsum(/host/key,time period:time shift) {#trendsum}

Die Summe der Trendwerte innerhalb des definierten Zeitraums.

Parameter: 

-   Siehe [allgemeine Parameter](#common-parameters)

Beispiele:

```default
trendsum(/host/key,1h:now/h) #die Summe für die vorherige Stunde (z. B. 12:00-13:00)
trendsum(/host/key,1h:now/h-1h) #die Summe für vor zwei Stunden (11:00-12:00)
trendsum(/host/key,1h:now/h-2h) #die Summe für vor drei Stunden (10:00-11:00)
trendsum(/host/key,1M:now/M-1y) #die Summe für den vorherigen Monat vor einem Jahr
```

[comment]: # ({/f897c466-1b9f4c40})

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

[comment]: # ({/ba59dd3a-9e520569})

