使用 Prometheus 监控容器 CPU 利用率

帕尚帕塔克

在 Prometheus UI 上,当我运行以下查询时,它按预期工作

(sum ( rate (container_cpu_usage_seconds_total{namespace="nginx-enabled", container="nginx"}[30s])) * 100000) /  110000
Output Returned: 23.34


container_spec_cpu_quota{namespace="nginx-enabled", container="nginx"}
Output Returned: 110000

但是当我尝试使用以下查询时,我没有看到任何输出,也没有与查询字符串相关的错误消息。

(sum ( rate (container_cpu_usage_seconds_total{namespace="nginx-enabled", container="nginx"}[30s])) * 100000) / (container_spec_cpu_quota{namespace="nginx-enabled", container="nginx"})

有人可以帮助我我所缺少的,我对 Prometheus Query 非常陌生

迈克尔·豪森布拉斯

PromQL 确实很棘手,例如,如果碰巧使用了错误的数据类型,它只会默默地失败。您遇到的问题似乎是组合查询的左侧,即该(sum(rate(container_cpu_usage_seconds_total...部分返回一个标量值(因此,正好是一个值),而右侧 ( container_spec_cpu_quota{...}) 是一个向量,其最近的仅显示值。

我尝试在PromLens 中重新创建您的组合查询,它提供了一种调试查询的好方法。不幸的是,它没有container_spec_cpu_quota在数据中提供,所以我用附近可用的东西替换了它 ( container_spec_cpu_shares)。

现在,如果您将以下查询插入 PromLens,模拟您的查询,您将看到它也失败了(当您单击Explain选项卡时,您将看到原因):

(sum ( rate (container_cpu_usage_seconds_total[30s])) * 100000)
/
container_spec_cpu_shares

然而,当你也聚合右边,把它变成一个标量(因为它是一个仪表,一个简单的方法sum),你会得到一个结果:

(sum ( rate (container_cpu_usage_seconds_total[30s])) * 100000)
/
sum(container_spec_cpu_shares)

处理左侧和右侧在数据类型方面不对齐的更多选项,例如使用onorignoring关键字可通过矢量匹配部分中的文档获得

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

了解Docker统计信息CPU利用率

确定CPU利用率

使用/ proc / stat准确计算Linux中的CPU利用率

如何在Prometheus监控下在kubernetes中计算容器的cpu使用率?

在MATLAB中显示CPU内核利用率

HPA(水平容器自动缩放)是否考虑了多个容器(容器)中CPU利用率的平均值来缩放容器?

优化从.gz文件和cpu利用率python的读取

使用JT400获得所有作业的CPU利用率

使用python sdk在azure中获取虚拟机的cpu利用率

确定CPU利用率的时间

Linux bash脚本编制:使用awk汇总一列以了解总体cpu利用率并显示所有字段

为什么在Prometheus中使用irate或rate计算CPU利用率?

尝试使用get-metric-statistics从Lambda从Cloudwatch获取CPU利用率指标时,响应为null

CPU使用率及其利用率

计算CPU利用率

使用多处理模块时如何提高CPU利用率?

如何使用Sigar查找Java中的总CPU利用率

CPU利用率高的原因是什么?

virsh迁移后100%CPU利用率并挂起

计算LPAR CPU利用率(AIX)

如何提高Xen来宾CPU利用率?

监控每个进程的CPU使用率

如何使用 prometheus 监控/发现更多 docker 容器

Apache Storm 停用拓扑导致 CPU 利用率高

在 Jenkins 中使用 AWS 命令获取 EC2 实例的 CPU 利用率的最佳方法是什么

如何从 docker 容器中获取主机信息(CPU 利用率)?

如何在python中获取CPU利用率?

了解 GCP 监控中的 Kubernetes pod 资源利用率

通过 /proc/stat 当前 CPU 核心利用率