1 Aggregaatfuncties

Tenzij anders vermeld, worden alle hier vermelde functies ondersteund in:

Aggregaatfuncties kunnen werken met:

  • Geschiedenis van items, bijvoorbeeld min(/host/key,1h)
  • foreach-functies als enige parameter, bijvoorbeeld min(last_foreach(/*/key)) (alleen in berekende items; kan niet worden gebruikt in triggers)

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

Functie Beschrijving
avg Het gemiddelde van een item binnen de gedefinieerde evaluatieperiode.
bucket_percentile Berekent het percentiel van de buckets van een histogram.
count Het aantal waarden in een array die wordt geretourneerd door een foreach-functie.
histogram_quantile Berekent het φ-percentiel van de buckets van een histogram.
item_count Het aantal bestaande items in de configuratie die aan de filtercriteria voldoen.
kurtosis De "staartigheid" van de kansverdeling in verzamelde waarden binnen de gedefinieerde evaluatieperiode.
mad De mediaan absolute afwijking in verzamelde waarden binnen de gedefinieerde evaluatieperiode.
max De hoogste waarde van een item binnen de gedefinieerde evaluatieperiode.
min De laagste waarde van een item binnen de gedefinieerde evaluatieperiode.
skewness De asymmetrie van de kansverdeling in verzamelde waarden binnen de gedefinieerde evaluatieperiode.
stddevpop De populatiestandaarddeviatie in verzamelde waarden binnen de gedefinieerde evaluatieperiode.
stddevsamp De steekproefstandaarddeviatie in verzamelde waarden binnen de gedefinieerde evaluatieperiode.
sum De som van verzamelde waarden binnen de gedefinieerde evaluatieperiode.
sumofsquares De som van kwadraten in verzamelde waarden binnen de gedefinieerde evaluatieperiode.
varpop De populatievariantie van verzamelde waarden binnen de gedefinieerde evaluatieperiode.
varsamp De steekproefvariantie van verzamelde waarden binnen de gedefinieerde evaluatieperiode.

Gemeenschappelijke parameters

  • /host/key is een veelvoorkomende verplichte eerste parameter voor de functies die verwijzen naar de geschiedenis van het host-item
  • (sec|#num)<:tijdsverschuiving> is een veelvoorkomende tweede parameter voor de functies die verwijzen naar de geschiedenis van het host-item, waarbij:
    • sec - maximale evaluatieperiode in seconden (tijds suffixen kunnen worden gebruikt), of
    • #num - maximale evaluatiebereik in nieuwste verzamelde waarden (indien voorafgegaan door een hekje)
    • tijdsverschuiving (optioneel) maakt het mogelijk om het evaluatiepunt terug in de tijd te verplaatsen. Zie meer details over het specificeren van tijdsverschuiving.

Functiedetails

Enkele algemene opmerkingen over functieparameters:

  • Functieparameters zijn gescheiden door een komma
  • Optionele functieparameters (of parameterdelen) worden aangegeven met < >
  • Functie-specifieke parameters worden bij elke functie beschreven
  • De parameters /host/key en (sec|#num)<:tijdsverschuiving> mogen nooit tussen aanhalingstekens worden geplaatst
avg(/host/key,(sec|#num)<:time shift>)

Het gemiddelde van een item binnen de gedefinieerde evaluatieperiode.
Ondersteunde waardestypen: Float, Integer.
Ondersteunde foreach-functies: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.

Parameters: zie algemene parameters.

Tijdsverschuiving is handig wanneer het nodig is om de huidige gemiddelde waarde te vergelijken met de gemiddelde waarde van enige tijd geleden.

Voorbeelden:

avg(/host/key,1u) #de gemiddelde waarde van het afgelopen uur tot nu toe
       avg(/host/key,1u:now-1d) #de gemiddelde waarde van een uur van 25 uur geleden tot 24 uur geleden vanaf nu
       avg(/host/key,#5) #de gemiddelde waarde van de laatste vijf waarden
       avg(/host/key,#5:now-1d) #de gemiddelde waarde van de laatste vijf waarden exclusief de waarden die in de afgelopen 24 uur zijn ontvangen
bucket_percentile(item filter,tijdsperiode,percentage)

Berekent het percentiel van de buckets van een histogram.

Parameters:

Opmerkingen:

  • Alleen ondersteund in berekende items;
  • Deze functie is een alias voor histogram_quantile(percentage/100, bucket_rate_foreach(item filter, tijdsperiode, 1)).
count(func_foreach(item filter,<time period>))

Het aantal waarden in een array dat wordt teruggegeven door een foreach-functie.
Ondersteund waardestype: Integer.
Ondersteunde foreach-functies: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.

Parameters:

  • func_foreach - foreach-functie waarvoor het aantal geretourneerde waarden moet worden geteld (met ondersteunde argumenten). Zie foreach-functies voor details.
  • item filter - zie itemfilter;
  • time period - zie tijdsperiode.

Het gebruik van count() met een history-gerelateerde foreach-functie (max_foreach, avg_foreach, enz.) kan leiden tot prestatie-implicaties, terwijl het gebruik van exists_foreach(), dat alleen met configuratiedata werkt, geen dergelijk effect zal hebben.

Voorbeelden:

count(max_foreach(/*/net.if.in[*],1u)) #het aantal net.if.in-items dat gegevens heeft ontvangen in het afgelopen uur tot nu toe
histogram_quantile(quantile,bucket1,value1,bucket2,value2,...)

