Alertes Prometheus critiques mais métrique OK

Posté par nicole-andre le 03/01/2025
RÉSOLU

nicole-andre

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

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

Laisser une réponse

Vous devez être connecté pour poster un message !

Rejoindre la communauté

Recevoir les derniers articles gratuitement en créant un compte !

S'inscrire