使用 Prometheus 监控 CPU 利用率

     2023-02-15     219

关键词:

【中文标题】使用 Prometheus 监控 CPU 利用率【英文标题】:Monitoring CPU Utilization using Prometheus 【发布时间】:2018-08-01 16:14:38 【问题描述】:

我正在尝试监控安装和运行 Prometheus 的机器的 CPU 利用率。我有一个指标process_cpu_seconds_total。我可以找到这个指标的愤怒或比率。但我不太确定如何得出 CPU 利用率的百分比值。无论如何我可以使用这个process_cpu_seconds_total 指标来查找运行 Prometheus 的机器的 CPU 利用率吗?

【问题讨论】:

【参考方案1】:

为了他人的利益而迟到的答案:

如果您只想监控 prometheus 进程 使用的 CPU 百分比,您可以使用 process_cpu_seconds_total,例如类似:

avg by (instance) (irate(process_cpu_seconds_totaljob="prometheus"[1m]))

但是,如果您想像我怀疑的那样对机器 CPU 进行常规监控,您应该设置 Node exporter,然后使用与上述类似的查询,指标为 node_cpu_seconds_total。例如:

avg by (instance,mode) (irate(node_cpu_seconds_totalmode!='idle'[1m]))

rateirate 等于百分比(取 1),因为它们是一秒中使用的秒数,但通常需要跨机器上的内核/cpu 聚合。 Brian Brazil 关于 Prometheus CPU 监控的帖子非常相关和有用:https://www.robustperception.io/understanding-machine-cpu-usage

【讨论】:

【参考方案2】:

一种方法是利用适当的 cgroup 资源报告。 Cgroup 将一个 CPU 核心时间分成 1024 份。因此,通过了解进程消耗了多少份额,您总能找到 CPU 利用率的百分比。

现在在你的情况下,如果你有 CPU 秒的变化率,这是进程在最后一个时间单位中使用 CPU 时间的时间(假设从现在开始为 1 秒)。然后取决于你有多少核心,最后 1 个单元中的 1 个 CPU 将有 1 个 CPU 秒。因此,如果您的变化率为 3,并且您有 4 个核心。

3/4 = 75% CPU utilization.

这只是一个粗略的估计,因为由于延迟和延迟等原因,您的 process_total_cpu 时间可能不是很准确。

【讨论】:

还有其他方法可以获取 CPU 利用率吗? @ArnavBose 一些谷歌搜索建议 -- robustperception.io/understanding-machine-cpu-usage

prometheus监控运维实战十:主机监控指标(代码片段)

1、CPU指标CPU负载node_load1node_load5node_load15以上三个指标为主机的CPU平均负载,分别对应一分钟、五分钟和十五分钟的时间间隔。CPU负载是指某段时间内占用CPU时间的进程和等待CPU时间的进程数之和。一般来说,cpu负载数/cp... 查看详情

prometheus监控用例

prometheus函数介绍 https://prometheus.io/docs/prometheus/latest/querying/functions/CPU利用率prometheus的原始数据我们从计算每个CPU模式的每秒速率开始。PromQL有一个名为irate的函数,用于计算距离向量中时间序列的每秒瞬时增长率。让我们在n... 查看详情

普罗米修斯监控能否监控redis耗时

普罗米修斯(Prometheus)是一个开源的监控系统,可以用于监控各种应用和服务的性能和状态。Prometheus可以通过对应用程序或服务的监控指标进行采集,来监控应用程序或服务的性能和状态。这些监控指标可以是应用程序或服务... 查看详情

来自 WINdows 的 Prometheus 的准确 CPU 使用率

】来自WINdows的Prometheus的准确CPU使用率【英文标题】:AccurateCPUusagewithPrometheusfromWIndows【发布时间】:2017-06-1119:30:00【问题描述】:将wmi_exporter或scollector_exporter与Prometheus一起使用,我发现很难获得准确的CPU使用率。这是我正在使... 查看详情

监控指标以及prometheus规则-不断完善中(代码片段)

...quot;/node_filesystem_size_bytesfstype=~"ext3|ext4|xfs"))*1002)prometheus规则groups:-name:alert-rulerules:-alert:NodeFilesystemUsage-highexpr:(1-(node_filesystem_free_bytesfstype=~"ext3|ext4|xfs"/node_filesystem_size_bytesfstype=~"ext3|ext4|xfs"))*100>80for:2mlabels:severity:warning... 查看详情

cAdvisor 容器多核 CPU 使用率

