当前位置:网站首页>【Prometheus】Prometheus联邦的一次优化记录[续]
【Prometheus】Prometheus联邦的一次优化记录[续]
2022-07-30 18:28:00 【Meepoljd】
前言
之前有整理过一次Prometheus联邦集群的优化记录,针对无用指标进行一个摈弃,从一定程度上环节查询节点的数据拉取压力,但是当指标量足够大,或者采集端点足够多了以后,这个方法就有点拙荆见肘了;于是对指标进行分组变成了下一步的优化方法,在此记录一下。
有关非必要指标的屏蔽参考之前的文章【Prometheus】Prometheus联邦的一次优化记录
正文
服务器规划
先说明一下当前环境三台Prometheus节点的规划,IP经过处理:
| 服务器IP | 服务器类型 | CPU | 内存 |
|---|---|---|---|
| 10.0.0.69 | 采集Prometheus | 64 | 256 |
| 10.0.0.70 | 采集Prometheus | 64 | 256 |
| 10.0.0.71 | 汇聚Prometheus | 64 | 256 |
其中采集Prometheus的职能为从具体的采集端点拉取数据,如node_exporter;汇聚Prometheus负责从各个采集Prometheus节点周期的汇聚采集到的指标;
分析过程
在上次优化之后,监控的采集端点又不断的增加,在前几天,有一台采集Prometheus又开始频繁出现由于响应时间过久而导致指标摄取出现断点的情况:
在对应的服务器进行排查,主机的资源使用并不高,Prometheus的进程也没有占用太多资源,排除采集Prometheus的资源瓶颈导致的指标采集异常,这台节点已经从主机采集到了必要的指标,那么怀疑依旧是查询Prometheus节点在进行指标汇聚时出现超时导致的;
上次优化修改后的配置如下:
- job_name: 'federate'
honor_labels: true
metrics_path: '/federate'
params:
'match[]':
- '{__name__=~"node_.*|up.*"}'
static_configs:
- targets:
- '10.0.0.69:9090'
- '10.0.0.70:9090'
labels:
cluster: XXXX系统
tls_config:
insecure_skip_verify: true
当前已经筛选了所需的指标,因此从减少总的指标采集量这个方向是没有什么办法了,可以考虑对大批量传输的指标进行拆分的方式来进行汇聚,即原本会分别汇聚两个采集Prometheus节点的全量监控指标(当然本例中只会摄取node_开头的和up开头的指标)
分组摄取
由于采集的主机监控指标都存在instance标签,可以通过网段来进行分组拉取指标的操作,这样每一个拉取动作将不会拉取巨量指标,而是分解成了一个个较小的拉取动作,具体操作如下:
# 第一组
- job_name: 'federate_0'
honor_labels: true
metrics_path: '/federate'
params:
'match[]':
# 负责拉取10.0.4开头的IP的服务器指标
- '{__name__=~"node_.*|up.*",instance=~"10.0.4.*9100"}'
static_configs:
- targets:
- '10.0.0.69:9090'
- '10.0.0.70:9090'
labels:
cluster: XXXX系统
tls_config:
insecure_skip_verify: true
# 第二组
- job_name: 'federate_1'
honor_labels: true
metrics_path: '/federate'
params:
'match[]':
# 负责拉取10.0.6开头的IP的服务器指标
- '{__name__=~"node_.*|up.*",instance=~"10.0.6.*9100"}'
static_configs:
- targets:
- '10.0.0.69:9090'
- '10.0.0.70:9090'
labels:
cluster: XXXX系统
tls_config:
insecure_skip_verify: true
# 第三组
- job_name: 'federate_2'
honor_labels: true
metrics_path: '/federate'
params:
'match[]':
# 负责拉取10.0.7/8开头的IP的服务器指标
- '{__name__=~"node_.*|up.*",instance=~"10.0.7.*9100|10.0.8.*9100"}'
static_configs:
- targets:
- '10.0.0.69:9090'
- '10.0.0.70:9090'
labels:
cluster: XXXX系统
tls_config:
insecure_skip_verify: true
# 第四组
- job_name: 'federate_3'
honor_labels: true
metrics_path: '/federate'
params:
'match[]':
# 负责拉取10.30开头的IP的服务器指标
- '{__name__=~"node_.*|up.*",instance=~"10.30.*9100"}'
static_configs:
- targets:
- '10.0.0.69:9090'
- '10.0.0.70:9090'
labels:
cluster: XXXX系统
tls_config:
insecure_skip_verify: true
然后保存配置,并重载Prometheus服务;再观察指标摄取情况,不再出现采集断点:
再看摄取时间,这次产生非常大的优化效果:
小结
在Prometheus进行指标采集时,无论是联邦还是单节点的方式,都要尽可能的使其在每个指标摄取端点减少数据的摄入,这样才能满足足够的延迟要求,否则网络传输会耗费大量的数据拉取时间,导致监控的指标出现断点。
边栏推荐
- "Ruffian Heng Embedded Bimonthly" Issue 59
- Pytorch基础--tensorboard使用(一)
- 网络基础(二)-Web服务器-简介——WampServer集成服务器软件之Apache+MySQL软件安装流程 & netstat -an之检测计算机的端口是否占用
- 【HMS core】【FAQ】HMS Toolkit典型问题合集1
- scrapy基本使用
- CCNA-NAT协议(理论与实验练习)
- 高精度加法
- Pagoda builds PHP adaptive lazy website navigation source code measurement
- 【剑指 Offe】剑指 Offer 18. 删除链表的节点
- AWS console
猜你喜欢

【HMS core】【Analytics Kit】【FAQ】如何解决华为分析付费分析中付款金额显示为0的问题?

LeetCode Exercise - Two Questions About Finding Sum of Array Elements

开源盛宴ApacheCon Asia 2022即将开幕,精彩不容错过!

Deepen school-enterprise cooperation and build an "overpass" for the growth of technical and skilled talents

【PHPWord】PHPOffice 套件之PHPWord快速入门

SwiftUI iOS 精品开源项目之 完整烘焙食品菜谱App基于SQLite(教程含源码)

你好,我的新名字叫“铜锁/Tongsuo”

线性筛求积性函数

博纳影通过IPO注册:阿里腾讯是股东 受疫情冲击明显

(2022杭电多校四)1001-Link with Bracket Sequence II(区间动态规划)
随机推荐
SQL行列转换
【Swords Offer】Swords Offer 17. Print n digits from 1 to the largest
【剑指 Offe】剑指 Offer 17. 打印从1到最大的n位数
你好,我的新名字叫“铜锁/Tongsuo”
线性筛求积性函数
natural language processing nltk
Leetcode数据库系列题解合集(持续更新)
荐号 | 对你有恩的人,不要请吃饭来报答
The sixteenth issue of eight-part article Balabala said (MQ)
NC | Tao Liang Group of West Lake University - TMPRSS2 "assists" virus infection and mediates the host invasion of Clostridium sothrix hemorrhagic toxin...
One year after graduation, I was engaged in software testing and won 11.5k. I didn't lose face to the post-98 generation...
CIMC Shilian Dafeitong is the global industrial artificial intelligence AI leader, the world's top AI core technology, high generalization, high robustness, sparse sample continuous learning, industri
Multiple instances of mysql
Recommendation | People who are kind to you, don't repay them by inviting them to eat
第14章 类型信息
OSPF详解(3)
[Solved] The problem that Unity Hub fails to obtain a license or does not respond and cannot develop
猎豹移动终于递交年报:年营收7.85亿 腾讯持股16.6%
[OC study notes] attribute keyword
core sound driver详解