This is a translation of the original English documentation page. Help us make it better.

#5 Trendfuncties

Trendfuncties, in tegenstelling tot geschiedenisfuncties, gebruiken trend gegevens voor berekeningen.

Trends slaan geaggregeerde waarden per uur op. Trendfuncties gebruiken deze uurgemiddelden en zijn dus nuttig voor: lange termijn analyse.

Trend functie resultaten worden in de cache opgeslagen, dus meerdere oproepen naar dezelfde functie met dezelfde parameters haal informatie slechts één keer uit de database. De cache van de trendfunctie wordt bestuurd door de TrendCacheSize serverparameter.

Triggers die verwijzen naar trendfuncties alleen worden eenmaal per de kleinste tijdsperiode geëvalueerd in de uitdrukking. Bijvoorbeeld een trigger zoals

trendavg(/host/key,1d:now/d) > 1 of trendavg(/host/key2,1w:now/w) > 2

wordt eenmaal per dag geëvalueerd. Als de trigger zowel trend- als geschiedenis- (of tijdgebaseerde) functies bevat, het wordt berekend in overeenstemming met de gebruikelijke principes.

Alle hier vermelde functies worden ondersteund in:

Enkele algemene opmerkingen over functieparameters:

  • Functieparameters worden gescheiden door een komma
  • Optionele functieparameters (of parameterdelen) worden aangegeven met: < >
  • Functiespecifieke parameters worden bij elke functie beschreven
  • /host/key en time period:time shift parameters mogen nooit . zijn geciteerd
Algemene parameters
  • /host/key is een algemene verplichte eerste parameter
  • time period:time shift is een veel voorkomende tweede parameter, waarbij:
    • tijdsperiode - de tijdsperiode (minimaal '1u'), gedefinieerd als <N><tijdseenheid> waarbij 'N' - het aantal tijdseenheden, 'tijdseenheid' - h (uur), d (dag), w (week), M (maand) of y (jaar).
    • tijdverschuiving - de tijdsperiode-offset (zie functievoorbeelden)

Trend functies

FUNCTIE
Omschrijving Functiespecifieke parameters Opmerkingen
baselinedev (/host/key,datapriode:tijdverschuiving,seizoenseenheid,aantal_seizoenen)
Geeft het aantal afwijkingen (volgens de stddevpop-algoritme) terug tussen de laatste datapriode en dezelfde dataperiodes in voorgaande seizoenen. datapriode - de periode voor het verzamelen van gegevens binnen een seizoen, gedefinieerd als <N><tijdseenheid> waarbij
N - aantal tijdseenheden
tijdseenheid - h (uur), d (dag), w (week), M (maand) of y (jaar), moet gelijk zijn aan of kleiner zijn dan het seizoen

Tijdverschuiving - de tijdsperiode verschuiving (zie voorbeelden)

seizoenseenheid - duur van één seizoen (h, d, w, M, y), mag niet kleiner zijn dan de datapriode

aantal_seizoenen - aantal seizoenen om te evalueren
Voorbeelden:
=> baselinedev(/host/key,1d:now/d,"M",6) → het aantal standaardafwijkingen (populatie) berekenen tussen de vorige dag en dezelfde dag in de vorige 6 maanden. Als de datum niet bestaat in een vorige maand, wordt de laatste dag van de maand gebruikt (31 juli wordt geanalyseerd tegen 31 januari, 28 februari,... 30 juni).
=> baselinedev(/host/key,1h:now/h,"d",10) → het aantal standaardafwijkingen (populatie) berekenen tussen het vorige uur en dezelfde uren over de periode van tien dagen voor gisteren.
baselinewma (/host/key,datapriode:tijdverschuiving,seizoenseenheid,aantal_seizoenen)
Berekent de basislijn door gegevens van dezelfde tijdsperiode in meerdere gelijke tijdsperioden ('seizoenen') te gemiddelde met behulp van het gewogen voortschrijdend gemiddelde-algoritme. datapriode - de periode voor het verzamelen van gegevens binnen een seizoen, gedefinieerd als <N><tijdseenheid> waarbij
N - aantal tijdseenheden
tijdseenheid - h (uur), d (dag), w (week), M (maand) of y (jaar), moet gelijk zijn aan of kleiner zijn dan het seizoen

Tijdverschuiving - de tijdsperiode verschuiving, definieert het einde van de periode voor het verzamelen van gegevens in seizoenen (zie voorbeelden)

