前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >以prometheus的pmsql分析Mac的CPU使用

以prometheus的pmsql分析Mac的CPU使用

原创
作者头像
Bob hadoop
修改2020-12-24 18:20:17
1.2K0
修改2020-12-24 18:20:17
举报
文章被收录于专栏:日常杂记日常杂记

Mac的prometheus的配置文件如下

代码语言:javascript
复制
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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档