【问题标题】:How to divide "sum()" by "count()" without labels如何在没有标签的情况下将“sum()”除以“count()”
【发布时间】:2020-09-30 08:09:32
【问题描述】:

我有多个容器的 CPU 使用率,以它们各自容器实例的百分比表示,我想将此值除以可用容器实例的数量。

这个查询按预期给出了 CPU 使用率的百分比:

sum by (name) (
  rate(container_cpu_usage_seconds_total{$default, promstack_alias=~"$promstack_alias"}[$__rate_interval]) 
  * 100
)

这个查询给我的只是实例的数量:

count(sum by (instance_id) (container_last_seen{$default, instance_state="running"}))

但我无法将它们结合起来。我想要的基本上是这样的:

sum by (name) (
  rate(container_cpu_usage_seconds_total{$default, promstack_alias=~"$promstack_alias"}[$__rate_interval]) 
  * 100
)
/
count(sum by (instance_id) (container_last_seen{$default, instance_state="running"}))

如果我除以一个数字,例如3,则查询成功。我错过了什么?

【问题讨论】:

    标签: prometheus promql


    【解决方案1】:

    在这里找到答案How to divide after grouping two different metrics in Prometheus?

    关键是忽略带有/ ignoring(name) group_left(在我的情况下)的现有标签。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-22
      • 2017-09-03
      • 2018-08-08
      相关资源
      最近更新 更多