Mac的prometheus的配置文件如下
bob@bob etc % cat prometheus.yml
global:
scrape_interval: 15s
external_labels:
monitor: 'codelab-monitor'
origin_prometheus: 'whx'
scrape_configs:
- job_name: "prometheus"
static_configs:
- targets: ["localhost:9090"]
- job_name: "node"
static_configs:
- targets: ["127.0.0.1:9100"]
- job_name: 'cm_monitor'
file_sd_configs:
- files: ['/usr/local/etc/moniter_config/*.yml']
refresh_interval: 5s
可以看到我配置了三个job分别是prometheus、node、cm_monitor
先看看cpu有哪些信息
hdfs与yarn的cpu为我自己写的其他job的参数,最主要的是node_cpu_seconds_total
计算每个CPU模式的每秒速率开始。
PromQL有一个名为irate的函数,用于计算距离向量中时间序列的每秒瞬时增长率。让我们在node_cpu_seconds_total度量上使用irate函数。
在查询框中输入:
node_cpu_seconds_total可以看到我部署采集的电脑上各个CPU各个的指标
cpu0-5一共6个cpu不同的维度
完善上面的语句,查看每秒瞬时增长。job的标签是我们在prometheus.yml文件中配置的刮擦名称可以在target里看到
irate(node_cpu_seconds_total{job="node"}[5m])
现在将irate函数封装在avg聚合中,并添加了一个by子句,该子句通过实例标签聚合。这将产生三个新的指标,使用来自所有CPU和所有模式的值来平均主机的CPU使用情况。
avg(irate(node_cpu_seconds_total{job="node"}[5m])) by (instance)
avg (irate(node_cpu_seconds_total{job="node",mode="idle"}[5m])) by (instance) * 100
在这里,查询中添加了一个值为idle的mode标签。这只查询空闲数据。我们通过实例求出结果的平均值,并将其乘以100。现在我们在每台主机上都有5分钟内空闲使用的平均百分比。我们可以把这个变成百分数用这个值减去100,就像这样:
100 - avg (irate(node_cpu_seconds_total{job="node",mode="idle"}[5m])) by (instance) * 100
现在我们有三个指标,每个主机一个指标,显示5分钟窗口内使用的平均CPU百分比。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有