首页/云/可观测性速查/Custom / Interval / Constant 变量
Grafana 与看板53 条

Custom / Interval / Constant 变量

除查询型变量外还有四类:Custom 手写候选集,Interval 提供时间粒度,Constant 隐藏常量,Textbox 临时输入;按场景选择可减少查询开销。

可观测性速查云更新于 2026-10-13

静态变量是什么

除开从数据源查出来的查询型变量,Grafana 还提供四类静态变量:Custom 由人手写候选值(支持「中文显示名 : 实际值」),Interval 提供时间粒度下拉(1m、5m、1h 到 Auto),Constant 是隐藏常量,Textbox 允许现场输入关键字。它们的共同价值是候选集合固定时不再为每个选项发一次查询,看板加载更快,也不受数据源抖动影响。

基本信息

适用平台Grafana 8+,位于 Dashboard settings → Variables
Custom 写法逗号分隔,支持「显示名 : 值」
Interval 常用值1m,5m,10m,30m,1h,6h,12h,1d,可勾选 Auto
Constant隐藏常量,不出现在下拉框
权限要求Editor 及以上才能修改变量

典型使用场景

  • 环境切换:只有生产、预发、开发三个取值时用 Custom 写死,比每次查询标签值更稳
  • 时间粒度共享:Interval 变量配合 rate 查询,让一组面板共用同一个步长
  • 固定集群:单集群看板用 Constant 锁定集群名,避免被误改
  • 临时排查:Textbox 让值班人现场输入错误码或 trace 前缀,不改查询即可过滤
  • 可读下拉框:Custom 的「中文名 : 英文值」让选项读起来是业务语言,查询里仍用英文值

各类型写法

各类型写法
# Custom:env = prod : 生产,staging : 预发,dev : 开发
# Interval:values = 1m,5m,10m,30m,1h,6h,12h,1d,可勾选 Auto
# Constant:cluster = dc1(隐藏,不显示下拉框)
# Textbox:由值班人现场输入,如错误码前缀

# 引用方式与查询型变量一致
up{env="$env"}

# 时间粒度变量常直接喂给 rate 的步长
sum(rate(http_requests_total{env="$env"}[$interval]))

四类变量对照

类型取值来源适用场合
Custom手写候选集取值固定、需要中文别名
Interval预设时间粒度多面板共享步长
Constant固定常量单环境看板、防止误改
Textbox值班人输入临时排查与模糊匹配
Interval 勾选 Auto 后会结合看板宽度与 auto_count 推算步长,配合 $__rate_interval 使用能避开「步长小于抓取间隔」这类常见错误。
All 选项不会自动生效:需要单独填写 allValue(如 .* 或 .+),否则选 All 时查询里传入的是字面量,结果为空。

类型选择建议

  • 取值固定且数量少(环境、集群、区域)优先 Custom,看板加载不受数据源影响
  • 需要现场输入关键字时才用 Textbox,它可能被输错,不适合承载固定维度
  • 时间粒度统一用 Interval,避免每个面板各写一个步长导致图形之间不可比
  • 只有真正的单集群看板才用 Constant,多环境共用时它会锁死切换能力
  • 实例、服务这类取值随数据变化的维度必须用查询型变量,静态写法会在对象增减后失准

易错点

  • Custom 变量值包含空格或中文时分享链接容易断值,取值对不上先检查 URL 编码
  • All 选项漏填 allValue 会让「选全部」查不到数据,排查时容易误判成数据源问题
  • Custom 取值写错不会报错,只会让面板空着;先在 Graph 页确认该取值确实出现在标签里
  • 把环境、集群这类稳定维度做成查询型变量,既慢又多给了一个让看板失败的环节

数据来源与参考

  • Grafana 官方文档 · Variables 类型说明
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