Prometheus 性能调优-水平分片
标签:
Kubernetes
简介
之前笔者有连续 2 篇文章:
陆续介绍了一些 Prometheus 的性能调优技巧,包括高基数问题的解决以及精简 Prometheus 的指标和存储占用。
今天再介绍一个新的调优思路:水平分片。
水平分片
如果你正在面临的不是因为 label 导致的高基数问题,而是因为监控规模的急剧扩张导致需要被监控的 instance 非常庞大时,可以通过 Prometheus 的hashmod
relabel action 来优化性能。通过这种办法,面对成千上万的 instance 时,一台 Prometheus 只需要监控其中的所有各种各样实例的一部分 instance。
📝Notes:
Prometheus 也有垂直分片,垂直分片要简单很多,说白了就是配置不同的 job 监控不同的组件即可。
水平分片相对还有些技术含量。
水平分片配置
具体配置如下,使用一台 Prometheus 抓取 targets 的一部分:
global:
external_labels:
env: prod
scraper: 2
scrape_configs:
- job_name: my_job
...
relabel_configs:
- source_labels: [__address__]
modulus: 4
target_label: __tmp_hash
action: hashmod
- source_labels: [__tmp_hash]
regex: 2
action: keep
在 modulus
里,配置了 4 为基数。每个 Prometheus 只抓取 1/4,比如上面的配置就只抓取 hashmod
后 __temp_hash
为 2 的 targets。
抓取完成后,可以再通过 remote_write
Thanos Mimir VM 等方案对这 4 台 Prometheus Server 的数据进行聚合。
🎉🎉🎉
本文由东风微鸣技术博客 EWhisper.cn 编写!
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