RabbitMQ监控指标rabbitmq_channel_messages_delivered_ack_total异常下降问题咨询
RabbitMQ Prometheus计数器指标下降的常见原因及排查建议
可能的原因
- Channel生命周期结束:
rabbitmq_channel_messages_delivered_ack_total是基于单个channel的计数器,当channel被正常关闭或异常断开时,对应的指标时间序列会被移除。如果此时没有新的同标签channel补充,Prometheus抓取到的总和就会出现下降。这是最常见的场景,比如客户端重启、连接超时导致channel销毁。 - 指标时间序列切换:如果channel的标签维度(如
client_id、channel_name)发生变化,旧的时间序列会被标记为stale,新的序列从零开始计数。可视化工具中会呈现出数值“下降”,实际是新旧序列的切换,而非计数器本身重置。 - 插件或版本兼容性问题:旧版本的
rabbitmq_prometheus插件可能存在计数器统计bug,部分Windows环境下的Erlang与RabbitMQ版本不匹配,也可能导致指标统计异常。 - Windows系统的进程回收机制:Windows Server的内存管理或进程监控机制,可能导致RabbitMQ的指标统计进程出现异常,进而引发计数器数值异常(此场景相对少见)。
排查步骤
- 检查RabbitMQ节点日志,确认是否存在大量channel关闭、节点重启或连接异常的记录。
- 在Prometheus中查询该指标的所有时间序列(使用
rabbitmq_channel_messages_delivered_ack_total表达式),查看是否有标签变化导致的序列中断。 - 核对RabbitMQ、Erlang以及
rabbitmq_prometheus插件的版本,确保符合官方的兼容性要求,必要时升级到稳定版本。 - 在测试环境模拟客户端断开连接、重建channel的操作,观察指标变化是否复现问题,验证是否为channel生命周期导致的现象。
内容的提问来源于stack exchange,提问作者allep
相关产品推荐
相关产品推荐

