跳到主要内容
版本:7.0.3

监控

Hunyuan 7b 中英对照 Monitoring

当您使用@EnableWebSocketMessageBroker<websocket:message-broker>时,关键的基础架构组件会自动收集统计数据和计数器,这些数据能够提供关于应用程序内部状态的重要见解。配置还会声明一个类型为WebSocketMessageBrokerStats的bean,该bean会将所有可用信息汇集到一个地方,并默认每30分钟以INFO级别进行一次日志记录。通过Spring的MBeanExporter,这个bean可以导出到JMX中,以便在运行时查看(例如,通过JDK的jconsole)。以下列表总结了可用的信息:

客户端WebSocket会话

当前

表示当前有多少个客户端会话,该计数进一步细分为了WebSocket会话、HTTP流式传输会话以及基于SockJS的轮询会话。

总计

表示已建立的总会话数。

异常闭合

连接失败

在60秒内未收到任何消息后被关闭的会话。这通常表明存在代理或网络问题。

发送限制已超出

会话在超过配置的发送超时时间或发送缓冲区限制后关闭,这种情况可能发生在客户端响应较慢的情况下(见前一节)。

传输错误

在发生传输错误后,会结束会话,例如无法读取或写入WebSocket连接、HTTP请求或响应时。

STOMP帧

处理过的CONNECT、CONNECTED和DISCONNECT帧的总数,表示在STOMP层有多少客户端连接。请注意,当会话异常关闭或客户端在未发送DISCONNECT帧的情况下关闭时,DISCONNECT的数量可能会减少。

STOMP 代理中继

TCP连接

表示代表客户端WebSocket会话与代理建立的TCP连接数。该数量应等于客户端WebSocket会话的数量加上1个额外的“系统”连接,用于从应用程序内部发送消息。

STOMP帧

代表客户端转发给代理或从代理接收的 CONNECT、CONNECTED 和 DISCONNECT 帧的总数。请注意,无论客户端 WebSocket 会话是如何关闭的,都会向代理发送 DISCONNECT 帧。因此,DISCONNECT 帧的数量越低,说明代理正在主动关闭连接(可能是因为心跳信号未能及时到达、输入帧无效或其他问题)。

客户端入站通道

来自支持clientInboundChannel的线程池的统计数据,可以提供关于传入消息处理状况的洞察。如果任务在这里排队,这表明应用程序可能处理消息的速度过慢。如果存在I/O受限的任务(例如,缓慢的数据库查询、对第三方REST API的HTTP请求等等),请考虑增加线程池的大小。

客户端出站通道

来自支持clientOutboundChannel的线程池的统计信息,这些信息可以让我们了解向客户端发送消息的健壮性。如果任务在这里排队,就表明客户端处理消息的速度过慢。解决这一问题的一种方法是增加线程池的大小,以容纳预期数量的并发慢速客户端。另一种选择是减少发送超时时间和发送缓冲区的大小限制(请参阅前一节)。

SockJS 任务调度器

来自用于发送心跳信号的SockJS任务调度器线程池的统计数据。请注意,当在STOMP层面上协商心跳信号时,SockJS的心跳功能将会被禁用。