Membre depuis le 19/04/2024
Salut la team SRE j'ai un souci avec prometheus. On a des alertes configurées pour détecter des pics de latence mais régulièrement l'alerte ne se déclenche pas alors que le graphe montre bien un pic qui dépasse le seuil pendant plusieurs minutes. J'utilise un range vector genre rate(http_requests_total[5m]) > 0.5. Ca rate des détections aléatoirement c'est super frustrant
# Exemple d'alerte
- alert: HighLatencyPeak
expr: |
histogram_quantile(0.99, sum by (le) (rate(http_request_duration_seconds_bucket[5m]))) > 0.5
for: 5m
labels:
severity: critical
annotations:
summary: "Latence P99 élevée sur l'API"
Vous devez être connecté pour poster un message !
Recevoir les derniers articles gratuitement en créant un compte !
S'inscrire
Commentaires
richard-blondel
Membre depuis le 31/10/2024
yo t'as pensé à l'évaluation intervalle de prometheus ? si ton scrape interval est par exemple 15s et ton eval interval est 1m tu peux rater des spikes très courts qui tombent pile entre deux évaluations. surtout si ton FOR est aussi de 5m c'est chaud
suzanne38
Membre depuis le 19/03/2024
ouais et attention à la granularité de tes métriques si tes métriques sont poussées genre toutes les 30s et que ton alert for est court ça peut te jouer des tours. aussi ton range vector 5m avec un for 5m c'est pas top pour un spike tu lisses trop. ptete baisser le range ou utiliser un instant vector si tu veux juste un point précis qui dépasse
gilles-josette
Membre depuis le 19/04/2024
hmm l'eval interval est de 1m et le scrape de 30s. c'est vrai que ça peut expliquer des trucs. pour le for 5m c'était pour éviter le flapping mais du coup ça cache les pics courts. je vais tester de réduire le range vector à 1m et le for à 2m histoire de voir si ça chie moins
richard-blondel
Membre depuis le 31/10/2024
regarde aussi si tes targets sont stables niveau scrape. si y'a des trous dans tes données ça fausse tout. dashboard grafana sur les scrapes health genre prometheus_target_scrape_offset_seconds ou scrape_duration_seconds peut t'aider
suzanne38
Membre depuis le 19/03/2024
et une autre chose la fonction rate est pas faite pour les pics instantanés. elle calcule la moyenne sur la durée du range. si tu veux capter un pic précis regarde plutôt du côté de irate pour des changements plus rapides ou un simple metric > seuil si tu veux juste un point au dessus. irate c plus sensible aux pics mais aussi au bruit
gilles-josette
Membre depuis le 19/04/2024
d'acc irate c'est intéressant. je vais refactorer mon alerte avec irate et un range vector plus court genre irate(http_request_duration_seconds_count[1m]) et un for de 1m. je verrai si c'est plus réactif. merci pour les tips les gars !