Prometheus alerts manager pas d'alerts qui partent pour mes instances down

desousa-michele 04/06/2024
RÉSOLU
desousa-michele
Auteur Actif
Avatar de desousa-michele
desousa-michele
Auteur Actif

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

04/06/2024 à 12:48

6 commentaires

margot93
Membre Actif Secouriste
Avatar de margot93
margot93
Membre Actif Secouriste

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

05/06/2024 à 07:51
sdidier
Membre
Avatar de sdidier
sdidier
Membre

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

06/06/2024 à 07:48
andre52
Membre Actif Rédacteur
Avatar de andre52
andre52
Membre Actif Rédacteur

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

07/06/2024 à 07:01
desousa-michele
Auteur Actif
Avatar de desousa-michele
desousa-michele
Auteur Actif

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 ?

08/06/2024 à 04:16
margot93
Membre Actif Secouriste
Avatar de margot93
margot93
Membre Actif Secouriste

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

08/06/2024 à 23:43
desousa-michele
Auteur Actif
Avatar de desousa-michele
desousa-michele
Auteur Actif

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

09/06/2024 à 21:08

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