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

Grafana设置支持按端点类型分组变量以批量应用Prometheus查询吗?

实现Grafana端点分组下拉选择的方案

Grafana完全支持你需要的分组筛选需求,下面提供两种实用的实现方式:

方法一:嵌套关联变量(直观可控)

这种方式通过两个关联变量实现分组选择+自动加载对应端点,适合需要展示具体端点列表的场景:

  1. 创建分组变量

    • 进入仪表盘设置 → 变量 → 新建变量,类型选择「自定义」
    • 名称设为endpoint_group,选项输入:
      endpoint,endpointTypeB,endpointTypeC
      
    • 切换到「值」标签页,给每个选项设置值映射(显示名称对应实际前缀):
      • 显示endpoint → 值设为/endpoint/user
      • 显示endpointTypeB → 值设为/endpoint/typeB/user
      • 显示endpointTypeC → 值设为/endpoint/typeC/user
  2. 创建动态端点变量

    • 新建变量,类型选择「Prometheus查询」,名称设为target_endpoints
    • 查询语句填写(替换your_metric为你的实际指标名):
      label_values(your_metric{endpoint=~"$endpoint_group.*"}, endpoint)
      
    • 开启「多值」和「包含全部选项」,这样选择分组后,该变量会自动加载对应分组下的所有端点路径
  3. 在图表查询中使用
    所有图表的Prometheus查询改为:

    your_metric{endpoint=~"$target_endpoints"}
    

    选择分组后,端点变量会自动筛选对应组的所有端点,查询会匹配这些路径。

方法二:单变量+正则匹配(简洁高效)

如果不需要展示具体端点列表,仅通过分组直接匹配所有对应路径,可以用这种方式:

  1. 创建分组正则变量

    • 新建自定义变量endpoint_group,选项输入:
      endpoint,endpointTypeB,endpointTypeC
      
    • 切换到「值」标签页,设置值映射为正则表达式:
      • 显示endpoint → 值设为^/endpoint/user(/.*)?$
      • 显示endpointTypeB → 值设为^/endpoint/typeB/user(/.*)?$
      • 显示endpointTypeC → 值设为^/endpoint/typeC/user(/.*)?$
  2. 在图表查询中使用
    直接用变量的正则值匹配:

    your_metric{endpoint=~"$endpoint_group"}
    

    选择分组后,查询会自动匹配该分组下的所有端点路径。

注意事项

  • 确保你的Prometheus指标中endpoint标签存储的是完整路径,正则或前缀匹配才能生效
  • 变量的「值映射」是核心,要保证显示的友好名称和实际用于匹配的值对应准确
  • 方法一的优势是用户可以看到具体端点,还能手动选择单个端点;方法二更简洁,适合只需要分组维度的场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 21:34:49