alerte prometheus spam pour pas grand chose

timothee18 04/04/2025
RÉSOLU
timothee18
Auteur Actif
Avatar de timothee18
timothee18
Auteur Actif

salut la team on a une alerte prometheus sur le cpu usage d'un service qui spamme à mort. l'alerte se déclenche pour 5min de cpu > 80% mais on a des pics qui durent 1-2 min et redescendent. du coup ça fait des pages tous les jours pour des trucs pas critiques. j'ai essayé de monter la durée à 10min mais c'est trop long on veut être notifié si ça dure

alert: HighCpuUsage
expr: avg_over_time(node_cpu_seconds_total{mode="idle"}[5m]) > 0.2 # example, inverted idle
for: 5m
labels:
  severity: warning
annotations:
  summary: "High CPU usage on {{ $labels.instance }}"
04/04/2025 à 11:47

7 commentaires

hello plutôt que d'augmenter for tu peux lisser le signal. genre au lieu de faire avg_over_time sur 5m tu peux faire un rate sur 1m puis un avg_over_time de ce rate sur 5m pour capter la tendance sans être trop sensible aux pics courts. ou alors un min_over_time sur 5m de ton cpu usage pour t'assurer que c un pic soutenu

05/04/2025 à 10:28
franck20
Membre Actif
Avatar de franck20
franck20
Membre Actif

tu peux aussi ajouter un offset si tu veux voir si la trend continue après un pic. genre avg_over_time sur 5m ET avg_over_time sur 5m offset 1m pour voir si ça reste haut

06/04/2025 à 10:16

ouais ou faire un count sur le nombre de fois où le cpu dépasse le seuil sur une période donnée et n'alerter que si ce count est > x. ça gère les micro-bursts

07/04/2025 à 06:22
adrien-brun
Membre Actif Secouriste
Avatar de adrien-brun
adrien-brun
Membre Actif Secouriste

regarde aussi du côté des agrégations. si c avg_over_time(node_cpu_seconds_total{mode="idle"}[5m]) > 0.2 ça veut dire que 20% du temps est passé en idle ou moins. faut que tu sois précis sur ce que tu mesures. un sum ou avg par instance sur (1 - node_cpu_seconds_total{mode="idle"}[5m]) est plus direct pour l'utilisation

08/04/2025 à 02:49
franck20
Membre Actif
Avatar de franck20
franck20
Membre Actif

un autre truc c'est les suppressions dans alertmanager. tu peux configurer des silences automatiques pour certains patterns d'alertes si elles se résolvent rapidement

08/04/2025 à 23:14

perso je suis fan des histogrammes pour ça. si tu as un histogramme du cpu usage tu peux alerter sur le p90 ou p95 sur 5m. ça filtre bien les outliers et les petits pics

09/04/2025 à 21:17
timothee18
Auteur Actif
Avatar de timothee18
timothee18
Auteur Actif

ok je vais tester la combinaison rate puis avg_over_time avec un seuil un peu plus doux et p-être un count sur la fréquence des déclenchements pour vraiment filtrer. le p90/p95 est pas mal aussi je vais voir si j'ai les métriques suffisantes. merci pour les tips ça va m'aider à calmer le jeu

10/04/2025 à 18:58

Laisser une réponse

Vous devez être connecté pour poster un message !

Rejoindre la communauté

Recevoir les derniers articles gratuitement en créant un compte !

S'inscrire