Membre depuis le 24/08/2024
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.
# règle d'alerte simplifiée
- alert: HighRequestRate
expr: sum(rate(my_app_requests_total[5m])) by (instance) > 100
for: 5m
labels:
severity: critical
annotations:
summary: "High request rate on {{ $labels.instance }}"
la valeur est genre 50 ou 60 requests/sec sur grafana et l'alerte est toujours là. un truc m'échappe
Vous devez être connecté pour poster un message !
Recevoir les derniers articles gratuitement en créant un compte !
S'inscrire
Commentaires
ollivier-thibault
Membre depuis le 23/09/2024
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
michel69
Membre depuis le 13/12/2024
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
gabriel-etienne
Membre depuis le 11/12/2024
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
ollivier-thibault
Membre depuis le 23/09/2024
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 ?
nicole-andre
Membre depuis le 24/08/2024
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 ?
michel69
Membre depuis le 13/12/2024
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
nicole-andre
Membre depuis le 24/08/2024
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