11 commentaires
hello !
premier truc à vérifier : ta config alertmanager. c'est hyper sensible à l'indentation. surtout la partie route et receivers. t'as un route: principal qui envoie vers un receiver par défaut ? et des sous-routes qui filtrent ?
et dans ta route principale, t'as bien continue: false pour pas que les alertes soient traitées par plusieurs routes ?
regardes les logs d'Alertmanager en mode debug. alertmanager --log.level=debug. et vérifie aussi que les alertes ont pas déjà été résolues silencieusement. dans l'UI d'Alertmanager tu vois bien des alertes "Firing" ?
user_key:2 oui la config est simple, une route par défaut vers un receiver default-slack. continue: false est bien là. user_key:3 j'ai mis en debug, je vois les alertes arriver de prometheus et qu'elles sont "active", "firing", mais aucune mention d'envoi vers un receiver. et oui, l'ui montre bien des alertes "firing".
c'est bizarre si les logs sont muets sur l'envoi. t'as un inhibit_rules ou des silences actifs qui pourraient bloquer l'envoi ?
vérifie le group_by et group_wait, group_interval, repeat_interval de tes routes. si le group_wait est trop long ou si l'alerte résout avant d'être envoyée, ça peut poser problème. mais vu que tu dis "firing" dans l'UI ça devrait être bon. t'es sûr que le receiver dans ta route correspond bien au nom du receiver défini ? la casse est importante.
est-ce que ton alertmanager a un accès réseau direct à slack et pagerduty ? pas de proxy, de dns qui coince ou autre ? même si tes logs ne montrent pas d'erreur, ça vaut le coup de s'assurer que les requêtes http sortent bien. un tcpdump sur le port 443 pourrait montrer si les paquets partent.
un cas tordu que j'ai déjà vu : problème de synchronisation d'horloge (NTP) entre ton serveur Alertmanager et les services externes. si l'horloge est trop décalée, ça peut foirer la signature ou la validité des requêtes, même si ça ne remonte pas comme une erreur TLS claire. t'as vérifié que ton serveur est bien syncé via NTP ?
putain user_key:5 t'es un génie !
le serveur était pas du tout syncé NTP, il avait 3h de retard. une fois le NTP configuré et l'heure corrigée, les alertes ont commencé à tomber direct dans Slack et PagerDuty. j'aurais jamais pensé à ça, surtout que les logs Alertmanager ne disaient rien sur un souci d'heure ou de signature.
merci à tous, particulièrement à toi user_key:5 !
content d'avoir pu aider ! ouais le NTP c'est souvent un truc con qui fout le bordel de façon silencieuse. c'est un piège classique.
Laisser une réponse
Vous devez être connecté pour poster un message !
salut
on a mis en place prometheus et alertmanager sur notre infra. prometheus scrape bien les métriques, j'ai des règles d'alerting qui se déclenchent (je vois "firing" dans l'ui de prometheus et d'alertmanager sur /status).
par contre Alertmanager n'envoie aucune alerte nulle part. j'ai configuré un receiver Slack et un receiver PagerDuty. j'ai vérifié les webhooks, les tokens, etc. tout semble correct. y'a rien dans les channels Slack ou sur PagerDuty.
les logs d'Alertmanager ne montrent rien d'anormal, genre pas d'erreur de connexion ou d'envoi. je sèche là.