5 commentaires
c'est ptete un truc avec le cycle de vie de tes pods/instances. prometheus découvre les targets via un service discovery (k8s ec2 sd etc) et si l'ancienne target disparaît avant que la nouvelle soit dispo ou que le sd met du temps à la détecter ça crée un gap
regarde aussi ton scrape_interval et ton evaluation_interval. si ton eval_interval est plus court que le temps que met une target à redevenir scrapeable après un déploiement, tu vas avoir des trous. et check la config keep_alive sur ton discovery
y'a pas une durée de staleness que prometheus gère pour les targets ? genre si une target est pas vue pendant x temps il la considère comme down même si elle revient après. faut voir tes config global.scrape_interval et global.evaluation_interval aussi
et si t'utilises k8s verifie bien que tes readiness et liveness probes sont bien configurées et que ton service est pas considéré ready trop tôt ou trop tard
ok je pense que c'est une combinaison du scrape_interval et de la latence du service discovery. mes pods k8s se déclarent ready un peu vite avant d'être vraiment prêts à répondre aux scrapes. je vais rallonger un peu le délai des readiness probes et regarder les métriques de scrape_duration/scrape_samples_scraped. merci pour les pistes !
Laisser une réponse
Vous devez être connecté pour poster un message !
salut la commu j'ai un souci avec prometheus. à chaque fois qu'on redéploie une de nos applications (qui sont des targets), j'ai un trou dans les graphes prometheus pendant qques minutes même si l'appli revient vite. c'est super chiant pour le monitoring on dirait que prometheus met du temps à resrapper ou qqc comme ça