Prometheus remote write décalé grosse latence

thibaut22 03/08/2025
RÉSOLU
thibaut22
Auteur Actif
Avatar de thibaut22
thibaut22
Auteur Actif

Salut la compagnie, j'ai un souci bizarre avec Prometheus. On a configuré le remote write vers un cluster M3DB et on voit un gros décalage entre le moment où les métriques sont scrappées par Prometheus et le moment où elles apparaissent dans M3DB. Parfois ça peut prendre plusieurs minutes alors qu'on est censé avoir du quasi-temps réel. Mes Prometheus servers ont des bons disques et y'a pas de saturation CPU. Des idées ?

# Extrait de config prometheus.yml
remote_write:
  - url: "http://m3db-coordinator:7201/api/v1/prom/remote/write"
    queue_config:
      capacity: 25000
      max_samples_per_send: 5000
      batch_send_deadline: 5s
      min_backoff: 30ms
      max_backoff: 5s
      max_retries: 10
03/08/2025 à 01:19

8 commentaires

jourdan-andre
Membre Actif Secouriste
Avatar de jourdan-andre
jourdan-andre
Membre Actif Secouriste

hello. première question: IO disk sur tes prometheus ? même si tu dis avoir des "bons disques" si t'as une très grosse cardinalité ou bcp de churn ça peut générer bcp d'écritures. check iostat ou des métriques disk latency. aussi le réseau vers m3db, pas de congestion ?

04/08/2025 à 01:18

regarde aussi les logs de prometheus pour les messages liés à remote_write. tu peux voir des erreurs de queue pleine, de requêtes qui timeout ou qui sont retriées à cause de soucis côté m3db. et la cardinalité des séries c clé, si tu push des millions de séries uniques ça va forcément ramer

Modifié le 23/05/2026 à 16:20
josette76
Membre Actif Secouriste
Avatar de josette76
josette76
Membre Actif Secouriste

ta config queue_config semble ok pour des valeurs par défaut mais si tu as vraiment un gros volume ça peut être sous-dimensionné. essaie d'augmenter capacity et max_samples_per_send de manière significative, et vérifie les métriques internes de prometheus pour le remote_write_queue_pending_samples et remote_write_sent_batches_total

Modifié le 23/05/2026 à 16:20
jourdan-andre
Membre Actif Secouriste
Avatar de jourdan-andre
jourdan-andre
Membre Actif Secouriste

et les scrape intervals sur tes targets ? si tu scrape toutes les 5s mais que ta remote write met 30s à envoyer ça fait un décalage structurel. aussi la perf de m3db lui-même, il est capable d'ingérer autant ? regarde les logs et métriques côté m3db

06/08/2025 à 20:47
thibaut22
Auteur Actif
Avatar de thibaut22
thibaut22
Auteur Actif

bingo pour le disk IO ! même avec de bons nvme, on avait un volume de métriques qui générait un tel churn que le système d'exploitation galérait à suivre les écritures et les suppressions. j'ai optimisé les retentions sur certaines métriques à haute cardinalité et surtout j'ai augmenté la capacité des queues de remote write. et on a ajusté le max_shards pour répartir mieux la charge. ça a bien réduit la latence. merci pour les tips !

Modifié le 23/05/2026 à 16:20

top ! le disk i/o est souvent sous-estimé pour prometheus, surtout avec bcp de churn. bon scaling !

08/08/2025 à 12:21
jourdan-andre
Membre Actif Secouriste
Avatar de jourdan-andre
jourdan-andre
Membre Actif Secouriste

nickel. content que ça aille mieux. des fois c'est juste le disque qui craque sous la charge

09/08/2025 à 10:56
josette76
Membre Actif Secouriste
Avatar de josette76
josette76
Membre Actif Secouriste

bien joué l'optimisation

10/08/2025 à 05:53

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