...【发布时间】:2021-09-1309:46:00【问题描述】:我正在使用prometheus中的以下表达式使用cAdvisor监控容器CPU使用情况:(sum(rate(container_cpu_usage_seconds_total[3m]))BY(instance,name)*100)& 查看详情

通过prometheus查询计算kubernetes集群中pod的cpu、内存使用率等指标

...AKubernetes的kubelet组件内置了cadvisor,将Node上容器的指标以Prometheus支持的格式展示,可以通过这些指标计算得到更多有用的数据。在Prometheus的配置文件中,配置了相关的Target之后,这些指标就可以从Prometheus中查询到。直接访问Kub... 查看详情

容器云平台监控告警体系——golang应用接入prometheus(代码片段)

...用程序的运行状态指标的话,则需要在应用程序中内置对Prometheus的支持或者部署独立于应用程序的Exporter,然后由PrometheusServer单独采集应用程序暴露的监控指标。  Prometheus社区提供了丰富的Exporter实现,对于常用中间件或数... 查看详情

prometheus..框架以及数据类型

prometheus.(3).框架以及数据类型作者声明:本博客内容是作者在学习以及搭建过程中积累的内容,内容采自网络中各位老师的优秀博客以及视频,并根据作者本人的理解加以修改(由于工作以及学习中东拼西凑,如何造成无法提供... 查看详情

利用prometheus监控k8s

    prometheus它是一个主动拉取的数据库,在K8S中应该展示图形的grafana数据实例化要保存下来,使用分布式文件系统加动态PV,但是在本测试环境中使用本地磁盘,安装采集数据的agent使用DaemonSet来部署,DaemonSet的特... 查看详情

监控主机:node_exporter(代码片段)

监控主机:node_exporter在Prometheus的架构设计中,PrometheusServer并不直接服务监控特定的目标,其主要任务负责数据的收集,存储并且对外提供数据查询支持。因此为了能够能够监控到某些东西,如主机的CPU使用率,我们需要使用到Ex... 查看详情

prometheus+grafana(代码片段)

一、Prometheus简介、容器监控的实现方对比虚拟机或者物理机来说比大的区别,比如容器在k8s环境中可以任意横向扩容与缩容,那么就需要监控服务能够自动对新创建的容器进行监控,当容器删除后又能够及时的从监控服务中删... 查看详情

zabbix通过snmp监控多核cpu使用率时,计算cpu平均使用率

...:没有Agent,只能通过SNMP监控时,需要获取多核CPU的平均使用率。ZABBIX的使用SNMP监控CPU使用率时,由于设备都是多核CPU,监控的都是单独某一核心的使用率,但单独某一核使用率过高触发告警实际意义不大。所以写了一个“外... 查看详情

具有来自 Prometheus 的自定义指标的 Horizo​​ntal Pod Autoscaler 以及 CPU 使用率的百分位数

】具有来自Prometheus的自定义指标的Horizo​​ntalPodAutoscaler以及CPU使用率的百分位数【英文标题】:HorizontalPodAutoscalerwithcustommetricsfromPrometheuswithpercentilesforCPUusage【发布时间】:2020-01-1107:16:59【问题描述】:所以我想弄清楚如何从P... 查看详情

prometheus监控运维实战七:主机监控指标

...们还需要知道哪些监控指标是我们需要关注的。本文将对Prometheus相关的主机监控指标进行介绍。CPU监控CPU负载node_load1node_load5node_load15以上三个指标为主机的CPU平均负载,分别对应一分钟、五分钟和十五分钟的时间间隔。CPU负载... 查看详情

prometheus视频教程

1.prometheus计算cpu的使用率算法-12.prometheus计算cpu的使用率算法-23.prometheus的计算函数4.prometheus公式拆分详细讲解5.prometheus的公式得到最终解控指标结果6.prometheus的公式取单个指标的值7.prometheus的gauge类型数据bash脚本pushgateway到server... 查看详情

使用 Prometheus 和 Grafana 监控 Scylla db

】使用Prometheus和Grafana监控Scylladb【英文标题】:MonitorScylladbusingPrometheusandGrafana【发布时间】:2018-07-2708:30:41【问题描述】:我已经在服务器A中安装了scylladb。在服务器B中安装了Prometheus和Grafana。使用节点导出器(在服务器A中安... 查看详情

zabbix监控单核cpu使用率和多核cpu总负载

zabbix自带的基础监控的模板中只有对单核cpu负载1分钟、5分钟、15分钟的监控。添加对总的cpu负载的监控key:system.cpu.load[all,avg1]1分钟cpu总的负载添加对单cpu使用率的监控(1)创建探索规则: (2)宏:(3)项目原型:  查看详情