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

如何在Grafana仪表盘中创建映射类型的group变量?

实现Grafana服务组变量与指标聚合的方案

方案一:Grafana自定义组变量(灵活易维护)

这种方式无需修改Victoria Metrics配置,直接在Grafana内完成分组定义:

  1. 打开仪表盘的「设置」→「变量」→「添加变量」
  2. 变量类型选「自定义」,变量名填group
  3. 在「选项」区域,按组名 : 服务正则的格式手动输入分组规则,示例:
    支付组 : serviceA|serviceB|serviceC
    用户组 : serviceD|serviceE
    订单组 : serviceF
    
  4. 勾选「自定义选项」,确保下拉列表只显示组名,选中后变量实际值为对应的服务正则表达式
  5. 保存变量

修改指标查询语句为:

avg(rate(http_requests_total{service=~"$group"}[5m]))

选中组名后,会自动匹配该组下所有服务的请求指标并计算平均值。

方案二:Victoria Metrics relabeling打组标签(适合固定分组)

如果服务分组是固定的,可以在VM层面给服务添加group标签,后续Grafana直接通过标签过滤:

配置VM的metric_relabel_configs

在VM的配置文件中添加以下规则,通过匹配服务名给指标打组标签:

metric_relabel_configs:
  # 匹配支付组服务,添加group标签
  - source_labels: [service]
    regex: 'serviceA|serviceB|serviceC'
    target_label: group
    replacement: '支付组'
    action: replace
  # 匹配用户组服务,添加group标签
  - source_labels: [service]
    regex: 'serviceD|serviceE'
    target_label: group
    replacement: '用户组'
    action: replace
  # 匹配订单组服务,添加group标签
  - source_labels: [service]
    regex: 'serviceF'
    target_label: group
    replacement: '订单组'
    action: replace

重启Victoria Metrics使配置生效。

在Grafana配置Group变量

  1. 进入仪表盘「设置」→「变量」→「添加变量」
  2. 变量类型选「查询」,数据源选择你的Victoria Metrics实例
  3. 查询语句填写:label_values(http_requests_total, group),自动获取所有已定义的组名
  4. 保存变量

修改指标查询语句为:

avg(rate(http_requests_total{group="$group"}[5m]))

这种方式无需在Grafana维护正则,直接通过group标签过滤分组。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 02:12:17