alerte prometheus qui flap sans arrêt sur un service

Posté par gilles-descamps le 05/08/2025
RÉSOLU

gilles-descamps

Membre depuis le 02/04/2019

Salut la team ! J'ai une alerte Prometheus qui me rend ouf. Elle se déclenche, se résout, se redéclenche, etc. sur un de mes services critiques. Genre, ça dure pas plus de 30s par occurrence mais c'est constant. L'alerte c'est juste un `up == 0` sur un de mes targets.

# Alerte en question (simplifié)
- alert: ServiceDown
  expr: up{job="my-critical-service"} == 0
  for: 1m
  labels:
    severity: critical
  annotations:
    summary: "Service 'my-critical-service' est down"

Mon `for` est à 1m pourtant ! Des idées d'où ça peut venir ? Ça me spamme Slack.

Commentaires

nlebreton

Membre depuis le 01/04/2020

yo ! tu dis le for est à 1m mais c'est quoi ton `scrape_interval` et ton `evaluation_interval` dans prometheus.yml ? si l'eval_interval est < au scrape_interval ça peut donner des faux positifs si le scrape rate est un peu instable ou si le target est juste lent à répondre des fois

gilles-descamps

Membre depuis le 02/04/2019

ah ouais bonne question j'avais pas pensé au `evaluation_interval`. le `scrape_interval` est à 15s, et le `evaluation_interval` est à 15s aussi. ça devrait pas être un problème en théorie si ?

roger-meunier

Membre depuis le 27/12/2024

pas forcément un problème mais ça rend sensible aux micro-coupures. un `up == 0` c'est très binaire. tu peux regarder si ton service ne renvoie pas des 5xx par intermitence ou si le scrape a des timeouts. des fois la cible est juste "unstable" pas "down". check les logs du service aussi

gilles-descamps

Membre depuis le 02/04/2019

ok je vais checker les logs du service. c'est vrai qu'on a des spikes de latence des fois. le target est pas down mais il peut rater un scrape. ptete augmenter le `for` de l'alerte à 2-3m ?

nlebreton

Membre depuis le 01/04/2020

oui augmenter le `for` c'est une bonne idée pour les services qui "flappent" un peu. mais si c'est vraiment des erreurs de scrape, tu peux aussi regarder les métriques `scrape_duration_seconds` et `scrape_samples_scraped` sur tes targets. si la durée est trop haute ou s'il y a des échecs tu verras

fhebert

Membre depuis le 12/01/2025

ouais et des fois c'est la configuration du target qui fait ça. si ton exporter est un peu lent au démarrage ou si il y a des races conditions lors des restarts. tu peux essayer de monitorer le `time_since_last_successful_scrape` pour voir si c'est pas ça

gilles-descamps

Membre depuis le 02/04/2019

bon j'ai augmenté le `for` à 2m et ça a l'air de calmer le jeu. j'ai aussi vu que mon endpoint `/metrics` répondait parfois avec un léger délai. c'est pas un vrai down mais juste une latence réseau ou de l'appli. merci pour les pistes !

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