prometheus alertes arrivent trop tard j'ai des incendies pas des pré-alertes

Posté par hmichaud le 22/08/2025
RÉSOLU

hmichaud

Membre depuis le 28/09/2024

salut les sres ! j'ai un soucis on utilise prometheus et grafana pour la supervision mais les alertes sont trop lentes. genre le service est déjà en vrac depuis 5 bonnes minutes avant que l'alerte pète. on est en prod et ça craint. on a des scrape_interval de 15s et des eval_interval de 1min. des idées pour accélérer le truc sans tout péter ?


# Exemple d'alerte qui met du temps
- alert: HighRequestLatency
  expr: histogram_quantile(0.99, sum by (le, job) (rate(http_request_duration_seconds_bucket[5m]))) > 0.5
  for: 2m
  labels:
    severity: critical
  annotations:
    summary: "High request latency on {{ $labels.job }}"
    description: "P99 latency for {{ $labels.job }} is above 0.5s for 2 minutes."

Commentaires

stephanie-devaux

Membre depuis le 26/07/2021

déjà le `for: 2m` ça veut dire que l'alerte va être en pending pendant 2 minutes avant de se déclencher. si tu veux du plus rapide il faut réduire ce `for`. attention aux faux positifs après. sinon check la charge de prometheus des fois il est juste à la bourre sur ses évaluations

claire49

Membre depuis le 17/04/2020

regarde aussi ton alertmanager. le `group_wait` et `group_interval` peuvent introduire du délai avant que l'alerte soit envoyée. si t'as un `group_wait: 30s` ça attend 30s avant d'envoyer la première alerte d'un groupe

theophile00

Membre depuis le 24/01/2025

c'est quoi ton stockage pour prometheus ? si ton disque est lent les queries et evaluations prennent du temps. et si t'as trop de séries cardinalité de ouf ça rame aussi. ça pète les cores et la ram ou juste la latence est élevée

hmichaud

Membre depuis le 28/09/2024

ok le `for` je vais tenter de le réduire un peu mais pas trop peur des faux positifs. alertmanager j'ai vérifié les `group_wait` c'est 10s c'est jouable. par contre prometheus lui même il est pas en galère, les ressources sont stables. la latence c'est pas sur les requêtes à prometheus mais vraiment sur le temps entre le problème et l'alerte dans slack

stephanie-devaux

Membre depuis le 26/07/2021

ok donc c'est pas prometheus lui-même mais le process d'alerte. tu utilises des recording rules ? des fois une recording rule complexe peut prendre du temps à évaluer et si ton alerte dépend d'une recording rule c'est un double délai

laurence85

Membre depuis le 19/07/2019

une autre piste. t'es sûr que tes scrapes sont bien à 15s ? regarde le `scrape_duration_seconds` et `scrape_samples_scraped` sur les métriques de prometheus. si la durée de scrape est proche de 15s ça veut dire que tes cibles ont du mal à répondre ou prometheus est trop occupé

hmichaud

Membre depuis le 28/09/2024

les recording rules c'est une bonne piste j'en ai quelques unes complexes. je vais regarder si y'a pas moyen de les simplifier ou de faire des evaluations plus fréquentes pour elles. les scrape sont bien à 15s et durent en moyenne 2-3s. c'est ok de ce côté

claire49

Membre depuis le 17/04/2020

oui des recording rules trop gourmandes ou évaluées pas assez souvent par rapport à leur dépendance peuvent générer du lag. essaie de mettre les plus critiques en `interval: 30s` par exemple si c'est pas déjà fait

hmichaud

Membre depuis le 28/09/2024

j'ai optimisé 2-3 recording rules et j'ai réduit le `for` à 1m sur les alertes critiques. les premières tests sont prometteurs, les alertes arrivent plus vite. on va monitorer ça mais ça semble être sur la bonne voie. merci pour les pistes les gars c'était utile !

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