普罗米修斯。CPU处理时间总计为%% [英] Prometheus. CPU process time total to % percent

查看:17
本文介绍了普罗米修斯。CPU处理时间总计为%%的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们开始使用普罗米修斯Grafana作为监视我们的服务结构群集的主要工具。为了以普罗米修斯为目标,我们使用WMI_Exporter,它带有预定义的参数:CPU、系统、进程、服务、内存等。我们的主要目标是开始监视节点组上Azure服务结构中的每个实例上的产品服务。

例如,我们使用此PQuery计算总的CPU使用率,单位为%:

100 - (avg by (hostname) (irate(wmi_cpu_time_total{scaleset="name",mode="idle" }[5m])) * 100)和指标+-看起来很现实。

直到我们开始为服务编写查询。

对于服务,sum by (process,hostname)(irate(wmi_process_cpu_time_total{scaleset="name", process=~"processes"}[5m])) * 100,时不时地指标似乎不太现实,特别是当你将其与总CPU时间百分比进行比较后,这一点尤为明显。我发现了一篇关于乘以100可以从CPU时间获得%的文章,但在这种情况下,我得到的指标大约是170%或更多。也许我需要将它划分为CPU核心的数量?

对于查询,我使用的是SUM流程,因为我在两种模式(用户特权)中为一个流程获取了两个不同的度量。

谁能帮助我正确计算CPU处理时间总指标,并将其转换为perc。?

谢谢,如有任何帮助,我将不胜感激!

推荐答案

我希望这会有帮助! 结果与Windows性能管理器基本相同。 因此,对于正在运行的服务(任务、进程)的CPU百分比:

sum by (process,hostname)(irate(wmi_process_cpu_time_total{scaleset="name", process=~"processes"}[5m])) * 100 / 2 (number of CPU cores)
首先,汇总正在运行的进程的所有指标,导出器提供相同进程ID的结果:用户和内核模式指标,因此需要对其进行汇总。必须对主机名(实例等)执行相同的操作。在我的例子中,我有Azure比例集,从2到5个实例。它必须乘以100才能得到%并除以CPU核心数。

干杯!

这篇关于普罗米修斯。CPU处理时间总计为%%的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