9 commentaires
déjà le for: 2m ça veut dire que l'alerte va être en pending pendant 2 minutes avant de se déclencher. si tu veux du plus rapide il faut réduire ce for. attention aux faux positifs après. sinon check la charge de prometheus des fois il est juste à la bourre sur ses évaluations
c'est quoi ton stockage pour prometheus ? si ton disque est lent les queries et evaluations prennent du temps. et si t'as trop de séries cardinalité de ouf ça rame aussi. ça pète les cores et la ram ou juste la latence est élevée
ok le for je vais tenter de le réduire un peu mais pas trop peur des faux positifs. alertmanager j'ai vérifié les group_wait c'est 10s c'est jouable. par contre prometheus lui même il est pas en galère, les ressources sont stables. la latence c'est pas sur les requêtes à prometheus mais vraiment sur le temps entre le problème et l'alerte dans slack
ok donc c'est pas prometheus lui-même mais le process d'alerte. tu utilises des recording rules ? des fois une recording rule complexe peut prendre du temps à évaluer et si ton alerte dépend d'une recording rule c'est un double délai
une autre piste. t'es sûr que tes scrapes sont bien à 15s ? regarde le scrape_duration_seconds et scrape_samples_scraped sur les métriques de prometheus. si la durée de scrape est proche de 15s ça veut dire que tes cibles ont du mal à répondre ou prometheus est trop occupé
les recording rules c'est une bonne piste j'en ai quelques unes complexes. je vais regarder si y'a pas moyen de les simplifier ou de faire des evaluations plus fréquentes pour elles. les scrape sont bien à 15s et durent en moyenne 2-3s. c'est ok de ce côté
j'ai optimisé 2-3 recording rules et j'ai réduit le for à 1m sur les alertes critiques. les premières tests sont prometteurs, les alertes arrivent plus vite. on va monitorer ça mais ça semble être sur la bonne voie. merci pour les pistes les gars c'était utile !
Laisser une réponse
Vous devez être connecté pour poster un message !
salut les sres ! j'ai un soucis on utilise prometheus et grafana pour la supervision mais les alertes sont trop lentes. genre le service est déjà en vrac depuis 5 bonnes minutes avant que l'alerte pète. on est en prod et ça craint. on a des scrape_interval de 15s et des eval_interval de 1min. des idées pour accélérer le truc sans tout péter ?