[comment]: # translation:outdated

[comment]: # attributes: notoc

[comment]: # ({52bc2de0-a4f8cca1})
# 5 Trendfuncties

Trendfuncties gebruiken in tegenstelling tot [geschiedenisfuncties](/manual/appendix/functions/history) 
[trend](/manual/config/items/history_and_trends#keeping-trends) gegevens voor berekeningen.

Trends slaan uurgegevens op. Trendfuncties gebruiken deze uurgemiddelden en zijn dus nuttig voor 
langetermijnanalyse.

De resultaten van trendfuncties worden gecachet, dus meerdere oproepen naar dezelfde functie met dezelfde parameters 
halen informatie slechts één keer uit de database. De trendfunctiecache wordt beheerd door de 
[TrendCacheSize](/manual/appendix/config/zabbix_server) serverparameter.

Triggers die **alleen** trendfuncties bevatten, worden geëvalueerd per de kleinste tijdsperiode 
in de uitdrukking. Bijvoorbeeld, een trigger zoals 

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

zal eens per dag worden geëvalueerd. Als de trigger zowel trend- als geschiedenis- (of op tijd gebaseerde) functies bevat, 
wordt deze berekend volgens de [gebruikelijke principes](/manual/config/triggers#calculation-time).

Alle hier vermelde functies worden ondersteund in:

- [Trigger-uitdrukkingen](/manual/config/triggers/expression)
- [Berekende items](/manual/config/items/itemtypes/calculated)

De functies worden vermeld zonder aanvullende informatie. Klik op de functie om de volledige details te zien.

|Functie|Beschrijving|
|--|--------|
|[baselinedev](#baselinedev)|Geeft het aantal afwijkingen (volgens het stddevpop-algoritme) tussen de laatste dataperiode en dezelfde dataperiodes in voorgaande seizoenen.|
|[baselinewma](#baselinewma)|Berekent de basislijn door gegevens uit dezelfde tijdsperiode in meerdere gelijke tijdsperioden ('seizoenen') te middelen met behulp van het gewogen voortschrijdend gemiddelde-algoritme.|
|[trendavg](#trendavg)|Het gemiddelde van trendwaarden binnen de gedefinieerde tijdsperiode.|
|[trendcount](#trendcount)|Het aantal succesvol opgehaalde trendwaarden binnen de gedefinieerde tijdsperiode.|
|[trendmax](#trendmax)|Het maximum van trendwaarden binnen de gedefinieerde tijdsperiode.|
|[trendmin](#trendmin)|Het minimum van trendwaarden binnen de gedefinieerde tijdsperiode.|
|[trendstl](#trendstl)|Geeft het percentage afwijkingen tijdens de detectieperiode terug - een decimaal getal tussen 0 en 1 dat `((het aantal anomaliewaarden)/(totaal aantal waarden))` is.|
|[trendsum](#trendsum)|De som van trendwaarden binnen de gedefinieerde tijdsperiode.|

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

[comment]: # ({2a63633f-2a63633f})
##### Gemeenschappelijke parameters

-   `/host/key` is een gemeenschappelijke verplichte eerste parameter
-   `tijdsperiode:tijdverschuiving` is een gemeenschappelijke tweede parameter, waarbij:
    -   **tijdsperiode** - de tijdsperiode (minimaal '1u'), gedefinieerd als \<N>\<tijdeenheid> waarbij `N` - het aantal tijdeenheden, `tijdeenheid` - h (uur), d (dag), w (week), M (maand) of y (jaar).
    -   **tijdverschuiving** - de tijdsperiode verschuiving (zie voorbeelden van functies)

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

[comment]: # ({6f59208d-5fa1615a})
### Functie details

Enkele algemene opmerkingen over functieparameters:

-   Functieparameters worden gescheiden door een komma
-   Optionele functieparameters (of parameterdelen) worden aangegeven door
    `<` `>`
-   Functie-specifieke parameters worden beschreven bij elke functie
-   Parameters `/host/key` en `tijdsperiode:tijdverschuiving` mogen nooit tussen aanhalingstekens worden geplaatst

[comment]: # ({/6f59208d-5fa1615a})

[comment]: # ({1f60ca11-1661ba5f})
##### baselinedev(/host/key,dataperiode:tijdverschuiving,seizoenseenheid,aantal seizoenen) {#baselinedev}

Geeft het aantal afwijkingen (volgens het stddevpop-algoritme) tussen de laatste dataperiode en dezelfde dataperiodes in voorgaande seizoenen.<br>

Parameters: 

-   Zie [gemeenschappelijke parameters](#gemeenschappelijke-parameters);<br>
-   **dataperiode** - de periode van gegevensverzameling binnen een seizoen, gedefinieerd als <N><tijdeenheid> waar:<br>`N` - het aantal tijdeenheden<br>`tijdeenheid` - h (uur), d (dag), w (week), M (maand) of y (jaar), moet gelijk zijn aan of kleiner zijn dan seizoen<br>
-   **seizoenseenheid** - de duur van één seizoen (h, d, w, M, y), mag niet kleiner zijn dan dataperiode;
-   **aantal seizoenen** - het aantal seizoenen om te evalueren.

Voorbeelden:

    baselinedev(/host/key,1d:nu/d,"M",6) #bereken het aantal standaarddeviaties (bevolking) tussen de vorige dag en dezelfde dag in de voorgaande 6 maanden. Als de datum niet bestaat in een vorige maand, wordt de laatste dag van de maand gebruikt (Jul,31 zal worden geanalyseerd tegenover Jan,31, Feb, 28,... June, 30)
    baselinedev(/host/key,1u:nu/u,"d",10)  #bereken het aantal standaarddeviaties (bevolking) tussen het vorige uur en dezelfde uren over een periode van tien dagen voor gisteren

[comment]: # ({/1f60ca11-1661ba5f})

[comment]: # ({b6830e17-871518f1})
##### baselinewma(/host/key,dataperiode:tijdverschuiving,seizoenseenheid,aantal seizoenen) {#baselinewma}

Berekent de basislijn door gegevens uit dezelfde tijdsperiode in meerdere gelijke tijdsperioden ('seizoenen') te middelen met behulp van het gewogen voortschrijdend gemiddelde-algoritme.<br>

Parameters: 

-   Zie [gemeenschappelijke parameters](#gemeenschappelijke-parameters);<br>
-   **dataperiode** - de periode van gegevensverzameling binnen een seizoen, gedefinieerd als <N><tijdeenheid> waar:<br>`N` - het aantal tijdeenheden<br>`tijdeenheid` - h (uur), d (dag), w (week), M (maand) of y (jaar), moet gelijk zijn aan of kleiner zijn dan seizoen<br>Tijdverschuiving - de tijdsperiode verschuiving, definieert het einde van de tijdsperiode voor het verzamelen van gegevens in seizoenen (zie voorbeelden);<br>
-   **seizoenseenheid** - de duur van één seizoen (h, d, w, M, y), mag niet kleiner zijn dan dataperiode;<br>
-   **aantal seizoenen** - het aantal seizoenen om te evalueren.

Voorbeelden:

    baselinewma(/host/key,1u:nu/u,"d",3) #bereken de basislijn 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 op vrijdag, zaterdag en zondag geanalyseerd
    baselinewma(/host/key,2u:nu/u,"d",3) #bereken de basislijn 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 op vrijdag, zaterdag en zondag geanalyseerd
    baselinewma(/host/key,1d:nu/d,"M",4) #bereken de basislijn 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 het vandaag 1 september is, worden de gegevens voor 31 juli, 30 juni, 31 mei, 30 april geanalyseerd.

[comment]: # ({/b6830e17-871518f1})

[comment]: # ({5f715134-69aa3780})
##### trendavg(/host/sleutel,tijdsperiode:tijdverschuiving) {#trendavg}

Het gemiddelde van trendwaarden binnen de gedefinieerde tijdsperiode.

Parameters: 

-   Zie [gemeenschappelijke parameters](#gemeenschappelijke-parameters).

Voorbeelden:

    trendavg(/host/key,1u:nu/u) #het gemiddelde voor het vorige uur (bijv. 12:00-13:00)
    trendavg(/host/key,1u:nu/u-1u) #het gemiddelde voor twee uur geleden (11:00-12:00)
    trendavg(/host/key,1u:nu/u-2u) #het gemiddelde voor drie uur geleden (10:00-11:00)
    trendavg(/host/key,1M:nu/M-1j) #het gemiddelde voor de vorige maand van een jaar geleden

[comment]: # ({/5f715134-69aa3780})

[comment]: # ({f5d3ac91-69d848c5})
##### trendcount(/host/key,tijdsperiode:tijdverschuiving) {#trendcount}

Het aantal succesvol opgehaalde trendwaarden binnen de gedefinieerde tijdsperiode.

Parameters: 

-   Zie [gemeenschappelijke parameters](#gemeenschappelijke-parameters).

Voorbeelden:

    trendcount(/host/key,1u:nu/u) #het aantal waarden voor het vorige uur (bijv. 12:00-13:00)
    trendcount(/host/key,1u:nu/u-1u) #het aantal waarden voor twee uur geleden (11:00-12:00)
    trendcount(/host/key,1u:nu/u-2u) #het aantal waarden voor drie uur geleden (10:00-11:00)
    trendcount(/host/key,1M:nu/M-1j) #het aantal waarden voor de vorige maand van een jaar geleden

[comment]: # ({/f5d3ac91-69d848c5})

[comment]: # ({b27b7fbe-5675ec91})
##### trendmax(/host/key,tijdsperiode:tijdverschuiving) {#trendmax}

Het maximum van trendwaarden binnen de gedefinieerde tijdsperiode.

Parameters: 

-   Zie [gemeenschappelijke parameters](#gemeenschappelijke-parameters).

Voorbeelden:

    trendmax(/host/key,1u:nu/u) #het maximum voor het vorige uur (bijv. 12:00-13:00)
    trendmax(/host/key,1u:nu/u) - trendmin(/host/sleutel,1u:nu/u) → bereken het verschil tussen het maximum- en minimumwaarden (trendverschil) voor het vorige uur (12:00-13:00)
    trendmax(/host/key,1u:nu/u-1u) #het maximum voor twee uur geleden (11:00-12:00)
    trendmax(/host/key,1u:nu/u-2u) #het maximum voor drie uur geleden (10:00-11:00)
    trendmax(/host/key,1M:nu/M-1j) #het maximum voor de vorige maand van een jaar geleden

[comment]: # ({/b27b7fbe-5675ec91})

[comment]: # ({c743b624-40c9426e})
##### trendmin(/host/key,tijdsperiode:tijdverschuiving) {#trendmin}

Het minimum van trendwaarden binnen de gedefinieerde tijdsperiode.

Parameters: 

-   Zie [gemeenschappelijke parameters](#gemeenschappelijke-parameters).

Voorbeelden:

    trendmin(/host/key,1u:nu/u) #het minimum voor het vorige uur (bijv. 12:00-13:00)
    trendmax(/host/key,1u:nu/u) - trendmin(/host/sleutel,1u:nu/u) → bereken het verschil tussen het maximum- en minimumwaarden (trendverschil) voor het vorige uur (12:00-13:00)
    trendmin(/host/key,1u:nu/u-1u) #het minimum voor twee uur geleden (11:00-12:00)
    trendmin(/host/key,1u:nu/u-2u) #het minimum voor drie uur geleden (10:00-11:00)
    trendmin(/host/key,1M:nu/M-1j) #het minimum voor de vorige maand van een jaar geleden

[comment]: # ({/c743b624-40c9426e})

[comment]: # ({bd8d7235-6551dec4})
##### trendstl(/host/key,evaluatieperiode:tijdverschuiving,detectieperiode,seizoen,<afwijkingen>,<afwalg>,<s-venster>) {#trendstl}

Geeft het percentage anomalieën weer gedurende de detectieperiode - een decimale waarde tussen 0 en 1 die wordt berekend als `((het aantal anomaliewaarden)/(totaal aantal waarden))`.

Parameters: 

-   Zie [gemeenschappelijke parameters](#gemeenschappelijke-parameters);<br>
-   **evaluatieperiode** - de tijdsperiode die moet worden ontleed (minimaal '1u'), gedefinieerd als <N><tijdeenheid> waar<br>`N` - het aantal tijdeenheid<br>`tijdeenheid` - h (uur), d (dag), w (week), M (maand) of j (jaar)<br>
-   **detectieperiode** - de tijdsperiode voor het einde van de evaluatieperiode waarin anomalieën worden berekend (minimaal '1u', mag niet langer zijn dan de evaluatieperiode), gedefinieerd als <N><tijdeenheid> waar<br>`N` - het aantal tijdeenheid<br>`tijdeenheid` - h (uur), d (dag), w (week)<br>
-   **seizoen** - de kortste tijdsperiode waarin een herhalend patroon ("seizoen") wordt verwacht (minimaal '2u', mag niet langer zijn dan de evaluatieperiode, het aantal vermeldingen in de evaluatieperiode moet groter zijn dan tweemaal de resulterende frequentie (seizoen/h)), gedefinieerd als <N><tijdeenheid> waar<br>`N` - het aantal tijdeenheid<br>`tijdeenheid` - h (uur), d (dag), w (week)
-   **afwijkingen** - het aantal afwijkingen (berekend door afwalg) dat als anomalie moet worden geteld (kan decimaal zijn), (moet groter zijn dan of gelijk zijn aan 1, standaard is 3);
-   **afwalg** (moet tussen dubbele aanhalingstekens) - het afwijkingalgoritme, kan *stddevpop*, *stddevsamp* of *mad* (standaard) zijn;
-   **s-venster** - de spanwijdte (in vertragingen) van het loess-venster voor seizoensextractie (standaard is 10 * aantal vermeldingen in evaluatieperiode + 1)

Voorbeelden:

    trendstl(/host/key,100u:nu/u,10u,2u) #analyseer de laatste 100 uur aan trendgegevens, vind het percentage anomalieën voor de laatste 10 uur van die periode, verwacht dat de periodiciteit 2u is, de restwaarden van de evaluatieperiode worden beschouwd als anomalieën 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, vind het percentage anomalieën voor die hele periode, verwacht dat de periodiciteit 2u is, de restwaarden van de evaluatieperiode worden beschouwd als anomalieën 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, vind het percentage anomalieën voor de periode van de laatste 10 dagen van die periode, verwacht dat de periodiciteit 1d is, de restwaarden van de evaluatieperiode worden beschouwd als anomalieën als ze de waarde van 4 afwijkingen van de MAD van die restwaarden bereiken, overschrijft de standaardspanwijdte van het loess-venster voor seizoensextractie van "10 * aantal vermeldingen in evaluatieperiode + 1" met de spanwijdte van 10 vertragingen
    trendstl(/host/key,1M:nu/M-1j,1d,2u,,"stddevsamp") #analyseer de vorige maand een jaar geleden, vind het percentage anomalieën voor de laatste dag van die periode, verwacht dat de periodiciteit 2u is, de restwaarden van de evaluatieperiode worden beschouwd als anomalieën als ze de waarde van 3 afwijking van de steekproefstandaarddeviatie van die restwaarden bereiken

[comment]: # ({/bd8d7235-6551dec4})

[comment]: # ({b03b1d1c-38d10ebb})
##### trendsum(/host/key,tijdsperiode:tijdverschuiving) {#trendsum}

De som van trendwaarden binnen de gedefinieerde tijdsperiode.

Parameters: 

-   Zie [gemeenschappelijke parameters](#gemeenschappelijke-parameters).

Voorbeelden:

    trendsum(/host/key,1u:nu/u) #de som voor het vorige uur (bijv. 12:00-13:00)
    trendsum(/host/key,1u:nu/u-1u) #de som voor twee uur geleden (11:00-12:00)
    trendsum(/host/key,1u:nu/u-2u) #de som voor drie uur geleden (10:00-11:00)
    trendsum(/host/key,1M:nu/M-1j) #de som voor de vorige maand van een jaar geleden

[comment]: # ({/b03b1d1c-38d10ebb})

[comment]: # ({ba59dd3a-c4989c72})
Zie [alle ondersteunde functies](/handleiding/bijlage/functies).

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