seizoenseenheid - duur van één seizoen (h, d, w, M, y), mag niet kleiner zijn dan de datapriode

aantal_seizoenen - aantal seizoenen om te evalueren
Voorbeelden:
=> baselinewma(/host/key,1h:now/h,"d",3) → basislijn berekenen op basis van het laatste volledige uur binnen een periode van 3 dagen die gisteren eindigde. Als "nu" maandag 13:30 is, worden de gegevens voor 12:00-12:59 uur op vrijdag, zaterdag en zondag geanalyseerd.
=> baselinewma(/host/key,2h:now/h,"d",3) → basislijn berekenen op basis van de laatste twee uur binnen een periode van 3 dagen die gisteren eindigde. Als "nu" maandag 13:30 is, worden de gegevens voor 11:00-12:59 uur op vrijdag, zaterdag en zondag geanalyseerd.
=> baselinewma(/host/key,1d:now/d,"M",4) → basislijn berekenen op basis van dezelfde dag van de maand als 'gisteren' in de 4 maanden voorafgaand aan de laatste volledige maand. Als de vereiste datum niet bestaat, wordt de laatste dag van de maand genomen. Als vandaag 1 september is, worden de gegevens voor 31 juli, 30 juni, 31 mei en 30 april geanalyseerd.
trendavg (/host/key,tijdsperiode:tijdverschuiving)
Gemiddelde van trendwaarden binnen de gedefinieerde tijdsperiode. Zie gemeenschappelijke parameters. Voorbeelden:
=> trendavg(/host/key,1u:nu/u) → gemiddelde van het vorige uur (bijv. 12:00-13:00)
=> trendavg(/host/key,1u:nu/u-1u) → gemiddelde van twee uur geleden (11:00-12:00)
=> trendavg(/host/key,1u:nu/u-2u) → gemiddelde van drie uur geleden (10:00-11:00)
=> trendavg(/host/key,1M:nu/M-1j) → gemiddelde van de vorige maand van een jaar geleden
trendcount (/host/key,tijdsperiode:tijdverschuiving)
Aantal succesvol opgehaalde trendwaarden binnen de gedefinieerde tijdsperiode. Zie gemeenschappelijke parameters. Voorbeelden:
=> trendcount(/host/key,1u:nu/u) → aantal voor het vorige uur (bijv. 12:00-13:00)
=> trendcount(/host/key,1u:nu/u-1u) → aantal voor twee uur geleden (11:00-12:00)
=> trendcount(/host/key,1u:nu/u-2u) → aantal voor drie uur geleden (10:00-11:00)
=> trendcount(/host/key,1M:nu/M-1j) → aantal voor de vorige maand van een jaar geleden
trendmax (/host/key,tijdsperiode:tijdverschuiving)
Het maximum van trendwaarden binnen de gedefinieerde tijdsperiode. Zie gemeenschappelijke parameters. Voorbeelden:
=> trendmax(/host/key,1u:nu/u) → maximum voor het vorige uur (bijv. 12:00-13:00)
=> trendmax(/host/key,1u:nu/u) - trendmin(/host/key,1u:nu/u) → bereken het verschil tussen de maximale en minimale waarden (trend delta) voor het vorige uur (12:00-13:00)
=> trendmax(/host/key,1u:nu/u-1u) → maximum voor twee uur geleden (11:00-12:00)
=> trendmax(/host/key,1u:nu/u-2u) → maximum voor drie uur geleden (10:00-11:00)
=> trendmax(/host/key,1M:nu/M-1j) → maximum voor de vorige maand van een jaar geleden
trendmin (/host/key,tijdsperiode:tijdverschuiving)
Het minimum van trendwaarden binnen de gedefinieerde tijdsperiode. Zie gemeenschappelijke parameters. Voorbeelden:
=> trendmin(/host/key,1u:nu/u) → minimum voor het vorige uur (bijv. 12:00-13:00)
=> trendmin(/host/key,1u:nu/u) - trendmin(/host/key,1u:nu/u) → bereken het verschil tussen de maximale en minimale waarden (trend delta) voor het vorige uur (12:00-13:00)
=> trendmin(/host/key,1u:nu/u-1u) → minimum voor twee uur geleden (11:00-12:00)
=> trendmin(/host/key,1u:nu/u-2u) → minimum voor drie uur geleden (10:00-11:00)
=> trendmin(/host/key,1M:nu/M-1j) → minimum voor de vorige maand van een jaar geleden
trendstl (/host/key,evaluatieperiode:tijdverschuiving,detectieperiode,seizoen,<afwijkingen>,<devalg>,<s_venster>)
Geeft het percentage anomalieën weer gedurende de detectieperiode - een decimaal getal tussen 0 en 1 dat wordt berekend als ((het aantal anomaliewaarden)/(totaal aantal waarden)). evaluatieperiode - de tijdspanne die moet worden ontleed (minimaal '1u'), gedefinieerd als <N><tijdeenheid> waar
N - aantal tijdseenheden
tijdeenheid - u (uur), d (dag), w (week), M (maand) of j (jaar).

