[comment]: # translation:outdated

[comment]: # attributes: notoc

[comment]: # (terms:  avg, bucket_percentile, count, histogram_quantile, item_count, kurtosis, mad, max, min, skewness, stddevpop, stddevsamp, sum, sumofsquares, varpop, varsamp )

[comment]: # (tags:  count )

[comment]: # ({cbe17b03-ee60e21e})
# 1 Fonctions d'agrégation

Sauf indication contraire, toutes les fonctions répertoriées ici sont prises en charge dans :

-   [Expressions de déclencheur](/manual/config/triggers/expression)
-   [Formules d'élément calculé](/manual/config/items/itemtypes/calculated)
-   [Macros d'expression](/manual/config/macros/expression_macros)

Les fonctions d'agrégation peuvent fonctionner avec :

-   l'historique des éléments, par exemple `min(/hôte/key,1h)`
-   les [fonctions foreach](/manual/config/triggers/expression/aggregate/foreach) comme
    seul paramètre, par exemple `min(last_foreach(/*/key))` (uniquement dans les formules d'élément calculé ; pour les utiliser dans les déclencheurs, référencez l'élément calculé par sa clé)

Les fonctions sont répertoriées sans informations supplémentaires. Cliquez sur la fonction pour voir tous les détails.

|Function|Description|
|--|--------|
|[avg](#avg)|La valeur moyenne d'un élément pendant la période d'évaluation définie.|
|[bucket_percentile](#bucket-percentile)|Calcule le percentile à partir des buckets d'un histogramme.|
|[count](#count)|Le nombre de valeurs dans un tableau renvoyé par une fonction foreach.|
|[histogram_quantile](#histogram-quantile)|Calcule le quantile φ à partir des buckets d'un histogramme.|
|[item_count](#item-count)|Le nombre d'éléments existants dans la configuration qui correspondent aux critères de filtre.|
|[kurtosis](#kurtosis)|L'aplatissement de la distribution de probabilité des valeurs collectées pendant la période d'évaluation définie.|
|[mad](#mad)|L'écart absolu médian des valeurs collectées pendant la période d'évaluation définie.|
|[max](#max)|La valeur la plus élevée d'un élément pendant la période d'évaluation définie.|
|[min](#min)|La valeur la plus basse d'un élément pendant la période d'évaluation définie.|
|[skewness](#skewness)|L'asymétrie de la distribution de probabilité des valeurs collectées pendant la période d'évaluation définie.|
|[stddevpop](#stddevpop)|L'écart type de population des valeurs collectées pendant la période d'évaluation définie.|
|[stddevsamp](#stddevsamp)|L'écart type d'échantillon des valeurs collectées pendant la période d'évaluation définie.|
|[sum](#sum)|La somme des valeurs collectées pendant la période d'évaluation définie.|
|[sumofsquares](#sumofsquares)|La somme des carrés des valeurs collectées pendant la période d'évaluation définie.|
|[varpop](#varpop)|La variance de population des valeurs collectées pendant la période d'évaluation définie.|
|[varsamp](#varsamp)|La variance d'échantillon des valeurs collectées pendant la période d'évaluation définie.|

[comment]: # ({/cbe17b03-ee60e21e})

[comment]: # ({2acead3e-4d343eb8})
#### Paramètres communs

-   `/hôte/clé` est un premier paramètre commun obligatoire pour les fonctions
    faisant référence à l'historique des éléments de l'hôte
-   `(sec|#num)<:décalage temporel>` est un deuxième paramètre commun pour les
    fonctions faisant référence à l'historique des éléments de l'hôte, où :
    -   **sec** - [période d'évaluation](/manual/config/triggers#evaluation-period)
        maximale en secondes
        (les [suffixes](/manual/appendix/suffixes) de temps peuvent être utilisés), ou
    -   **\#num** - [plage d'évaluation](/manual/config/triggers#evaluation-period)
        maximale dans les dernières
        valeurs collectées (si précédée d'un dièse)
    -   **décalage temporel** (optionnel) permet de déplacer le point d'évaluation
        dans le passé. Voir [plus de
        détails](/manual/config/triggers/expression#time-shift) sur
        la spécification du décalage temporel.

[comment]: # ({/2acead3e-4d343eb8})

[comment]: # ({c645f0e4-fe53c04c})
### 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/key` et `(sec|#num)<:time shift>` ne doivent jamais être
    entre guillemets

[comment]: # ({/c645f0e4-fe53c04c})

[comment]: # ({2844b0b7-f5993b4c})
##### avg(/host/key,(sec|#num)<:time shift>) {#avg}

La valeur moyenne d’un élément sur la période d’évaluation définie.<br>
Types de valeurs pris en charge : *Float*, *Integer*.<br>
[Fonctions foreach](/manual/config/triggers/expression/aggregate/foreach) prises en charge : *avg_foreach*, *count_foreach*, *exists_foreach*, *last_foreach*, *max_foreach*, *min_foreach*, *sum_foreach*.

Paramètres : voir [paramètres communs](#common-parameters).

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 :

```default
avg(/host/key,1h) #calculate the average value for the last hour until now
avg(/host/key,#5) #calculate the average value of the five latest values
avg(/host/key,1h:now-1d) #calculate the average value for an hour from 25 hours ago to 24 hours ago from now
avg(last_foreach(/*/system.cpu.load[,avg1]?[group="MySQL Servers"])) #calculate the average processor load for all MySQL servers
avg(/host/proc.num,5m)>300 #trigger if the average number of processes in the last 5 minutes has been above 300
```

[comment]: # ({/2844b0b7-f5993b4c})

[comment]: # ({ae55eda6-af24d13f})
##### bucket_percentile(item filter,time period,percentage) {#bucket-percentile}

Calcule le percentile à partir des buckets d'un histogramme.<br>

Paramètres : 

-   **item filter** - voir [item filter](/manual/config/triggers/expression/aggregate/foreach#item-filter-syntax) ;<br>
-   **time period** - voir [time period](/manual/config/triggers/expression/aggregate/foreach#time-period) ;<br>
-   **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))`.

Exemples :

```default
bucket_percentile(/*/http_request_duration_seconds_bucket[*],5m,95) #calculate the 95th percentile response time over 5 minutes
bucket_percentile(/*/apiserver_request_duration_seconds_bucket[*],10m,99) #calculate the 99th percentile API latency
```

[comment]: # ({/ae55eda6-af24d13f})

[comment]: # ({4520f3ef-3c498650})
##### count(func_foreach(filtre d'élément,<période de temps>),<opérateur>,<motif>) {#count}

Le nombre de valeurs dans un tableau renvoyé par une fonction foreach.<br>
[Fonctions foreach](/manual/config/triggers/expression/aggregate/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 [fonctions foreach](/manual/config/triggers/expression/aggregate/foreach) pour plus de détails. Notez que count_foreach et bucket_rate_foreach prennent en charge des [paramètres supplémentaires](/manual/config/triggers/expression/aggregate/foreach#additional-parameters).
-   **filtre d'élément** - voir [filtre d'élément](/manual/config/triggers/expression/aggregate/foreach#item-filter-syntax);<br>
-   **période de temps** - voir [période de temps](/manual/config/triggers/expression/aggregate/foreach#time-period);<br>
-   **opérateur** (doit être entre guillemets doubles). `Opérateurs` pris en charge :<br>*eq* - égal<br>*ne* - différent<br>*gt* - supérieur<br>*ge* - supérieur ou égal<br>*lt* - inférieur<br>*le* - inférieur ou égal<br>*like* - correspond si contient le motif (sensible à la casse)<br>*bitand* - ET binaire<br>*regexp* - correspondance sensible à la casse de l'expression régulière donnée dans `pattern`<br>*iregexp* - correspondance insensible à la casse de l'expression régulière donnée dans `pattern`<br>
-   **pattern** - le motif requis (les arguments de type chaîne doivent être entre guillemets doubles) ; pris en charge si *opérateur* 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 facultatifs *opérateur* 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 `pattern` peut être spécifié sous forme de deux nombres séparés par '/': **nombre_à_comparer/masque**. count() calcule le "ET binaire" à partir de la valeur et du *masque* et compare le résultat à *nombre_à_comparer*. Si le résultat du "ET binaire" est égal à *nombre_à_comparer*, la valeur est comptée.<br>Si *nombre_à_comparer* et *masque* sont égaux, seul le *masque* doit être spécifié (sans '/').
-   Avec *regexp* ou *iregexp* comme troisième paramètre, le quatrième paramètre `pattern` peut être une expression régulière ordinaire ou [globale](/manual/regular_expressions#global-regular-expressions) (commençant par '@'). Dans le cas des expressions régulières globales, la sensibilité à la casse est héritée des paramètres des expressions régulières globales. 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 :

```default
count(max_foreach(/*/net.if.in[*],1h)) #calculate the number of net.if.in items that received data in the last hour until now
count(last_foreach(/*/vfs.fs.size[*,pused]),"gt",95) #calculate the number of file systems with over 95% of disk space used
```

[comment]: # ({/4520f3ef-3c498650})

[comment]: # ({3ba37963-f3ad7158})
##### histogram_quantile(quantile,bucket1,value1,bucket2,value2,...) {#histogram-quantile}

Calcule le φ-quantile à partir des buckets d’un histogramme.<br>
Prend en charge la [fonction foreach](/manual/config/triggers/expression/aggregate/foreach) : *bucket_rate_foreach*.

Paramètres : 

-   **quantile** - 0 ≤ φ ≤ 1;<br>
-   **bucketN, valueN** - paires saisies manuellement (>=2) de paramètres ou la réponse de [bucket_rate_foreach](/manual/config/triggers/expression/aggregate/foreach).

Commentaires :

-   Pris en charge uniquement dans les éléments calculés ;
-   Correspond fonctionnellement à '[histogram\_quantile](https://prometheus.io/docs/prometheus/latest/querying/functions/#histogram-quantile)' de PromQL ;
-   Renvoie -1 si les valeurs du dernier bucket 'Infinity' (*"+inf"*) sont égales à 0.

Exemples :

```default
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))
```

[comment]: # ({/3ba37963-f3ad7158})

[comment]: # ({b14d0146-c8e3133a})
##### item_count(item filter) {#item-count}

Le nombre d'éléments existants dans la configuration qui correspondent aux critères du filtre.<br>
Type de valeur pris en charge : *Integer*.

Paramètre : 

-   **item filter** - critères de sélection des éléments, permet de référencer 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](/manual/config/triggers/expression/aggregate/foreach#item-filter-syntax) pour plus de détails.<br>

Commentaires :

-   Pris en charge uniquement dans les éléments calculés ;
-   Fonctionne comme un alias de la fonction *count(exists_foreach(item_filter))*.

Exemples :

```default
item_count(/*/agent.ping?[group="Host group 1"]) #calculate the number of hosts with the agent.ping item in "Host group 1"
```

[comment]: # ({/b14d0146-c8e3133a})

[comment]: # ({356d9069-88a54099})
##### kurtosis(/host/key,(sec|#num)<:time shift>) {#kurtosis}

La « queue » de la distribution de probabilité des valeurs collectées au cours de la période d’évaluation définie. Voir aussi : [Kurtosis](https://en.wikipedia.org/wiki/Kurtosis).<br>
Types de valeurs pris en charge : *Float*, *Integer*.<br>
[fonction foreach](/manual/config/triggers/expression/aggregate/foreach) prise en charge : *last_foreach*.

Paramètres : voir [paramètres communs](#common-parameters).

Exemples :

```default
kurtosis(/host/system.cpu.util[,user],5m)>5 #trigger on sharp spikes of CPU utilization over 5 minutes
```

[comment]: # ({/356d9069-88a54099})

[comment]: # ({98a81503-bfb43a27})
##### mad(/host/key,(sec|#num)<:décalage temporel>) {#mad}

L'écart absolu médian des valeurs collectées au cours de la période d'évaluation définie. Voir aussi : [Écart absolu médian](https://en.wikipedia.org/wiki/Median_absolute_deviation).<br>
Types de valeurs pris en charge : *Float*, *Integer*.<br>
[Fonction foreach](/manual/config/triggers/expression/aggregate/foreach) prise en charge : *last_foreach*.

Paramètres : voir [paramètres communs](#common-parameters).

Exemples :

```default
last(/host/system.cpu.util[,user])>avg(/host/system.cpu.util[,user],1h)+3*mad(/host/system.cpu.util[,user],1h) #déclencheur si la dernière valeur d'utilisation du processeur est statistiquement significative
```

[comment]: # ({/98a81503-bfb43a27})

[comment]: # ({e93a3513-5882010b})
##### max(/host/key,(sec|#num)<:time shift>) {#max}

La valeur la plus élevée d'un élément pendant la période d'évaluation définie.<br>
Types de valeurs pris en charge : *Float*, *Integer*.<br>
[Fonctions foreach](/manual/config/triggers/expression/aggregate/foreach) prises en charge : *avg_foreach*, *count_foreach*, *exists_foreach*, *last_foreach*, *max_foreach*, *min_foreach*, *sum_foreach*.

Paramètres : voir [paramètres communs](#common-parameters).

Exemples :

```default
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)
max(last_foreach(/*/vfs.fs.size[*,pused]?[group="Linux servers"])) #renvoie l'utilisation de disque la plus élevée sur tous les serveurs Linux
```

[comment]: # ({/e93a3513-5882010b})

[comment]: # ({cfe7b652-ffd1e499})
##### min(/host/key,(sec|#num)<:time shift>) {#min}

La valeur la plus basse d'un élément pendant la période d'évaluation définie.<br>
Types de valeurs pris en charge : *Float*, *Integer*.<br>
Fonctions [foreach](/manual/config/triggers/expression/aggregate/foreach) prises en charge : *avg_foreach*, *count_foreach*, *exists_foreach*, *last_foreach*, *max_foreach*, *min_foreach*, *sum_foreach*.

Paramètres : voir [paramètres communs](#common-parameters).

Exemples :

```default
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(last_foreach(/*/vfs.file.contents["/sys/class/net/enp0s3/operstate"]?[group="Linux servers"])) #renvoie l'état opérationnel minimal pour toute interface sur l'ensemble des serveurs Linux
```

[comment]: # ({/cfe7b652-ffd1e499})

[comment]: # ({f9d7543b-6b6fb273})
##### skewness(/host/key,(sec|#num)<:time shift>) {#skewness}

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](https://en.wikipedia.org/wiki/Skewness).<br>
Types de valeurs pris en charge : *Float*, *Integer*.<br>
[fonction foreach](/manual/config/triggers/expression/aggregate/foreach) prise en charge : *last_foreach*.

Paramètres : voir les [paramètres communs](#common-parameters).

Exemples :

```default
skewness(/host/vm.memory.size[used],5m)<-20 #trigger on sudden negative drops indicating crashes/restarts
```

[comment]: # ({/f9d7543b-6b6fb273})

[comment]: # ({7e32d94e-11c2ea25})
##### stddevpop(/host/key,(sec|#num)<:time shift>) {#stddevpop}

L'écart-type de population des valeurs collectées au cours de la période d'évaluation définie. Voir aussi : [Écart-type](https://en.wikipedia.org/wiki/Standard_deviation).<br>
Types de valeurs pris en charge : *Float*, *Integer*.<br>
[Fonction foreach](/manual/config/triggers/expression/aggregate/foreach) prise en charge : *last_foreach*.

Paramètres : voir [paramètres communs](#common-parameters).

Exemples :

```default
stddevpop(/host/system.cpu.util[,user],10m)>7 #déclencheur si l'utilisation du CPU fluctue fortement (l'écart-type de population est supérieur à 7 sur 10 minutes)
```

[comment]: # ({/7e32d94e-11c2ea25})

[comment]: # ({23ca7fe4-1db77c44})
##### stddevsamp(/host/key,(sec|#num)<:time shift>) {#stddevsamp}

L'écart type de l'échantillon des valeurs collectées pendant la période d'évaluation définie. Voir aussi : [Écart type](https://en.wikipedia.org/wiki/Standard_deviation).<br>
Types de valeurs pris en charge : *Float*, *Integer*.<br>
[Fonction foreach](/manual/config/triggers/expression/aggregate/foreach) prise en charge : *last_foreach*.

Paramètres : voir [paramètres communs](#common-parameters).

Au moins deux valeurs de données sont requises pour que cette fonction fonctionne.

Exemples :

```default
stddevsamp(/host/system.cpu.util[,user],10m)>7 #déclencheur si l'utilisation du CPU fluctue fortement (l'écart type de l'échantillon est supérieur à 7 sur 10 minutes)
```

[comment]: # ({/23ca7fe4-1db77c44})

[comment]: # ({89b5406f-0ecf79eb})
##### sum(/hôte/key,(sec|#num)<:time shift>) {#sum}

La somme des valeurs collectées pendant la période d'évaluation définie.<br>
Types de valeurs pris en charge : *Float*, *Integer*.<br>
[Fonctions foreach](/manual/config/triggers/expression/aggregate/foreach) prises en charge : *avg_foreach*, *count_foreach*, *exists_foreach*, *last_foreach*, *max_foreach*, *min_foreach*, *sum_foreach*.

Paramètres : voir [paramètres communs](#common-parameters).

Exemples :

```default
sum(last_foreach(/*/net.if.in[*]?[group="Linux servers"])) #calcule le trafic réseau entrant total pour tous les serveurs Linux
sum(last_foreach(/*/vfs.fs.size[/,total]?[group="MySQL Servers"])) #calcule l'espace disque total pour tous les serveurs MySQL
sum(last_foreach(/*/net.dns[*,*,*])) #calcule le nombre total de vérifications DNS réussies
```

[comment]: # ({/89b5406f-0ecf79eb})

[comment]: # ({907627c8-6f6556f2})
##### sumofsquares(/host/key,(sec|#num)<:time shift>) {#sumofsquares}

La somme des carrés des valeurs collectées dans la période d'évaluation définie.<br>
Types de valeurs pris en charge : *Float*, *Integer*.<br>
[Fonction foreach](/manual/config/triggers/expression/aggregate/foreach) prise en charge : *last_foreach*.

Paramètres : voir [paramètres communs](#common-parameters).

Exemples :

```default
sumofsquares(/host/calculated.net.if.rate,1m) #la somme des carrés du taux de trafic réseau (entrant vs sortant)
sumofsquares(last_foreach(/*/net.if.in[*]?[group="Linux servers"])) #la somme des carrés des dernières valeurs du trafic réseau entrant sur tous les serveurs Linux
```

[comment]: # ({/907627c8-6f6556f2})

[comment]: # ({04d271f7-d299bd33})
##### varpop(/host/key,(sec|#num)<:time shift>) {#varpop}

La variance de population des valeurs collectées dans la période d'évaluation définie. Voir aussi : [Variance](https://en.wikipedia.org/wiki/Variance).<br>
Types de valeurs pris en charge : *Float*, *Integer*.<br>
[Fonction foreach](/manual/config/triggers/expression/aggregate/foreach) prise en charge : *last_foreach*.

Paramètres : voir [paramètres communs](#common-parameters).

Exemples :

```default
varpop(/host/system.cpu.util[,user],10m)>50 #déclencheur si l'utilisation du CPU fluctue fortement (la variance est supérieure à 50 sur 10 minutes)
```

[comment]: # ({/04d271f7-d299bd33})

[comment]: # ({9c60c2c9-b1bc041c})
##### varsamp(/host/key,(sec|#num)<:time shift>) {#varsamp}

La variance d’échantillon des valeurs collectées dans la période d’évaluation définie. Voir aussi : [Variance](https://en.wikipedia.org/wiki/Variance).<br>
Types de valeurs pris en charge : *Float*, *Integer*.<br>
[fonction foreach](/manual/config/triggers/expression/aggregate/foreach) prise en charge : *last_foreach*.

Paramètres : voir [paramètres communs](#common-parameters).

Au moins deux valeurs de données sont nécessaires pour que cette fonction fonctionne.

Exemples :

```default
varsamp(/host/system.cpu.util[,user],10m)>50 #déclencheur si l'utilisation du CPU fluctue fortement (la variance d’échantillon est supérieure à 50 sur 10 minutes)
```

[comment]: # ({/9c60c2c9-b1bc041c})

[comment]: # ({ba58f5e4-541616fc})
Voir [toutes les fonctions prises en charge](/manual/config/triggers/expression#functions).

[comment]: # ({/ba58f5e4-541616fc})
