5 Trendfunktionen

Trendfunktionen verwenden im Gegensatz zu Verlaufsfunktionen Trend-Daten für Berechnungen.

Trends speichern stündlich aggregierte Werte. Trendfunktionen verwenden diese stündlichen Durchschnittswerte und sind daher für Langzeitanalysen nützlich.

Die Ergebnisse von Trendfunktionen werden zwischengespeichert, sodass bei mehreren Aufrufen derselben Funktion mit denselben Parametern Informationen nur einmal aus der Datenbank abgerufen werden. Der Cache für Trendfunktionen wird durch den Server-Parameter TrendFunctionCacheSize gesteuert.

Auslöser, die nur auf Trendfunktionen verweisen, werden einmal pro kleinstem Zeitraum im Ausdruck ausgewertet. Zum Beispiel wird ein Auslöser wie

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 Verlaufsfunktionen (oder Funktionen für Datum und Uhrzeit und/oder nodata()) enthält, wird er gemäß den üblichen Prinzipien berechnet.

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

Die Funktionen sind hier ohne zusätzliche Informationen aufgeführt. Klicken Sie auf eine Funktion, um die vollständigen Details anzuzeigen.

Function Description
baselinedev Gibt die Anzahl der Abweichungen (nach dem Algorithmus stddevpop) zwischen dem letzten Datenzeitraum und denselben Datenzeiträumen in vorhergehenden Saisons zurück.
baselinewma Berechnet die Baseline durch Mittelung von Daten aus demselben Zeitrahmen in mehreren gleich langen Zeiträumen („Saisons“) unter Verwendung des gewichteten gleitenden Durchschnitts.
trendavg Der Durchschnitt der Trendwerte innerhalb des definierten Zeitraums.
trendcount Die Anzahl der erfolgreich abgerufenen Verlaufswerte, die zur Berechnung des Trendwerts innerhalb des definierten Zeitraums verwendet werden.
trendmax Das Maximum der Trendwerte innerhalb des definierten Zeitraums.
trendmin Das Minimum der Trendwerte innerhalb des definierten Zeitraums.
trendstl Gibt die Rate der Anomalien während des Erkennungszeitraums zurück – ein Dezimalwert zwischen 0 und 1, der ((Anzahl der Anomaliewerte)/(Gesamtzahl der Werte)) entspricht.
trendsum Die Summe der Trendwerte innerhalb des definierten Zeitraums.
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 (siehe Funktionsbeispiele)

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
baselinedev(/host/key,data period:time shift,season unit,num seasons)

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

Parameter:

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

Beispiele:

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
baselinewma(/host/key,data period:time shift,season unit,num seasons)

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

Parameter:

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

Beispiele:

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.
trendavg(/host/key,time period:time shift)

Der Durchschnitt der Trendwerte innerhalb des definierten Zeitraums.

Parameter:

Beispiele:

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
trendcount(/host/key,time period:time shift)

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

Parameter:

Beispiele:

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
trendmax(/host/key,time period:time shift)

Das Maximum der Trendwerte innerhalb des definierten Zeitraums.

Parameter:

Beispiele:

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
trendmin(/host/key,time period:time shift)

Das Minimum der Trendwerte innerhalb des definierten Zeitraums.

Parameter:

Beispiele:

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
trendstl(/host/key,eval period:time shift,detection period,season,<deviations>,<devalg>,<s window>)

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
  • eval period - der Zeitraum, der zerlegt werden muss (Minimum „1h“), definiert als <N><time unit>, wobei
    N - die Anzahl der Zeiteinheiten
    time unit - h (Stunde), d (Tag), w (Woche), M (Monat) oder y (Jahr)
  • 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
    N - die Anzahl der Zeiteinheiten
    time unit - h (Stunde), d (Tag), w (Woche)
  • 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
    N - die Anzahl der Zeiteinheiten
    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:

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
trendsum(/host/key,time period:time shift)

Die Summe der Trendwerte innerhalb des definierten Zeitraums.

Parameter:

Beispiele:

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

Siehe alle unterstützten Funktionen.