Membre depuis le 25/08/2022
yo la team j'ai un souci avec prometheus et alertmanager. j'ai des règles d'alerting pour des instances EC2 qui tombent genre instance_state_terminated ou instance_state_stopped mais je reçois aucune notification quand une instance est down. pourtant les métriques prometheus montrent bien l'état
# exemple de règle d'alerte dans prometheus
- alert: InstanceDown
expr: aws_ec2_instance_state == 0 # 0 pour terminated, 1 for pending, 16 for running
for: 5m
labels:
severity: critical
annotations:
summary: "EC2 instance {{ $labels.instance_id }} is down"
description: "EC2 instance {{ $labels.instance_id }} in region {{ $labels.region }} is in state {{ $labels.state }}"
mon alertmanager est configuré avec des receivers slack et email mais rien ne part
Vous devez être connecté pour poster un message !
Recevoir les derniers articles gratuitement en créant un compte !
S'inscrire
Commentaires
margot93
Membre depuis le 10/05/2024
hello. première chose à vérifier c'est si prometheus envoie bien les alertes à alertmanager. va dans l'interface UI de prometheus et regarde la section "Alerts". est-ce que tu vois ton alerte "InstanceDown" en état "FIRING" ? si oui le souci est côté alertmanager
sdidier
Membre depuis le 09/05/2024
si l'alerte n'apparaît pas en FIRING dans prometheus même après 5m (ton for: 5m) c'est que ta métrique aws_ec2_instance_state n'est peut-être pas scrapeée correctement ou que l'expression est fausse. regarde les targets de ton exporter EC2 pour voir s'il y a des erreurs de scrape
andre52
Membre depuis le 08/05/2024
et si elle est FIRING dans prometheus mais que rien ne sort d'alertmanager c'est souvent un souci de routing dans la config d'alertmanager. t'as bien un route qui match tous les labels de ton alerte et qui pointe vers ton receiver slack/email ? n'oublie pas le group_by et le repeat_interval
desousa-michele
Membre depuis le 25/08/2022
ok l'alerte apparaît bien en FIRING dans prometheus après 5min donc le problème est bien alertmanager. j'ai bien un route par défaut qui envoie tout mais j'ai des sous-routes plus spécifiques. ptete un conflit ?
margot93
Membre depuis le 10/05/2024
oui possible. alertmanager prend le premier route qui matche. si tu as un route catch-all plus haut que ton route spécifique qui utilise d'autres labels ou qui a un continue: true ça peut ne pas aboutir au bon receiver. vérifie l'ordre de tes routes et les matchers
desousa-michele
Membre depuis le 25/08/2022
vous avez tapé dans le mille ! j'avais un route générique au-dessus de mon route critical qui interceptait tout et n'avait pas de receiver configuré. j'ai réorganisé ça et les alerts tombent enfin. merci énormément