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

如何在Grafana State Timeline面板中用Prometheus标签值展示状态

这个需求完全可以实现,不需要依赖Prometheus的字符串指标能力,通过Grafana自带的转换功能和State Timeline面板配置即可完成,具体操作步骤如下:

操作步骤

1. 配置PromQL查询

直接查询目标指标即可,无需额外计算:

a_metric

查询返回的所有序列都会携带band和state标签,样本值固定为1。

2. 配置Grafana转换规则

进入面板的「转换」Tab,依次添加以下2个转换:

  • 第一个转换选标签转字段(Labels to fields)
    • 操作模式选择「将指定标签的值作为新字段添加」
    • 选中state标签,输出字段名可自定义为state
    • 勾选保留band标签作为序列元数据
  • 第二个转换选按字段分组(Group by)
    • 分组字段选择band
    • 对state字段的聚合规则选择「Last(取最后一个值)」

3. 配置State Timeline面板

  1. 进入面板设置的「字段」选项,将字段类型设置为「字符串」
  2. (可选)在「值映射」设置中,给不同的state值自定义显示颜色,即可实现你给出的示意图效果
  3. 根据你的状态切换频率调整查询步长,避免状态切换的时间点出现偏差

旧版本Grafana兼容方案

如果你使用的Grafana版本较低,State Timeline不支持字符串类型的值,可以用数值映射的替代方案实现:

  1. 将PromQL调整为按state映射不同的固定数值:
a_metric{state="A"} * 1
or a_metric{state="B"} * 2
or a_metric{state="C"} * 3
# 后续新增state取值时,按顺序新增对应规则即可
  1. 转换规则仅需添加「按标签分组」,分组字段选band,聚合规则选「Last」或「Max」
  2. 在面板「值映射」中添加枚举映射:1对应A、2对应B、3对应C,同时配置对应颜色即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 21:15:01