prometheus qui rate des targets sur k8s dynamique

marthe75 20/01/2025
RÉSOLU
marthe75
Auteur Actif
Avatar de marthe75
marthe75
Auteur Actif

salut la gang

on a prometheus qui tourne dans k8s et il nous rate des targets aléatoirement on a des alertes 'target down' pour des pods qui sont up et healthy. j'ai l'impression que c'est souvent quand y'a du scaling ou du rolling update sur nos déploiements. le prometheus operator est bien configuré avec les servicemonitors et podmonitors


# exemple de servicemonitor (simplifié)
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: my-app-monitor
  labels:
    release: prometheus-stack
spec:
  selector:
    matchLabels:
      app: my-app
  endpoints:
  - port: web
    path: /metrics
    interval: 15s

quand je vais voir l'UI de prometheus les targets apparaissent et disparaissent. c'est ultra chiant pour la fiabilité de nos métriques

20/01/2025 à 08:47

7 commentaires

christiane81
Membre Actif
Avatar de christiane81
christiane81
Membre Actif

yo t'as vérifié les labels sur tes services et pods s'ils sont bien consistants avec les selectors de tes servicemonitors/podmonitors un petit typo et hop target perdue

21/01/2025 à 05:46
marthe75
Auteur Actif
Avatar de marthe75
marthe75
Auteur Actif

oui j'ai double check tout est bon là-dessus les labels matchent bien. ce qui est bizarre c'est que ça marche pendant un temps et après ça se met à flancher

22/01/2025 à 04:27
cgimenez
Membre
Avatar de cgimenez
cgimenez
Membre

ça pourrait être un problème de timeout de scrape. si tes apps mettent du temps à répondre aux requêtes /metrics prometheus peut les considérer comme down. t'as des latences sur tes endpoints metrics

23/01/2025 à 00:18
marthe75
Auteur Actif
Avatar de marthe75
marthe75
Auteur Actif

pas que je sache les endpoints metrics sont censés être super légers et rapides. mais je peux augmenter le scrape timeout pour voir si ça change quelque chose

23/01/2025 à 19:41
dupre-michel
Membre Actif Secouriste
Avatar de dupre-michel
dupre-michel
Membre Actif Secouriste

autre piste : la capacité de prometheus lui-même. si t'as trop de targets ou si ton prometheus est sous-dimensionné il peut avoir du mal à scrape toutes les targets dans le temps imparti. check les métriques de prometheus sur le nombre de scrapes ratés et l'utilisation cpu/mem

24/01/2025 à 16:59
marthe75
Auteur Actif
Avatar de marthe75
marthe75
Auteur Actif

ok je vais regarder ça. j'ai augmenté le scrape_timeout pour un de mes servicemonitors de 15s à 30s et ça semble un peu mieux. je vais aussi monitorer prometheus plus en détail

25/01/2025 à 16:19
marthe75
Auteur Actif
Avatar de marthe75
marthe75
Auteur Actif

c'était un mix des deux. certains de nos services étaient un peu lents à répondre et prometheus lui-même commençait à être un peu juste. on a scaled up prometheus et ajusté les timeouts pour les services les plus lents. ça a réglé le problème à 90%. merci pour l'aide les gars

26/01/2025 à 13:19

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