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

Grafana时序面板转换:合并多序列展示Resilience4j断路器状态

Resilience4j断路器状态时序面板实现方案

Grafana原生Time series面板默认仅支持数值型Y轴渲染,针对断路器状态变更这类离散值场景,优先使用适配性更强的State timeline面板实现,也可以通过数值映射改造普通Time series面板,具体操作如下:

方案一:使用State timeline面板(推荐)

该面板原生支持离散状态值的时间区间展示,完全匹配状态变更点的展示需求,配置步骤:

  • 面板类型选择State timeline,替换默认的Time series面板
  • 数据侧保留你已经通过过滤得到的value=1的结果集即可,提前删除无用的value字段
  • 进入Transform配置页,按顺序添加以下转换规则:
    1. 添加Sort by转换,排序字段选Time,排序方式为升序,保证状态点按时间先后排列
    2. 添加Add field from calculation转换,模式选择Concatenate,选中instance和name两个字段,分隔符填-,新字段命名为breaker_key,作为每个断路器的唯一时序标识
    3. 添加Remove duplicates转换,去重判断字段选breaker_key+state,保留时间最早的记录,过滤掉连续相同状态的重复上报点(比如你数据里cb2连续两条closed、B实例cb连续两条closed的冗余数据)
    4. 添加Partition by values转换,分区字段选择刚创建的breaker_key,值字段选择state
  • 进入面板字段配置页:
    • 将state字段的展示类型设置为离散值(Discrete)
    • 通过值映射给三个状态配置固定颜色:closed配绿色、open配红色、half_open配黄色
    • Y轴配置关闭数值类自动缩放,直接展示状态文本标签,调整填充透明度、线宽即可得到清晰的状态时间条,每个断路器对应独立一行,状态切换时间点一目了然。

方案二:改造普通Time series面板(适配必须用折线图的场景)

如果必须使用标准Time series面板,需要先将文本状态映射为数值,再替换Y轴刻度为文本:

  • 保留过滤后的value=1数据集,先按Time升序排序
  • 添加Add field from calculation转换,新建数值型字段state_num,按枚举规则映射:
    • closed → 0
    • half_open → 1
    • open → 2
  • 同方案一,拼接instance和name得到breaker_key作为时序唯一标识,通过Partition by values按breaker_key拆分序列,值字段选择state_num
  • 进入面板坐标轴配置页:
    • 将折线插值模式设置为Step after,模拟状态持续保持、到时间点瞬间切换的效果,避免折线出现斜向过渡
    • Y轴设置最小值为0、最大值为2、刻度间隔固定为1
    • 配置Y轴值映射:0对应显示closed、1对应显示half_open、2对应显示open,即可让Y轴展示状态文本而非原始数值。

内容的提问来源于stack exchange,提问作者Tiago Donizete dos Santos

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 10:39:20