Prometheus qui rate des scrapes, metrics perdues

Posté par sauvage-paulette le 23/02/2026
RÉSOLU

sauvage-paulette

Membre depuis le 21/04/2020

salut l'équipe on a un problème aléatoire avec prometheus. de temps en temps il rate des scrapes sur certains de nos services k8s. on se retrouve avec des trous dans nos graphes grafana. on est sur prometheus 2.30. des idées ?

les services c'est majoritairement du go et nodejs, avec des /metrics standards. pas de trucs exotiques.

Commentaires

ichauvet

Membre depuis le 20/03/2019

Tu as checké les logs de Prometheus pour voir ce qu'il dit quand il rate un scrape ? Cherche des scrape_timeout ou des target_down. C'est le premier truc à regarder.

alain-moulin

Membre depuis le 22/12/2020

c pas un souci de service discovery dans K8s ? Si tes pods sont recréés ou changent d'IP, prometheus peut mettre un peu de temps à les redécouvrir via le service discovery. Y'a des metrics sur le Kube-state-metrics pour ça.

sauvage-paulette

Membre depuis le 21/04/2020

Oui j'ai des timeout. des target_down aussi. souvent c'est quand un pod redémarre ou que le déploiement est en cours.

nicole46

Membre depuis le 04/04/2019

Combien de temps dure ton scrape_timeout et ton scrape_interval ? si tes services prennent du temps à démarrer et à exposer les métriques, ou si le réseau est saturé, tu peux augmenter le timeout.

ichauvet

Membre depuis le 20/03/2019

Si c'est lié aux redémarrages de pods, c'est ptete juste le temps que l'endpoint soit prêt. Tu peux augmenter le initialDelaySeconds de ton readiness probe pour donner plus de temps au service de démarrer et exposer ses métriques avant d'être considéré comme prêt.

alain-moulin

Membre depuis le 22/12/2020

et la charge cpu/mémoire de ton pod prometheus ? si prometheus est sous-provisionné, il peut ne pas arriver à scraper toutes les cibles dans les temps, surtout si t'as beaucoup de targets ou de métriques.

sauvage-paulette

Membre depuis le 21/04/2020

scrape_interval est à 15s et timeout à 10s. j'ai déjà essayé d'augmenter le timeout à 12s ça change rien. le pod prometheus est sur des nodes avec plein de ressources et il utilise peu de cpu/ram.

nicole46

Membre depuis le 04/04/2019

Hmmm si le pod prometheus a des ressources, et que les services ont le temps. Ptete un truc réseau entre prometheus et tes pods cibles. Est-ce que le CNI de ton k8s a des soucis de latence ou de paquets droppés entre les nodes ?

ichauvet

Membre depuis le 20/03/2019

Ou regarde si tes targets n'ont pas de problèmes de perf elles-mêmes. Si l'endpoint /metrics prend du temps à répondre, prometheus va timeout. c'est quel type de service qui pose problème ? un truc spécifique ?

sauvage-paulette

Membre depuis le 21/04/2020

c surtout sur un service users-api en go. j'ai testé son endpoint /metrics en curl depuis le pod prometheus, il répond en 20ms. CNI c'est calico, pas de souci apparent sur les logs.

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