alertes prometheus qui flappent pour la latence db

Posté par margot-blanchet le 06/09/2025
RÉSOLU

margot-blanchet

Membre depuis le 20/09/2024

yo les sre

j'ai une alerte prometheus sur la latence de notre base de données et elle me rend dingue. dès que la latence monte un peu (genre au-dessus de 50ms) l'alerte part. le truc c'est qu'elle part et revient toutes les 2-3 minutes. c'est super bruyant et on rate les vrais incidents. comment je stabilise ça ?


# excerpt de notre rule prometheus
- alert: HighDBLatency
  expr: avg_over_time(db_query_latency_ms[5m]) > 50
  for: 1m
  labels:
    severity: critical
  annotations:
    summary: "Latence DB élevée sur {{ $labels.instance }}"

Commentaires

elise-philippe

Membre depuis le 05/08/2024

salut

ton `for: 1m` c'est ptete un peu court non ? ça veut dire que l'alerte est déclenchée après seulement 1 minute de dépassement. si t'as des pics passagers qui durent moins d'une minute ton alerte va flapper. essaie de mettre un `for: 5m` ou même 10m pour voir si ça calme le jeu

margot-blanchet

Membre depuis le 20/09/2024

ouais j'ai déjà essayé avec 3m mais ça change pas grand chose elle continue à flapper. c'est pas des pics courts c'est une latence qui monte et redescend autour de 50ms tout le temps

vallet-susanne

Membre depuis le 29/11/2024

le `avg_over_time` sur 5m c'est déjà pas mal pour lisser. mais si ta latence est vraiment instable tu pourrais augmenter ton seuil genre passer à `> 75` ou même `> 100` si 50ms est acceptable par moment. sinon tu peux aussi jouer avec les fonctions `stddev_over_time` pour détecter des variations trop fortes plutôt qu'un seuil fixe

elise-philippe

Membre depuis le 05/08/2024

ou alors une double condition. genre `avg_over_time(db_query_latency_ms[5m]) > 50` AND `avg_over_time(db_query_latency_ms[15m]) > 40`. comme ça il faut que la latence soit élevée sur une courte période et un peu élevée sur une plus longue. ça filtre les micro-pics

margot-blanchet

Membre depuis le 20/09/2024

intéressant la double condition j'y avais pas pensé. pour le seuil je peux pas trop monter 50ms c'est déjà pas top pour l'ux

margot-blanchet

Membre depuis le 20/09/2024

j'ai mis la double condition avec un `for: 5m` et ça a l'air de tenir. les alertes sont beaucoup plus stables maintenant et ne partent que quand y'a un vrai souci persistant. merci beaucoup les gars !

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