如何将Grafana多选变量传入Prometheus查询?
在Grafana中配置多选下拉变量实现动态Prometheus查询
步骤1:创建多选下拉变量
- 打开目标仪表板,点击顶部齿轮状的「设置」按钮,切换到「变量」标签页
- 点击「新建变量」,按以下配置:
- 变量名:自定义(例如
selected_uris,便于后续引用) - 类型:选择「查询」
- 数据源:指定你的Prometheus数据源
- 查询语句:输入
label_values(api_latency, uri),该语句会自动抓取api_latency指标下所有的uri标签值 - 选项设置:勾选「允许多选」,按需勾选「包含全部选项」(支持一键选中所有uri)
- 完成后点击「保存变量」
- 变量名:自定义(例如
步骤2:修改Prometheus查询引用变量
在图表面板的查询编辑器中,将原查询替换为:
api_latency{uri=~"$selected_uris"}
- 原理:Grafana会自动把多选的变量值转换成
/ping|/pong这类正则表达式格式,完美适配Prometheus的=~正则匹配语法 - 若开启了「包含全部选项」,当选择「全部」时,变量会被替换为
.*,等同于执行原始的api_latency查询
步骤3:验证动态筛选效果
返回仪表板,点击顶部的变量下拉框选择多个uri选项,图表会实时更新为对应筛选后的api_latency数据
内容的提问来源于stack exchange,提问作者Maifee Ul Asad
相关产品推荐
相关产品推荐

