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

如何获取NATS核心主题、流及慢消费者的自定义指标?

获取NATS细分指标的解决方案

1. 核心NATS主题的连接与消息指标

  • 实时查看:使用nats top --topics命令,会展示每个主题的生产者数量、消费者数量,以及实时的消息流入(In Msgs)、流出(Out Msgs)统计,还能看到消息大小、速率等细节。
  • 监控集成:开启NATS服务端的account_tracking配置后,访问监控端点/varz?topics=1,返回的JSON数据中会包含每个主题的细分字段:producers(生产者数)、consumers(消费者数)、in_msgs(累计流入消息数)、out_msgs(累计流出消息数)等,可直接用于监控系统采集。

2. JetStream流的连接与消息指标

  • 单流详情:执行nats stream info <你的流名称>,输出内容里会明确列出该流的活跃生产者数、消费者总数(含推送/拉取型),以及消息累计流入量(Msgs、Bytes)、消费者的消息交付统计(每个消费者的Delivered计数)。
  • 批量监控:访问/jsz端点,可通过?stream=<流名称>过滤单流数据,返回结果中stream节点下的producers数组包含每个生产者的连接信息,consumers列表则有每个消费者的订阅状态,同时msgs字段下的in(流入)、out(流出)数据是该流的细分统计。另外/accountz端点的JetStream板块也有按流分组的聚合细分指标。

3. 慢消费者详细信息

  • 实时识别:用nats top --consumers命令,查看每个消费者的Pending(待处理消息数)、Ack Time(平均确认耗时)、Delivered(消息交付速率),如果某个消费者的Pending持续增长、Ack Time远超其他消费者或配置的ack_wait阈值,即可判定为慢消费者。
  • 单消费者详情:执行nats consumer info <流名称> <消费者名称>,能看到该消费者的Pending Msgs/Bytes、Ack Wait(当前确认等待时间)、Last Active(最后活跃时间),以及消息交付的历史统计,帮助定位停滞原因。
  • 监控API采集:/jsz端点的消费者条目里,pending_msgs、pending_bytes、ack_wait这几个字段是识别慢消费者的核心指标,结合delivered速率数据可实现自动化告警。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 02:40:09