Tijdverschuiving - de tijdsperiode-offset (zie voorbeelden)

detectieperiode - de tijdsperiode voor het einde van de evaluatieperiode waarvoor anomalieën worden berekend (minimaal '1u', kan niet langer zijn dan de evaluatieperiode), gedefinieerd als <N><tijdeenheid> waar
N - aantal tijdseenheden
tijdeenheid - u (uur), d (dag), w (week).

seizoen - de kortste tijdsperiode waarin een herhalend patroon ("seizoen") wordt verwacht (minimaal '2u', kan niet langer zijn dan de evaluatieperiode, het aantal items in de evaluatieperiode moet groter zijn dan twee keer de resulterende frequentie (seizoen/u)), gedefinieerd als <N><tijdeenheid> waar
N - aantal tijdseenheden
tijdeenheid - u (uur), d (dag), w (week).

afwijkingen - het aantal afwijkingen (berekend door devalg) om te tellen als anomalie (kan decimaal zijn), (moet groter zijn dan of gelijk aan 1, standaard is 3)

devalg (moet tussen dubbele aanhalingstekens staan) - afwijkingsalgoritme, kan stddevpop, stddevsamp of mad (standaard) zijn

s_venster - de spanwijdte (in lags) van het loess-venster voor seizoensgebonden extractie (standaard is 10 keer het aantal items in de evaluatieperiode + 1)
Voorbeelden:
=> trendstl(/host/key,100u:nu/u,10u,2u) → analyseer de laatste 100 uur aan trendgegevens,
bereken het anomaliepercentage voor de laatste 10 uur van die periode,
verwacht dat de periodiciteit 2 uur is,
de restwaarden van de evaluatieperiode worden als anomalieën beschouwd als ze de waarde van 3 afwijkingen van de MAD van die restwaarden bereiken
=> trendstl(/host/key,100u:nu/u-10u,100u,2u,2.1,"mad") → analyseer de periode van 100 uur aan trendgegevens, tot 10 uur geleden,
bereken het anomaliepercentage voor die gehele periode,
verwacht dat de periodiciteit 2 uur is,
de restwaarden van de evaluatieperiode worden als anomalieën beschouwd als ze de waarde van 2,1 afwijkingen van de MAD van die restwaarden bereiken
=> trendstl(/host/key,100d:nu/d-1d,10d,1d,4,,10) → analyseer 100 dagen aan trendgegevens tot een dag geleden,
bereken het anomaliepercentage voor de periode van de laatste 10 dagen van die periode,
verwacht dat de periodiciteit 1 dag is,
de restwaarden van de evaluatieperiode worden als anomalieën beschouwd als ze de waarde van 4 afwijkingen van de MAD van die restwaarden bereiken,
overschrijf de standaard spanwijdte van het loess-venster voor seizoensgebonden extractie van "10 * aantal items in de evaluatieperiode + 1" met de spanwijdte van 10 lags
=> trendstl(/host/key,1M:nu/M-1j,1d,2u,,"stddevsamp") → analyseer de vorige maand van een jaar geleden,
bereken het anomaliepercentage van de laatste dag van die periode,
verwacht dat de periodiciteit 2 uur is,
de restwaarden van de evaluatieperiode worden als anomalieën beschouwd als ze de waarde van 3 afwijking van de steekproefstandaarddeviatie van die restwaarden bereiken
trendsum (/host/key,tijdperiode:tijdverschuiving)
Som van trendwaarden binnen de gedefinieerde tijdspanne. Zie algemene parameters. Voorbeelden:
=> trendsum(/host/key,1u:nu/u) → som van het vorige uur (bijv. 12:00-13:00)
=> trendsum(/host/key,1u:nu/u-1u) → som van twee uur geleden (11:00-12:00)
=> trendsum(/host/key,1u:nu/u-2u) → som van drie uur geleden (10:00-11:00)
=> trendsum(/host/key,1M:nu/M-1j) → som van de vorige maand een jaar geleden