Problème
Vous avez installé l' intégration Prometheus OpenMetrics pour Docker ou Kubernetes, et elle consomme trop de mémoire ou de CPU.
Solution
Lors de l'exécution de l'intégration dans un énorme cluster récupérant des centaines de cibles, la consommation de CPU et de mémoire augmentera et le nombre de travailleurs pourrait affecter scrape_duration
.
Par exemple, une intégration Prometheus OpenMetrics consomme 2,5 CPU et 700 Mo de RAM car :
- Il gratte
800 targets
, expose1000 timeseries
chacun. - Chacun a une latence de
150ms
avec unscrape_duration
de 30 secondes.
Pour réduire la consommation de ressources :
Mettez à jour l'intégration avec la dernière image disponible.
Réduisez le temps de récolte en diminuant
emitter_harvest_period
. (La valeur par défaut est1s
et l'intervalle ne peut pas être inférieur à200ms
.) Étant donné que les métriques sont envoyées plus souvent, la consommation de mémoire est réduite.Collectez les métriques moins fréquemment en augmentant
scrape_duration
pour réduire à la fois la consommation de mémoire et l'utilisation du processeur.Réduisez le nombre de travailleurs pour réduire à la fois la consommation de mémoire et l’utilisation du processeur. Le scraping va ralentir et pourrait dépasser
scrape_duration.
Pour cela :- Mettez à jour l'intégration vers la dernière version disponible de l'image.
- Diminuez
worker_threads
de la valeur par défaut de4
à votre valeur préférée.