这两篇入门教程,写的很好,建议读下:
如何自动发现所有pod以及创建自定义指标:
方案1:Operator + PodMonitor / ServiceMonitor,参考文档
- https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack
- https://stackoverflow.com/questions/52766020/how-to-discover-pods-for-prometheus-to-scrape
- https://stackoverflow.com/questions/63991541/dynamically-update-prometheus-scrape-config-based-on-pod-labels
- https://segmentfault.com/a/1190000038794330
方案2:手动配置sd_config
比较原始,基本没人用了,不赘述了
Prometheus扩展性问题
Prometheus的社区在功能易用性上做的比较强大,但是存储架构上一直是单体的。
当每秒百万级别Metrics后,Prometheus会扛不住,一些拓展性技术:
- m3du
- victoriametrics
- cortexmetrics
- sysdig
- thanos