Berekent de φ-kwantielwaarde uit de buckets van een histogram.
Ondersteunde foreach-functie: bucket_rate_foreach.

Parameters:

  • quantile - 0 ≤ φ ≤ 1;
  • bucketN, valueN - handmatig ingevoerde paren (>=2) van parameters of de respons van bucket_rate_foreach.

Opmerkingen:

  • Alleen ondersteund in berekende items;
  • Functioneel overeenkomend met 'histogram_quantile' van PromQL;
  • Geeft -1 terug als waarden van de laatste 'Infinity'-bucket ("+inf") gelijk zijn aan 0.

Voorbeelden:

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))
item_count(item filter)

Het aantal bestaande items in de configuratie die overeenkomen met de filtercriteria.
Ondersteund waardestype: Integer.

Parameter:

  • item filter - criteria voor itemselectie, maakt verwijzingen mogelijk op basis van hostgroep, host, item-sleutel en tags. Wildcards worden ondersteund. Zie itemfilter voor meer details.

Opmerkingen:

  • Alleen ondersteund in berekende items;
  • Werkt als een alias voor de functie count(exists_foreach(item_filter)).

Voorbeelden:

item_count(/*/agent.ping?[group="Host group 1"]) #het aantal hosts met het item *agent.ping* in de groep "Host group 1"
kurtosis(/host/key,(sec|#num)<:time shift>)

De "staartigheid" van de kansverdeling in verzamelde waarden binnen de gedefinieerde evaluatieperiode. Zie ook: Kurtosis.
Ondersteunde waardestypen: Float, Integer.
Ondersteunde foreach-functie: last_foreach.

Parameters: zie algemene parameters.

Voorbeeld:

kurtosis(/host/key,1u) #kurtosis voor het afgelopen uur tot nu toe
mad(/host/key,(sec|#num)<:time shift>)

De mediaan van de absolute afwijking in verzamelde waarden binnen de gedefinieerde evaluatieperiode. Zie ook: Mediaan van absolute afwijking.
Ondersteunde waardestypen: Float, Integer.
Ondersteunde foreach-functie: last_foreach.

Parameters: zie algemene parameters.

Voorbeeld:

mad(/host/key,1u) #mediaan van absolute afwijking voor het afgelopen uur tot nu toe
max(/host/key,(sec|#num)<:time shift>)

De hoogste waarde van een item binnen de gedefinieerde evaluatieperiode.
Ondersteunde waardestypen: Float, Integer.
Ondersteunde foreach-functies: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.

Parameters: zie algemene parameters.

Voorbeeld:

max(/host/key,1u) - min(/host/key,1u) #bereken het verschil tussen de maximale en minimale waarden van het afgelopen uur tot nu toe (het verschil van waarden)
min(/host/key,(sec|#num)<:time shift>)

De laagste waarde van een item binnen de gedefinieerde evaluatieperiode.
Ondersteunde waardestypen: Float, Integer.
Ondersteunde foreach-functies: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.

Parameters: zie algemene parameters.

Voorbeeld:

max(/host/key,1u) - min(/host/key,1u) #bereken het verschil tussen de maximale en minimale waarden van het afgelopen uur tot nu toe (het verschil van waarden)
skewness(/host/key,(sec|#num)<:time shift>)

De asymmetrie van de kansverdeling in verzamelde waarden binnen de gedefinieerde evaluatieperiode. Zie ook: Asymmetrie (Skewness).
Ondersteunde waardestypen: Float, Integer.
Ondersteunde foreach-functie: last_foreach.

Parameters: zie algemene parameters.

Voorbeeld:

skewness(/host/key,1u) #de asymmetrie voor het afgelopen uur tot nu toe
stddevpop(/host/key,(sec|#num)<:time shift>)

De populatiestandaardafwijking in verzamelde waarden binnen de gedefinieerde evaluatieperiode. Zie ook: Standaardafwijking (Standard deviation).
Ondersteunde waardestypen: Float, Integer.
Ondersteunde foreach-functie: last_foreach.

Parameters: zie algemene parameters.

Voorbeeld:

stddevpop(/host/key,1u) #de populatiestandaardafwijking voor het afg
stddevsamp(/host/key,(sec|#num)<:time shift>)

De steekproefstandaardafwijking in verzamelde waarden binnen de gedefinieerde evaluatieperiode. Zie ook: Standaardafwijking (Standard deviation).
Ondersteunde waardestypen: Float, Integer.
Ondersteunde foreach-functie: last_foreach.

Parameters: zie algemene parameters.

Voor deze functie zijn minimaal twee gegevenswaarden vereist.

Voorbeeld:

stddevsamp(/host/key,1u) #de steekproefstandaardafwijking voor het afgelopen uur tot nu toe
sum(/host/key,(sec|#num)<:time shift>)

De som van verzamelde waarden binnen de gedefinieerde evaluatieperiode.
Ondersteunde waardestypen: Float, Integer.
Ondersteunde foreach-functies: avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.

Parameters: zie algemene parameters.

Voorbeeld:

sum(/host/key,1u) #de som van waarden voor het afgelopen uur tot nu toe
sumofsquares(/host/key,(sec|#num)<:time shift>)

De som van de kwadraten van verzamelde waarden binnen de gedefinieerde evaluatieperiode.
Ondersteunde waardestypen: Float, Integer.
Ondersteunde foreach-functie: last_foreach.

Parameters: zie algemene parameters.

Voorbeeld:

sumofsquares(/host/key,1u) #de som van kwadraten voor het afgelopen uur tot nu toe
varpop(/host/key,(sec|#num)<:time shift>)

De populatievariantie van verzamelde waarden binnen de gedefinieerde evaluatieperiode. Zie ook: Variantie (Variance).
Ondersteunde waardestypen: Float, Integer.
Ondersteunde foreach-functie: last_foreach.

Parameters: zie algemene parameters.

Voorbeeld:

varpop(/host/key,1u) #de populatievariantie voor het afgelopen uur tot nu toe
varsamp(/host/key,(sec|#num)<:time shift>)

De steekproefvariantie van verzamelde waarden binnen de gedefinieerde evaluatieperiode. Zie ook: Variantie (Variance).
Ondersteunde waardestypen: Float, Integer.
Ondersteunde foreach-functie: last_foreach.

Parameters: zie algemene parameters.

Voor deze functie zijn minimaal twee gegevenswaarden vereist.

Voorbeeld:

varsamp(/host/key,1u) #de steekproefvariantie voor het afgelopen uur tot nu toe

Zie alle ondersteunde functies.