7 commentaires
salut. ton expr est un peu tricky. node_cpu_seconds_total{mode="idle"} c'est le temps cpu en mode idle. si tu veux le cpu usage faut faire 1 - avg_over_time(node_cpu_seconds_total{mode="idle"}[5m]) etc. là tu alertes quand le idle est bas donc quand l'usage est haut mais l'expression est inversée par rapport à ce que tu penses
et le node_cpu_seconds_total c'est un counter pas un gauge. faut utiliser un rate() ou increase() dessus pour avoir l'évolution. faire un avg_over_time direct sur un counter comme ça c'est bizarre. tu devrais plutôt utiliser 1 - avg_over_time(rate(node_cpu_seconds_total{mode="idle"}[1m]))
aussi double-check ton alerting rule syntaxe avec promtool check rules sinon y'a des erreurs silencieuses et le for: 5m veut dire qu'il faut que la condition soit vraie pendant 5 minutes avant de passer en firing pas juste qu'elle ait été vraie à un moment donné dans les 5min
ah purée j'ai mélangé les pinceaux entre idle et usage total. je vais corriger l'expr avec le rate et 1 - et les pourcentages. c'est pour ça que ça restait en pending j'avais le mauvais calcul. thx pour le coup de main c'était pas du tout clair dans ma tête
Laisser une réponse
Vous devez être connecté pour poster un message !
yo tout le monde j'ai une alerte prometheus qui est censée me notifier si l'utilisation CPU d'un service dépasse 80% pendant 5 minutes. le graphique montre bien que c'est le cas mais l'alerte reste en pending et ne passe jamais en firing. ma config d'alerte semble bonne pourtant