You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Grafana仪表盘统计求助:按唯一deploymentId统计name数量

解决Grafana统计唯一deploymentId数量的问题

问题分析

你当前的查询("count", rate(name{tenant=~"$Agencies"}[$__rate_interval]))存在两个核心问题:

  1. rate()函数仅适用于**计数器类型(Counter)**指标,用于计算每秒变化率。如果name是标签或 gauge 类型指标,rate()会返回0,因为这类指标值不会随时间持续递增。
  2. 你的需求是统计唯一deploymentId的数量,而rate()的逻辑和这个需求完全不匹配。

修正后的查询语句

直接使用以下PromQL查询即可实现需求:

count(count by (deploymentId) (name{tenant=~"$Agencies"}))

语句拆解

  • 内层name{tenant=~"$Agencies"}:根据仪表盘顶部的Agencies过滤器,筛选出对应租户下的所有name指标(需确保这些指标包含deploymentId标签)。
  • count by (deploymentId):按deploymentId分组,统计每个分组下的name指标数量——只要某个deploymentId存在至少一个name指标,就会生成一条对应的时间序列。
  • 外层count():统计分组后生成的时间序列总数,也就是唯一deploymentId的数量,和你示例中期望的结果一致。

额外注意事项

  • 如果name指标可能存在空值或无效标签的情况,可以添加标签过滤条件,比如name{tenant=~"$Agencies", deploymentId!=""}来排除无效的deploymentId。
  • 确保deploymentId是指标的标签之一,否则查询会报错或返回0。

内容的提问来源于stack exchange,提问作者Jason

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 20:50:01