12 commentaires
salut. première chose à vérifier va sur l'UI de prometheus /alerts. est-ce que l'alerte apparaît comme FIRING là-bas ? si elle n'est pas FIRING le problème est dans ta règle prometheus ou la métrique elle-même
si elle est FIRING dans prometheus alors le problème est côté alertmanager. check ta config alertmanager.yaml la section route c'est critique. tes match ou match_re correspondent bien aux labels de l'alerte qui part de prometheus ? et tes group_by ?
et le for: 5m il est assez long pour que l'alerte reste FIRING pendant 5 minutes avant d'être envoyée ? des fois l'expression est vraie mais pas assez longtemps pour que l'alerte passe à l'état FIRING réel et soit envoyée
la métrique my_custom_metric_gauge tu l'as testée directement dans l'UI prometheus /graph avec ton expression my_custom_metric_gauge > 0.9 ? est-ce que ça te renvoie des points quand tu t'attends à ce que l'alerte fire ?
y'a pas une faute de frappe dans le nom de la métrique ou les labels dans ta règle prometheus ? la casse est importante. my_custom_metric_gauge vs My_Custom_Metric_Gauge
ton custom exporter il est bien scrape par prometheus ? target status est vert ? pas d'erreurs de scrape ? si y'a des trous dans les données l'alerte peut avoir du mal à rester FIRING
dans la config prometheus t'as des relabel_configs pour le job de ton custom exporter qui pourraient modifier les labels instance ou job ou d'autres trucs que tu utilises dans tes routes alertmanager ?
vérifie le timestamp des métriques de ton exporter. si l'horloge du serveur exporter est décalée par rapport à prometheus ça peut créer des soucis de staleness et les alertes ne se déclenchent pas comme prévu
et ton alertname dans les labels de la règle est important pour le routage. t'as bien un match: ou match_re: dans alertmanager qui correspond à alertname: MyCustomMetricHigh ?
ok les gars c'était une combinaison de trucs comme d'hab. première chose ma règle prometheus avait un alertname qui était en fait custommetrichigh et pas mycustommetrichigh (faute de frappe en recopiant la doc). et dans alertmanager ma route était trop spécifique elle attendait severity: critical (avec un c majuscule) alors que j'envoyais severity: critical (c minuscule). une fois corrigé les deux alertes sont parties. merci pour toutes les pistes !
Laisser une réponse
Vous devez être connecté pour poster un message !
Hello la compagnie j'ai un souci avec Prometheus/AlertManager. On a un custom exporter qui remonte bien des métriques prometheus voit les scrapes et grafana affiche bien tout. Mais pour certaines règles d'alerte basées sur ces métriques AlertManager n'envoie rien. D'autres règles pour d'autres exporters fonctionnent nickel. J'ai l'impression qu'il y a un truc qui cloche dans mon
rule.yamloualertmanager.yaml