salut
t'as checké le timestamp de la métrique dans prometheus et dans grafana ? des fois prometheus scrape des données mais grafana interroge une période différente ou met du temps à rafraîchir. ou alors le scrape est interrompu et prometheus garde la dernière valeur connue
c'est peut-être un souci de staleness. prometheus considère une métrique stale après 5 minutes par défaut si il reçoit plus rien. si ton exporter est down ou inaccessible prometheus va garder la dernière valeur et l'alerte peut persister même si la source est morte
vérifie le scrape interval aussi. si ton scrape est toutes les 10s et que ton for: est de 5m c'est ok. mais si t'as des micro-coupures de scrape ou des target down de temps en temps ça peut perturber l'évaluation de l'alerte
et tes labels ? sum(rate(...)) by (instance) c'est bien. mais t'es sûr que t'as qu'une seule instance ou que le sum est pas faussé par des labels que tu attends pas ?
ok alors plusieurs trucs.
1. le scrape interval est de 15s. pas de target down apparent. 2. j'ai regardé les labels via l'interface prometheus c'est bien groupé par instance unique. 3. par contre, la métrique dans grafana je l'affiche comme 'rate(my_app_requests_total[1m])' et dans l'alerte c'est '[5m]'. est-ce que ça peut être ça ?
ah oui énorme ! le 'rate' sur 1m et sur 5m ça donne pas du tout la même chose si t'as des pics courts ou des creux. prometheus évalue sur 5m donc il voit peut-être une moyenne plus haute que ce que tu vois sur 1m sur grafana
purée je suis con ! j'ai aligné les windows des rates et hop l'alerte a disparu. la moyenne sur 5m était bien au-dessus de 100 à cause d'un spike intermittent. merci pour la correction de ma stupidité matinale
Vous devez être connecté pour poster un message !
Recevoir les derniers articles gratuitement en créant un compte !
S'inscrire
nicole-andre
Membre depuis le 26/07/2021actif secouriste
hello la team
j'ai une alerte prometheus qui pète en permanence pour un service critique mais quand je regarde le dashboard grafana la métrique est dans les clous. j'utilise un exporter golang pour le service. la métrique c'est genre my_app_requests_total.
la valeur est genre 50 ou 60 requests/sec sur grafana et l'alerte est toujours là. un truc m'échappe