8 commentaires
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 ?
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
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
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
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 !
top ! le disk i/o est souvent sous-estimé pour prometheus, surtout avec bcp de churn. bon scaling !
nickel. content que ça aille mieux. des fois c'est juste le disque qui craque sous la charge
Laisser une réponse
Vous devez être connecté pour poster un message !
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 ?