前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Prometheus 性能调优-水平分片

Prometheus 性能调优-水平分片

作者头像
东风微鸣
发布2022-12-01 16:16:43
5540
发布2022-12-01 16:16:43
举报

简介

之前笔者有连续 2 篇文章:

•Prometheus 性能调优 - 什么是高基数问题以及如何解决?[1]•如何精简 Prometheus 的指标和存储占用[2]

陆续介绍了一些 Prometheus 的性能调优技巧,包括高基数问题的解决以及精简 Prometheus 的指标和存储占用。

今天再介绍一个新的调优思路:水平分片。

水平分片

如果你正在面临的不是因为 label 导致的高基数问题,而是因为监控规模的急剧扩张导致需要被监控的 instance 非常庞大时,可以通过 Prometheus 的hashmod relabel action 来优化性能。通过这种办法,面对成千上万的 instance 时,一台 Prometheus 只需要监控其中的所有各种各样实例的一部分 instance。

📝Notes: Prometheus 也有垂直分片,垂直分片要简单很多,说白了就是配置不同的 job 监控不同的组件即可。 水平分片相对还有些技术含量。

水平分片配置

具体配置如下,使用一台 Prometheus 抓取 targets 的一部分:

代码语言:javascript
复制
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 的数据进行聚合。

🎉🎉🎉

References

[1] Prometheus 性能调优 - 什么是高基数问题以及如何解决?: https://ewhisper.cn/posts/16339/ [2] 如何精简 Prometheus 的指标和存储占用: https://ewhisper.cn/posts/32509/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-10-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 东风微鸣技术博客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 水平分片
  • 水平分片配置
    • References
    相关产品与服务
    对象存储
    对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档