Prometheus remote write décalé grosse latence

Posté par thibaut22 le 03/08/2025
RÉSOLU

thibaut22

Membre depuis le 08/09/2019

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

Commentaires

jourdan-andre

Membre depuis le 03/04/2019

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 ?

chevallier-jules

Membre depuis le 17/08/2019

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

josette76

Membre depuis le 10/07/2019

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`

jourdan-andre

Membre depuis le 03/04/2019

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

thibaut22

Membre depuis le 08/09/2019

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 !

chevallier-jules

Membre depuis le 17/08/2019

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

jourdan-andre

Membre depuis le 03/04/2019

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

josette76

Membre depuis le 10/07/2019

bien joué l'optimisation

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