10 commentaires
on a déjà fait un peu de relabeling mais on peut optimiser.
scrape_interval est à 30s. evaluation_interval à 30s aussi. les exporters c'est du node-exporter et cadvisor principalement. les autres sont custom mais on les a monitorés ils sont pas trop verbeux.
si t'as vraiment beaucoup de targets et de métriques uniques, faut passer au "sharding" ou "federation". soit tu uses thanos/cortex pour ça soit tu run plusieurs prometheus qui scrapent chacun une partie de ton cluster k8s. par exemple par namespace ou par node.
précisément. pour le sharding tu peux jouer avec le
__meta_kubernetes_pod_uid ou d'autres meta labels pour distribuer les targets sur différents prometheus. ça demande une config plus complexe mais ça scale beaucoup mieux. prometheus seul c'est pas fait pour gérer des dizaines de milliers de targets d'un coup.
pour du k8s à cette échelle oui le sharding est quasi obligatoire si tu veux de la perf stable. les 4 cores et 16gb c'est ptete un peu light si t'as beaucoup de séries et de churn. monitoring des metrics internes de prometheus lui-même est crucial.
prometheus_tsdb_head_samples_appended_total prometheus_target_scrapes_missed_total
Laisser une réponse
Vous devez être connecté pour poster un message !
yo la team ! on a une infra k8s qui grossit vite. on a des milliers de pods et prometheus commence à ramer pour scraper tout ça. genre il met des dizaines de secondes à faire un cycle complet les scrapes ratent on a des missing metrics. n'importe quoi. on est en HA avec deux prom server mais ça change rien.