深色模式
Grafana 仪表盘与变量
写死 instance 的面板只能看一台机器。用模板变量做下拉框,一个看板通吃整个集群。
适用环境
- 已配置 Prometheus 数据源
- 已采集多实例指标(job="node")
bash
# 确认存在可枚举的标签
curl -s 'http://localhost:9090/api/v1/label/instance/values'1
2
2
操作步骤
1. 新建 Dashboard 与变量
在 Dashboard 设置 → Variables → Add variable:
Name: instance
Type: Query
Data source: Prometheus
Query: label_values(node_cpu_seconds_total, instance)1
2
3
4
2
3
4
再建一个 job 变量同理。
2. 在面板里引用变量
编辑 Panel 的 PromQL,用 $instance 占位:
promql
1 - avg by (instance) (rate(node_cpu_seconds_total{mode="idle", instance=~"$instance"}[5m]))1
3. 多选用正则
变量设置勾选 Multi-value 与 Include All option,查询里用 =~"$instance" 即可多选/全选。
4. 保存看板
点击右上角 Save,命名如 “主机资源总览”。
验证
切换 instance 下拉框,图表随之变化;选 All 时显示全部实例。
常见坑
变量名别和标签名冲突
变量名不要叫 instance 之外的保留字,引用时 $instance 与标签 instance 是两套,混用易错。
没开 Multi-value 却用 =~
开了 =~"$instance" 但变量非多选时,单值也能工作;一旦多选必须确保变量类型支持正则拼接。