Grafana Cloud:划分两个查询显示“无数据”

Posted

技术标签:

【中文标题】Grafana Cloud:划分两个查询显示“无数据”【英文标题】:Grafana Cloud: dividing two queries shows "no data" 【发布时间】:2021-11-02 05:28:23 【问题描述】:

在 Grafana 仪表板面板中,我有两个查询:

rate(container_cpu_usage_seconds_totalcloud=~"$cloud",environment=~"$environment",location=~"$location",container="tlm-telemetry-service",namespace="tlm"[5m])

avg(kube_pod_container_resource_limits_cpu_coresnamespace="tlm")

这可以很好地单独显示:

但是当我尝试使用“平均”一除“率”一时:

rate(container_cpu_usage_seconds_totalcloud=~"$cloud",environment=~"$environment",location=~"$location",container="tlm-telemetry-service",namespace="tlm"[5m])/avg(kube_pod_container_resource_limits_cpu_coresnamespace="tlm")

结果显示“无数据”。

这个查询曾经在 Grafana 版本 6.7.5 中工作,但是当我尝试将它移动到 Grafana Cloud 时,出现了这个问题。

有人知道吗?

【问题讨论】:

【参考方案1】:

这会引发No data,因为您有两种不同的表达式数据类型。在左侧,您有一个 range vector 和右侧 scalar 类型。查询应该在每个部分中返回相同的 LabelSet,因此您还需要使用 by 子句对右侧进行分组。

例如以下查询应该可以工作:

sum by (namespace,container) (rate(container_cpu_usage_seconds_totalcloud=~"$cloud",environment=~"$environment",location=~"$location",container="tlm-telemetry-service",namespace="tlm"[5m])) / 
avg by (namespace,container) (kube_pod_container_resource_limits_cpu_coresnamespace="tlm")

【讨论】:

欢迎您,@KenTsoi!

以上是关于Grafana Cloud:划分两个查询显示“无数据”的主要内容,如果未能解决你的问题,请参考以下文章

在grafana中相互划分多个系列

如何划分两个 Prometheus 计数器

Spring Cloud Data Flow Grafana Prometheus 不显示流数据

使用通配符在 Grafana 上显示多个系列

将 Grafana 连接到 MySQL 显示查询失败,为啥?

尽管查询错误,但 Grafana 变量部分显示值的预览