Grafana Cloud:划分两个查询显示 "no data"
Grafana Cloud: dividing two queries shows "no data"
在 Grafana 仪表板面板中,我有两个查询:
rate(container_cpu_usage_seconds_total{cloud=~"${cloud}",environment=~"${environment}",location=~"${location}",container="tlm-telemetry-service",namespace="tlm"}[5m])
和
avg(kube_pod_container_resource_limits_cpu_cores{namespace="tlm"})
可以很好的分开展示:
但是当我尝试使用“平均”除以“比率”时:
rate(container_cpu_usage_seconds_total{cloud=~"${cloud}",environment=~"${environment}",location=~"${location}",container="tlm-telemetry-service",namespace="tlm"}[5m])/avg(kube_pod_container_resource_limits_cpu_cores{namespace="tlm"})
结果显示“无数据”。
这个查询曾经在 Grafana 版本 6.7.5 中工作,但是当我试图将它移动到 Grafana Cloud 时,出现了这个问题。
有人知道吗?
这会引发 No data
,因为您有两种不同的表达式数据类型。在左侧,您有一个 range vector
类型,在右侧有一个 scalar
类型。查询应该 return 在每个部分中使用相同的 LabelSet,因此您还需要使用 by
子句对右侧进行分组。
例如以下查询应该有效:
sum by (namespace,container) (rate(container_cpu_usage_seconds_total{cloud=~"${cloud}",environment=~"${environment}",location=~"${location}",container="tlm-telemetry-service",namespace="tlm"}[5m])) /
avg by (namespace,container) (kube_pod_container_resource_limits_cpu_cores{namespace="tlm"})
在 Grafana 仪表板面板中,我有两个查询:
rate(container_cpu_usage_seconds_total{cloud=~"${cloud}",environment=~"${environment}",location=~"${location}",container="tlm-telemetry-service",namespace="tlm"}[5m])
和
avg(kube_pod_container_resource_limits_cpu_cores{namespace="tlm"})
可以很好的分开展示:
但是当我尝试使用“平均”除以“比率”时:
rate(container_cpu_usage_seconds_total{cloud=~"${cloud}",environment=~"${environment}",location=~"${location}",container="tlm-telemetry-service",namespace="tlm"}[5m])/avg(kube_pod_container_resource_limits_cpu_cores{namespace="tlm"})
结果显示“无数据”。
这个查询曾经在 Grafana 版本 6.7.5 中工作,但是当我试图将它移动到 Grafana Cloud 时,出现了这个问题。
有人知道吗?
这会引发 No data
,因为您有两种不同的表达式数据类型。在左侧,您有一个 range vector
类型,在右侧有一个 scalar
类型。查询应该 return 在每个部分中使用相同的 LabelSet,因此您还需要使用 by
子句对右侧进行分组。
例如以下查询应该有效:
sum by (namespace,container) (rate(container_cpu_usage_seconds_total{cloud=~"${cloud}",environment=~"${environment}",location=~"${location}",container="tlm-telemetry-service",namespace="tlm"}[5m])) /
avg by (namespace,container) (kube_pod_container_resource_limits_cpu_cores{namespace="tlm"})