1 Fonctions d’agrégation
Sauf indication contraire, toutes les fonctions répertoriées ici sont prises en charge dans :
Les fonctions d’agrégation peuvent fonctionner avec :
- l’historique des éléments, par exemple
min(/host/key,1h) - les fonctions foreach comme
seul paramètre, par exemple
min(last_foreach(/*/key))(uniquement dans les éléments calculés ; ne peut pas être utilisé dans les déclencheurs)
Les fonctions sont répertoriées sans informations supplémentaires. Cliquez sur la fonction pour voir tous les détails.
| Function | Description |
|---|---|
| avg | La valeur moyenne d’un élément pendant la période d’évaluation définie. |
| bucket_percentile | Calcule le percentile à partir des compartiments d’un histogramme. |
| count | Le nombre de valeurs dans un tableau renvoyé par une fonction foreach. |
| histogram_quantile | Calcule le φ-quantile à partir des compartiments d’un histogramme. |
| item_count | Le nombre d’éléments existants dans la configuration qui correspondent aux critères de filtre. |
| kurtosis | L’« aplatissement » de la distribution de probabilité des valeurs collectées pendant la période d’évaluation définie. |
| mad | L’écart absolu médian des valeurs collectées pendant la période d’évaluation définie. |
| max | La valeur la plus élevée d’un élément pendant la période d’évaluation définie. |
| min | La valeur la plus basse d’un élément pendant la période d’évaluation définie. |
| skewness | L’asymétrie de la distribution de probabilité des valeurs collectées pendant la période d’évaluation définie. |
| stddevpop | L’écart type de population des valeurs collectées pendant la période d’évaluation définie. |
| stddevsamp | L’écart type d’échantillon des valeurs collectées pendant la période d’évaluation définie. |
| sum | La somme des valeurs collectées pendant la période d’évaluation définie. |
| sumofsquares | La somme des carrés des valeurs collectées pendant la période d’évaluation définie. |
| varpop | La variance de population des valeurs collectées pendant la période d’évaluation définie. |
| varsamp | La variance d’échantillon des valeurs collectées pendant la période d’évaluation définie. |
Paramètres communs
/host/keyest un premier paramètre commun obligatoire pour les fonctions faisant référence à l'historique de l'élément d'hôte(sec|#num)<:time shift>est un deuxième paramètre commun pour les fonctions faisant référence à l'historique de l'élément d'hôte, où :- sec - période d'évaluation maximale en secondes (les suffixes de temps peuvent être utilisés), ou
- #num - plage d'évaluation maximale dans les dernières valeurs collectées (si elle est précédée d'un dièse)
- time shift (facultatif) permet de déplacer le point d'évaluation dans le temps vers le passé. Voir plus de détails sur la spécification du décalage temporel.
Détails des fonctions
Quelques remarques générales sur les paramètres des fonctions :
- Les paramètres des fonctions sont séparés par une virgule
- Les paramètres de fonction facultatifs (ou parties de paramètres) sont indiqués par
<> - Les paramètres spécifiques à chaque fonction sont décrits avec chaque fonction
- Les paramètres
/host/keyet(sec|#num)<:time shift>ne doivent jamais être entre guillemets
avg(/host/key,(sec|#num)<:décalage temporel>)
La valeur moyenne d'un élément pendant la période d'évaluation définie.
Types de valeurs pris en charge : Float, Integer.
Fonctions foreach prises en charge : avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.
Paramètres : voir les paramètres communs.
Le décalage temporel est utile lorsqu'il est nécessaire de comparer la valeur moyenne actuelle avec la valeur moyenne d'il y a un certain temps.
Exemples :
avg(/host/key,1h) #la valeur moyenne de la dernière heure jusqu'à maintenant
avg(/host/key,1h:now-1d) #la valeur moyenne sur une heure, d'il y a 25 heures à il y a 24 heures à partir de maintenant
avg(/host/key,#5) #la valeur moyenne des cinq dernières valeurs
avg(/host/key,#5:now-1d) #la valeur moyenne des cinq dernières valeurs, à l'exclusion des valeurs reçues au cours des dernières 24 heures
bucket_percentile(item filter,time period,percentage)
Calcule le percentile à partir des buckets d’un histogramme.
Paramètres :
- item filter - voir item filter;
- time period - voir time period;
- percentage - pourcentage (0-100).
Commentaires :
- Pris en charge uniquement dans les éléments calculés ;
- Cette fonction est un alias de
histogram_quantile(percentage/100, bucket_rate_foreach(item filter, time period, 1)).
count(func_foreach(item filter,<time period>),<operator>,<pattern>)
Le nombre de valeurs dans un tableau renvoyé par une fonction foreach.
Fonctions foreach prises en charge : avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.
Paramètres :
- func_foreach - fonction foreach pour laquelle le nombre de valeurs renvoyées doit être compté. Voir les fonctions foreach pour plus de détails. Notez que count_foreach et bucket_rate_foreach prennent en charge des paramètres supplémentaires.
- item filter - voir item filter;
- time period - voir time period;
- operator (doit être entre guillemets doubles).
operatorspris en charge :
eq - égal
ne - différent
gt - supérieur
ge - supérieur ou égal
lt - inférieur
le - inférieur ou égal
like - correspond si contient le motif (sensible à la casse)
bitand - ET binaire
regexp - correspondance sensible à la casse de l'expression régulière donnée danspattern
iregexp - correspondance insensible à la casse de l'expression régulière donnée danspattern - pattern - le motif requis (les arguments de chaîne doivent être entre guillemets doubles) ; pris en charge si operator est spécifié dans le troisième paramètre.
Commentaires :
- L'utilisation de count() avec une fonction foreach liée à l'historique (max_foreach, avg_foreach, etc.) peut avoir des implications sur les performances, tandis que l'utilisation de exists_foreach(), qui fonctionne uniquement avec les données de configuration, n'aura pas cet effet.
- Les paramètres optionnels operator ou pattern ne peuvent pas être laissés vides après une virgule, ils doivent soit être entièrement omis.
- Avec bitand comme troisième paramètre, le quatrième paramètre
patternpeut être spécifié sous la forme de deux nombres séparés par '/': number_to_compare_with/mask. count() calcule un « ET binaire » à partir de la valeur et du mask et compare le résultat à number_to_compare_with. Si le résultat du « ET binaire » est égal à number_to_compare_with, la valeur est comptée.
Si number_to_compare_with et mask sont égaux, seul le mask doit être spécifié (sans '/'). - Avec regexp ou iregexp comme troisième paramètre, le quatrième paramètre
patternpeut être une expression régulière ordinaire ou globale (commençant par '@'). Dans le cas des expressions régulières globales, la sensibilité à la casse est héritée des paramètres de l'expression régulière globale. Aux fins de la correspondance regexp, les valeurs flottantes seront toujours représentées avec 4 chiffres décimaux après '.'. Notez également que, pour les grands nombres, la différence entre la représentation décimale (stockée dans la base de données) et binaire (utilisée par le serveur Zabbix) peut affecter le 4e chiffre décimal.
Exemples :
count(max_foreach(/*/net.if.in[*],1h)) #le nombre d'éléments net.if.in ayant reçu des données au cours de la dernière heure jusqu'à maintenant
count(last_foreach(/*/vfs.fs.size[*,pused]),"gt",95) #le nombre de systèmes de fichiers avec plus de 95 % d'espace disque utilisé
histogram_quantile(quantile,bucket1,value1,bucket2,value2,...)
Calcule le φ-quantile à partir des buckets d’un histogramme.
Prend en charge la fonction foreach : bucket_rate_foreach.
Paramètres :
- quantile - 0 ≤ φ ≤ 1;
- bucketN, valueN - paires de paramètres saisies manuellement (>=2) ou la réponse de bucket_rate_foreach.
Commentaires :
- Pris en charge uniquement dans les éléments calculés ;
- Correspond fonctionnellement à 'histogram_quantile' de PromQL ;
- Renvoie -1 si les valeurs du dernier bucket 'Infinity' ("+inf") sont égales à 0.
Exemples :
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)
Le nombre d’éléments existants dans la configuration qui correspondent aux critères du filtre.
Type de valeur pris en charge : Integer.
Paramètre :
- item filter - critères de sélection des éléments, permettant la référence par groupe d’hôtes, hôte, clé d’élément et tags. Les caractères génériques sont pris en charge. Voir item filter pour plus de détails.
Commentaires :
- Pris en charge uniquement dans les éléments calculés ;
- Fonctionne comme un alias de la fonction count(exists_foreach(item_filter)).
Exemples :
item_count(/*/agent.ping?[group="Host group 1"]) #le nombre d’hôtes avec l’élément *agent.ping* dans le "Host group 1"
kurtosis(/host/key,(sec|#num)<:time shift>)
La « queue » de la distribution de probabilité des valeurs collectées au cours de la période d’évaluation définie. Voir aussi : Kurtosis.
Types de valeurs pris en charge : Float, Integer.
Fonction foreach prise en charge : last_foreach.
Paramètres : voir les paramètres communs.
Exemple :
kurtosis(/host/key,1h) #kurtosis pour la dernière heure jusqu’à maintenant
mad(/host/key,(sec|#num)<:time shift>)
L’écart absolu médian des valeurs collectées dans la période d’évaluation définie. Voir aussi : Écart absolu médian.
Types de valeurs pris en charge : Float, Integer.
Fonction foreach prise en charge : last_foreach.
Paramètres : voir les paramètres communs.
Exemple :
mad(/host/key,1h) #écart absolu médian pour la dernière heure jusqu’à maintenant
max(/host/key,(sec|#num)<:time shift>)
La valeur la plus élevée d’un élément pendant la période d’évaluation définie.
Types de valeurs pris en charge : Float, Integer.
Fonctions foreach prises en charge : avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.
Paramètres : voir les paramètres communs.
Exemple :
max(/host/key,1h) - min(/host/key,1h) #calcule la différence entre les valeurs maximale et minimale au cours de la dernière heure jusqu’à maintenant (le delta des valeurs)
min(/host/key,(sec|#num)<:time shift>)
La valeur la plus basse d’un élément pendant la période d’évaluation définie.
Types de valeurs pris en charge : Float, Integer.
Fonctions foreach prises en charge : avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.
Paramètres : voir les paramètres communs.
Exemple :
max(/host/key,1h) - min(/host/key,1h) #calcule la différence entre les valeurs maximale et minimale au cours de la dernière heure jusqu’à maintenant (le delta des valeurs)
skewness(/host/key,(sec|#num)<:time shift>)
L’asymétrie de la distribution de probabilité des valeurs collectées au cours de la période d’évaluation définie. Voir aussi : Skewness.
Types de valeurs pris en charge : Float, Integer.
Fonction foreach prise en charge : last_foreach.
Paramètres : voir les paramètres communs.
Exemple :
skewness(/host/key,1h) #l’asymétrie pour la dernière heure jusqu’à maintenant
stddevpop(/host/key,(sec|#num)<:time shift>)
L'écart type de la population des valeurs collectées pendant la période d'évaluation définie. Voir aussi : Écart type.
Types de valeurs pris en charge : Float, Integer.
Fonction foreach prise en charge : last_foreach.
Paramètres : voir paramètres communs.
Exemple :
stddevpop(/host/key,1h) #l'écart type de la population pour la dernière heure jusqu'à maintenant
stddevsamp(/host/key,(sec|#num)<:time shift>)
L'écart-type d'échantillon des valeurs collectées pendant la période d'évaluation définie. Voir aussi : Écart-type.
Types de valeurs pris en charge : Float, Integer.
fonction foreach prise en charge : last_foreach.
Paramètres : voir les paramètres communs.
Au moins deux valeurs de données sont requises pour que cette fonction fonctionne.
Exemple :
stddevsamp(/host/key,1h) #l'écart-type d'échantillon pour la dernière heure jusqu'à maintenant
sum(/host/key,(sec|#num)<:time shift>)
La somme des valeurs collectées pendant la période d’évaluation définie.
Types de valeurs pris en charge : Float, Integer.
Fonctions foreach prises en charge : avg_foreach, count_foreach, exists_foreach, last_foreach, max_foreach, min_foreach, sum_foreach.
Paramètres : voir les paramètres communs.
Exemple :
sum(/host/key,1h) #la somme des valeurs de la dernière heure jusqu’à maintenant
sumofsquares(/host/key,(sec|#num)<:time shift>)
La somme des carrés des valeurs collectées pendant la période d’évaluation définie.
Types de valeurs pris en charge : Float, Integer.
Fonction foreach prise en charge : last_foreach.
Paramètres : voir les paramètres communs.
Exemple :
sumofsquares(/host/key,1h) #la somme des carrés pour la dernière heure jusqu’à maintenant
varpop(/host/key,(sec|#num)<:décalage temporel>)
La variance de population des valeurs collectées dans la période d’évaluation définie. Voir aussi : Variance.
Types de valeurs pris en charge : Float, Integer.
Fonction foreach prise en charge : last_foreach.
Paramètres : voir paramètres communs.
Exemple :
varpop(/host/key,1h) #la variance de population de la dernière heure jusqu’à maintenant
varsamp(/host/key,(sec|#num)<:time shift>)
La variance d’échantillon des valeurs collectées pendant la période d’évaluation définie. Voir aussi : Variance.
Types de valeurs pris en charge : Float, Integer.
Fonction foreach prise en charge : last_foreach.
Paramètres : voir paramètres communs.
Au moins deux valeurs de données sont nécessaires pour que cette fonction fonctionne.
Exemple :
varsamp(/host/key,1h) #la variance d’échantillon pour la dernière heure jusqu’à maintenant