Prometheus : Alertes flapping CPU sur Kubernetes

marie-lebreton 11/07/2024
RÉSOLU
marie-lebreton
Auteur Actif
Avatar de marie-lebreton
marie-lebreton
Auteur Actif

Salut à tous ! j'ai un souci avec mes alertes cpu sur k8s elles font que flapper c'est insupportable. le seuil est à 80% sur node_cpu_utilisation et c'est pourtant pas des pics réels de conso stable. ça monte 2sec à 85% puis redescend. du coup l'alerte se déclenche puis s'éteint. vous gérez ça comment


# Exemple d'alerte qui flappe
ALERT HighNodeCPU
  IF (100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)) > 80
  FOR 1m
  LABELS {severity="warning"}
  ANNOTATIONS {
    summary="High CPU usage on node {{ $labels.instance }}",
    description="CPU usage is above 80% for more than 1 minute."
  }
11/07/2024 à 05:10

5 commentaires

ramos-cecile
Membre Actif
Avatar de ramos-cecile
ramos-cecile
Membre Actif

hello c'est un grand classique. ton for 1m est ptete trop court. si tu as des micro-bursts de cpu ça va déclencher l'alerte. essaie un FOR plus long genre 5m pour que l'alerte ne se déclenche que si la charge reste élevée pendant un certain temps

12/07/2024 à 02:20
smarques
Membre
Avatar de smarques
smarques
Membre

ouais et pour ton calcul de cpu tu utilises rate sur 5m. le rate c bien mais ça prend le dernier point de la période si c une irate ou ça peut lisser un peu trop des fois. essaie avg_over_time(rate(...)[5m]) sur une période encore plus longue avant la comparaison, ça va lisser tes pics

12/07/2024 à 23:23

sinon tu peux aussi jouer sur le seuil. 80% c'est ptete trop bas si tes services ont des variations. essaie 85 ou 90%. ou alors tu crées deux alertes une warning à 80% pour info et une critical à 95% avec un FOR plus long

13/07/2024 à 19:12
ichauvet
Membre Actif Secouriste
Avatar de ichauvet
ichauvet
Membre Actif Secouriste

et t'as regardé si tu n'as pas de noise sur tes métriques à cause de kube-state-metrics ou des exporters avec trop de labels ? des fois ça fausse les calculs si t'as pas fait un bon group_left ou on/by

14/07/2024 à 17:21
marie-lebreton
Auteur Actif
Avatar de marie-lebreton
marie-lebreton
Auteur Actif

ok merci pour les tips. je vais essayer de passer mon FOR à 3m et d'utiliser avg_over_time(rate(node_cpu_seconds_total{mode="idle"}[5m]))[2m]. je vais aussi checker le bruit sur mes labels on sait jamais. bonne journée

15/07/2024 à 13:02

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