8 commentaires
yo. classique aussi ça
si c'est en pending ça veut dire que la condition de l'alerte est vraie mais que la clause for: de ton rule n'est pas encore passée. genre si tu as for: 5m il faut que la condition soit vraie pendant 5 minutes avant que ça devienne firing
tu es sûr que le for est passé ? et que ta query d'alerte est bien correcte et ramène des données ?
oui le for: 5m est passé plusieurs fois la condition est vraie depuis des heures. et la query est bonne quand je la teste dans l'ui ça me renvoie bien les séries qui devraient déclencher
j'ai des rate(node_cpu_seconds_total[5m]) > 0.8 des trucs simples comme ça
bizarre. si les conditions sont true et for est passé mais que ça reste en pending c'est que prometheus n'évalue pas les règles assez souvent ou que quelque chose bloque
check l'evaluation_interval dans ta config prometheus.yml. si il est trop élevé genre 5m ou 10m les règles sont pas checkées assez souvent pour passer de pending à firing après le for
global:
scrape_interval: 15s
evaluation_interval: 15s # <= ça
ah merde ! l'evaluation_interval est à 1h ! ça doit être ça je me suis planté en copiant une config
donc même si for est à 5m si l'évaluation se fait toutes les heures ça peut pas passer en firing
exactement. prometheus évalue les règles toutes les evaluation_interval. si ton interval est d'une heure et ton for est de 5m alors l'alerte ne peut pas être déclenchée avant au moins une heure et cinq minutes
mets le à 15s ou 30s. en général c'est le même que le scrape_interval
j'ai mis evaluation_interval à 30s et relancé prometheus. direct les alertes qui étaient pending sont passées en firing et alertmanager a envoyé les notifs
c'était une connerie de config de base. merci pour le coup de main
nickel. des fois les trucs les plus bêtes sont les plus vicieux à débusquer. good job d'avoir trouvé
ouais carrément. je me sentais un peu bête mais bon on apprend toujours. thx !
Laisser une réponse
Vous devez être connecté pour poster un message !
salut les sres
j'ai un problème bizarre avec prometheus on a des alertes configurées pour plein de choses (cpu mémoire disques etc) mais elles se déclenchent pas. quand je regarde l'ui prometheus /alerts elles restent en état pending même quand les conditions sont remplies depuis longtemps
mes règles d'alerte sont dans un fichier à part
rules.ymlil est bien chargé.alertmanagerest configuré pareil et reçoit rien. pas d'erreur dans les logs prometheus non plusune idée de ce que je loupe ?