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

能否在Grafana中创建包含常量与查询结果的变量?

实现Grafana变量同时包含查询结果与常量值

完全可行,有两种简单的实现方式:

方法一:通过Grafana变量的自定义选项添加静态值

  • 编辑你已创建的hostname变量,类型选择「查询」,数据源指定为你的Prometheus实例
  • 在查询输入框中保留原有的PromQL:
    label_values(up{site=~"$site",env=~"$env",team=~"$team",service=~"$service",hostname!~".*exporter"}, hostname)
    
  • 滚动到变量设置的「自定义选项」区域,勾选「添加自定义值」
  • 在下方的输入框中,每行输入一个常量值:alpha1、alpha2、alpha3
  • 保存变量后,该变量就会同时包含查询返回的主机名和你添加的三个静态值

方法二:修改PromQL直接合并常量值

如果希望所有值都通过查询统一返回,可以修改原PromQL,把常量值合并到查询结果中:

label_values(
  up{site=~"$site",env=~"$env",team=~"$team",service=~"$service",hostname!~".*exporter"}
  or on() vector(1) * ignoring(hostname) group_left(hostname) (
    vector(1) with (hostname="alpha1")
    or vector(1) with (hostname="alpha2")
    or vector(1) with (hostname="alpha3")
  ),
  hostname
)
  • 这个查询会将原up指标的主机名和三个常量主机名合并,再提取hostname标签值
  • 注意:这种方式要求你的Prometheus版本在2.27及以上(支持with语法)

两种方式各有优劣:方法一操作简单,无需复杂的PromQL修改;方法二则把所有值纳入查询逻辑,适合需要统一管理值来源的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 12:57:42