Alertes Prometheus sur les services critiques trop de faux positifs

Posté par masse-leon le 14/12/2024
RÉSOLU

masse-leon

Membre depuis le 11/06/2020

Salut la mif, j'ai un souci avec nos alertes Prometheus sur les services critiques. on a trop de faux positifs surtout la nuit ou les week-ends. genre des alertes sur la latence des API qui se déclenchent pour des micro-pics temporaires alors que le service va bien. ça rend les astreintes lourdes et on perd confiance dans les alertes. comment vous gérez ça ?

# exemple d'alerte qui nous gave
- alert: highapilatency
  expr: histogram_quantile(0.99, rate(api_request_duration_seconds_bucket[5m])) > 0.5
  for: 1m
  labels:
    severity: critical
  annotations:
    summary: "api latence élevée"

Commentaires

andree-hebert

Membre depuis le 19/03/2019

yo ! ton

for: 1m
c'est probablement trop court pour un service critique. essaie de le monter à 5m ou 10m pour filtrer les micro-pics. ou alors tu peux utiliser des recording rules pour lisser tes métriques avant l'alerte. genre une moyenne sur 5-10min

masse-leon

Membre depuis le 11/06/2020

ok pour le

for
je vais tester 5m. pour les recording rules tu penses à quoi exactement ? faire une
avg_over_time
de la latence avant de l'utiliser dans l'alerte ?

andree-hebert

Membre depuis le 19/03/2019

exactement. tu peux faire un truc du genre :

# recording rule pour lisser la métrique
- record: api_request_duration_seconds_99th_5m
  expr: histogram_quantile(0.99, rate(api_request_duration_seconds_bucket[5m]))
# ensuite ton alerte utilise cette recording rule avec un `avg_over_time`
- alert: HighApiLatency
  expr: avg_over_time(api_request_duration_seconds_99th_5m[5m]) > 0.5
  for: 5m

ça va encore plus lisser le signal avant que l'alerte se déclenche. et gaffe à ton

rate[5m]
, si tu as des intervalles de scrape qui sautent ou sont irréguliers ça peut être source de bruit aussi

masse-leon

Membre depuis le 11/06/2020

ah pas bête du tout le

avg_over_time
sur la recording rule. ça double le lissage en fait. on a un scrape interval de 15s donc ça devrait être ok. un autre truc c'est les alertes de saturation CPU/Memory des pods. on a des pics qui déclenchent des alertes mais K8s autoscalent et tout redevient normal 2min après. comment filtrer ça ?

andree-hebert

Membre depuis le 19/03/2019

pour CPU/Memory pareil le

for
et l'
avg_over_time
peuvent aider. mais aussi si c'est de l'autoscaling et que ça résout le problème rapidement, tu peux te demander si c'est vraiment une alerte de "criticalité" ou plutôt une métrique de "scaling event". des fois mieux vaut une alerte sur le fait que l'autoscaling ne fonctionne PLUS que sur les pics eux-mêmes si ils sont gérés automatiquement

masse-leon

Membre depuis le 11/06/2020

ouais tu as raison c'est plus une info que une alerte critique si l'autoscaling gère. on va revoir la sévérité et les thresholds. le combo

for
+ recording rule avec
avg_over_time
ça me semble être une bonne piste pour réduire le bruit. thx pour les tips !

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