10 commentaires
ah le piège classique ! si ton prometheus qui est censé déclencher l'alerte est lui-même down, il ne peut évidemment pas envoyer l'alerte à alertmanager. c'est une limite fondamentale de l'auto-surveillance.
Exactement ce que dit user 2. Pour surveiller Prometheus, il faut un système externe ou un Prometheus secondaire. Ta règle up{job="prometheus"} == 0 ne sert à rien si Prometheus ne peut même pas l'évaluer.
La solution la plus courante c'est d'avoir un deuxième Prometheus minimaliste, juste là pour scraper le Prometheus principal et envoyer l'alerte s'il voit que le principal est down. Ou même un service tierce partie type UptimeRobot.
tu peux aussi utiliser un blackbox_exporter qui ping l'endpoint /metrics de ton prometheus principal. si le blackbox voit que c down, il envoie une métrique à un autre prometheus (ou à lui-même s'il est configuré pour un scrape local) qui déclenchera l'alerte.
D'accord je comprends mieux le principe du watchdog. C'est hyper logique en fait. Donc ma règle est bonne pour surveiller n'importe quel autre service, mais pas le prometheus qui la porte. Je pensais que Alertmanager avait une astuce ou un keepalive natif.
Non Alertmanager reçoit passivement les alertes. Il ne fait pas de monitoring actif. C'est Prometheus qui le nourrit. Donc si le tube est cassé, plus rien n'arrive. Un Prometheus secondaire est la solution la plus robuste et idiomatique.
Tu peux aussi envisager un simple script cron sur une machine distincte qui fait un curl sur l'endpoint /metrics de Prometheus et qui envoie une alerte Slack/Email si ça répond pas. Moins Promethean mais ça marche pour les cas d'urgence.
Pour la solution blackbox exporter, l'idée est que ce blackbox soit scrapé par un autre Prometheus, ou que tu aies une configuration spéciale qui permet à Prometheus de s'auto-scraper et de le faire remonter si lui-même crashait (ce qui est un peu un paradoxe). Le mieux c'est le second Prometheus.
Oui un "meta-Prometheus" si tu veux. C'est pas forcément lourd, juste une instance qui scrape 2-3 cibles critiques dont le Prometheus principal, le Alertmanager, et ptete un grafana. Juste pour l'upness.
Laisser une réponse
Vous devez être connecté pour poster un message !
Yo la team. J'ai un souci super chiant. Mon Prometheus a crashé, impossible de le redémarrer pour X raisons, mais Alertmanager n'a jamais envoyé d'alerte pour dire que Prometheus est down. C'est le but de l'alerte "PrometheusDown" non? Genre si l'agent qui surveille est down, y'a personne pour crier au loup. Comment vous gérez ça?