Prometheus 扩展与全局视图实现
1. 单作业规模问题与水平分片
在某些情况下,单个作业可能包含数万个抓取目标,且无法进行进一步的逻辑拆分。此时,水平分片是一个不错的选择,即将相同的作业分布到多个 Prometheus 服务器上。
1.1 水平分片的实现
要实现水平分片,需要依赖 hashmod 重标记操作。 hashmod 的工作原理是将 target_label 设置为连接后的 source_labels 的哈希值的模数,然后将其放置在 Prometheus 服务器中。以下是一个配置示例,可在 /etc/prometheus/prometheus.yml 中找到:
scrape_configs:
- job_name: 'node'
static_configs:
- targets: ['shard01:9100', 'shard02:9100', 'global:9100']
relabel_configs:
- source_labels: [__address__]
modulus: 2 # 因为我们使用 2 个分片
target_label: __tmp_shard
action: hashmod
- source_labels: [__tmp_shard]
regex: 0 # 从 0 开始,所以这是第一个
超级会员免费看
订阅专栏 解锁全文
17

被折叠的 条评论
为什么被折叠?



