如何在Grafana中一行展示两个Prometheus指标的最值?
实现Grafana一行展示Prometheus指标的最小/最大值
可以实现,以下是两种常用方法:
方法1:使用Stat面板(推荐)
- 添加Stat面板,数据源选择Prometheus。
- 在查询编辑器中添加两个查询:
- 第一个查询(获取最小值):
替换min({__name__=~"你的指标名1|你的指标名2"})你的指标名1和你的指标名2为实际的Prometheus指标名称,若指标有标签过滤,可补充标签条件,比如{__name__=~"metric_a|metric_b", instance="xxx"}。 - 第二个查询(获取最大值):
max({__name__=~"你的指标名1|你的指标名2"})
- 第一个查询(获取最小值):
- 给两个查询分别设置别名:点击查询行的
Legend输入框,第一个填“最小值”,第二个填“最大值”。 - 进入面板的Options设置:
- 将Layout改为
Horizontal(横向布局); - 根据需要调整数值的显示格式(比如小数位数、单位)。
完成后即可在一行内左侧显示最小值、右侧显示最大值。
- 将Layout改为
方法2:使用Text面板(自定义样式)
如果需要更灵活的排版,可以用Text面板结合变量实现:
- 创建两个变量:
- 进入Grafana的Variables设置,点击
New variable:- 变量名:
min_val,类型选择Query,数据源选Prometheus; - 查询语句填
min({__name__=~"你的指标名1|你的指标名2"}),Selection options选择Single value; - 重复上述步骤创建
max_val变量,查询语句改为max({__name__=~"你的指标名1|你的指标名2"})。
- 变量名:
- 进入Grafana的Variables设置,点击
- 添加Text面板,在编辑框中输入自定义内容,比如用HTML实现左右分布:
或者用Markdown表格简化排版:<div style="display: flex; justify-content: space-between; font-size: 18px;"> <span>最小值:${min_val}</span> <span>最大值:${max_val}</span> </div>| 最小值:${min_val} | 最大值:${max_val} | |---------------------|---------------------| - 保存设置后,Text面板会自动渲染出一行左右分布的最小/最大值。
内容的提问来源于stack exchange,提问作者Магомед Якубов
相关产品推荐
相关产品推荐

