SRE : Prometheus alerte trop tard sur la latence du backend

vdumont 20/08/2024
RÉSOLU
vdumont
Auteur Actif Secouriste
Avatar de vdumont
vdumont
Auteur Actif Secouriste

salut la compagnie ! j'ai un souci avec une alerte prometheus. je veux être prévenu dès qu'un endpoint de mon backend dépasse 500ms de latence moyenne sur 5 minutes. j'ai cette règle mais l'alerte se déclenche genre 10 minutes après que le problème ait commencé


- alert: HighBackendLatency
  expr: |
    avg_over_time(http_request_duration_seconds_bucket{job="my-backend", le="0.5"}[5m]) < 0.95
  for: 2m
  labels:
    severity: critical
  annotations:
    summary: "Latence élevée sur le backend"

mon scrape interval est de 15s. qqn a déjà eu ça ?

20/08/2024 à 15:08

5 commentaires

hoareau-emile
Membre Actif
Avatar de hoareau-emile
hoareau-emile
Membre Actif

ton expr elle est un peu à l'envers là. le="0.5" c'est le nombre de requêtes qui ont pris moins de 500ms. si tu veux la latence moyenne tu devrais plutôt utiliser un histogram_quantile avec rate sur les buckets pour estimer le p99 ou p90

21/08/2024 à 14:14
lesage-pauline
Membre Actif Secouriste
Avatar de lesage-pauline
lesage-pauline
Membre Actif Secouriste

ouais carrément ! pour un p90 sur 5 minutes qui dépasse 500ms tu ferais un truc du genre :


histogram_quantile(0.90, sum by (le, job) (rate(http_request_duration_seconds_bucket{job="my-backend"}[5m]))) > 0.5

et for: 2m c ptete trop long pour la détection rapide, essaye avec 1m ou même 30s si c'est vraiment critique

22/08/2024 à 11:12
jclement
Membre Actif
Avatar de jclement
jclement
Membre Actif

attention aux données manquantes aussi. si ton backend crashe ou ne renvoie plus de métriques l'alerte ne se déclenchera jamais. tu peux ajouter un sum(up{job="my-backend"}) == 0 pour capter les arrêts nets

23/08/2024 à 07:45
vdumont
Auteur Actif Secouriste
Avatar de vdumont
vdumont
Auteur Actif Secouriste

ok je vois mon erreur dans l'expression. je vais adapter avec le histogram_quantile et un for plus court. j'avais pas pensé au up aussi. merci pour les tips ça devrait être beaucoup plus réactif comme ça

24/08/2024 à 04:00
hoareau-emile
Membre Actif
Avatar de hoareau-emile
hoareau-emile
Membre Actif

nickel. pense à valider ta règle dans prometheus ui avant de la pusher pour t'assurer que ça te sort les bonnes valeurs

25/08/2024 à 03:48

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