跳到主要内容

队列运行管理

目录​


一、概述​

 队列运行管理是TUS系统中用于管理外部Kafka和ActiveMQ队列的功能模块,TUS系统中队列运行管理专为外部消息中间件系统而生,把外部消息中间件的实时状态,统统锁进一块 TUS 队列管理中。它允许用户查看消息中间件中的消息队列,生产者和消费者等。

二、功能操作指南​

(一)操作入口​

操作步骤:登陆产品首页,运维中心—运行管理—队列运行管理。

队列运行管理01

队列运行管理02

(二)队列运行管理概览​

通过队列运行管理功能,用户可实现对Kafka与ActiveMQ两大类消息中间件的集中化、可视化监控与运维管理。该平台提供从基础节点状态、主题/队列配置到消息生产消费全链路的实时洞察。

Kafka节点管理: 监控Kafka集群中各Broker节点的运行状态,包括主机IP、服务端口、Leader控制状态、日志段大小与数量等关键指标。通过实时可视化界面,运维人员可快速掌握集群拓扑与节点健康度,确保服务高可用性。

Kafka主题管理: 提供对Kafka主题(Topic)的全面管理视图,包括主题名称、分区数、副本数、副本分布、内部主题标识。支持主题信息的实时检索与监控,便于进行容量规划与资源配置优化

Kafka消费者组管理: 展示消费者组(Consumer Group)的详细状态,包括消费者组ID、是否为简单消费者组、当前状态(如Empty、Stable等)以及协调节点信息。有效监控消费延迟与消费组重平衡情况,保障消息处理链路顺畅

ActiveMQ消息队列管理:集中管理ActiveMQ中的物理队列与主题,监控各队列的关键运行指标,如待处理消息数、处理中消息数、消息总数、生产者与消费者连接数等。

ActiveMQ生产者管理:实时监控连接到ActiveMQ的所有生产者实例,记录生产者名称、目标地址、通信协议、客户端ID及创建时间等信息。便于追溯消息来源,管理生产者连接行为

ActiveMQ消费者管理:全面监控ActiveMQ消费者连接情况,包括消费者名称、客户端ID、订阅队列/主题名称、协议类型、远程地址及消息过滤条件等。协助诊断消费端问题,优化资源使用

通过队列运行管理帮助运维与开发人员快速发现连接异常、性能瓶颈与数据积压等问题,确保消息系统的稳定、高效运行,为业务系统间的异步通信与集成提供坚实基础

支持类型​

 队列运行管理目前支持两种主流消息队列:

  • Kafka: 一款高吞吐量、分布式的发布-订阅消息系统,擅长处理实时数据流,支持大规模、高并发场景下的消息持久化与广播。
  • ActiveMQ:一个成熟的开源消息代理,完全支持JMS(Java Message Service)规范,提供强大的队列(Point-to-Point)和主题(Pub/Sub)消息模式,适用于企业级应用集成与异步通信。

(三)Kafka​

节点管理​

节点管理功能提供了集群基础设施的“上帝视角”,通过持续观察这些指标,运维团队可以确保集群始终处于健康状态,并能主动应对潜在风险。

队列运行管理03

  • 主机名:这是Kafka Broker节点在网络中的唯一标识(IP或域名)

  • 端口:Kafka Broker监听客户端(生产者、消费者)和其他Broker连接的网络端口,默认为 9092。

  • 主题个数:指存储在该特定Broker上的主题(Topic)分区副本的总数。

  • 日志段大小:Kafka的日志(存储的消息数据)在磁盘上被切分为多个段文件。此指标显示了当前所有活跃段文件的总大小。

  • 日志段数量:该Broker上所有Topic分区副本的日志段文件的总数。

  • 是否控制Leader:true:表示此节点是当前集群的控制器,false:表示这是一个普通的工作节点。

主题管理​

主题管理提供了对Kafka集群中所有主题(Topic) 的全局配置与状态视图

队列运行管理04

  • TOPIC名称:主题的唯一标识符,是生产者发布和消费者订阅消息的逻辑终点。例如:order_events, user_logs

  • 是否KAFKA内部TOPIC:标识该主题是否由Kafka系统内部创建和使用。false 表示该主题由用户创建。true 表示该主题由Kafka系统内部创建和使用。

  • 分区数:它将一个主题中的数据分散到多个分区,允许不同的消费者同时处理数据。

  • 副本数:每个分区的数据备份数量,为每个分区创建多个副本(拷贝)。

  • 日志段数量:该主题所有分区磁盘上的日志段文件总数。此指标反映了主题的数据规模和对系统资源的占用情况,可用于辅助监控和容量规划。

  • 包含消息数量:当前该主题中所有分区未被消费或未被清理的有效消息总数。这是一个关键的业务监控指标,数值持续快速增长可能意味着消息消费速度跟不上生产速度,需要关注消费者是否正常。

消费者组管理​

消费者组管理功能提供了对集群中所有消费者组的集中监控视图,允许运维人员实时查看每个组的成员状态、消息消费进度(偏移量)以及是否出现消费滞后(Lag) 等情况,是保障消息能够被及时、正确消费的关键管控界面。

队列运行管理05

  • 消费者组ID:消费者组的全局唯一标识符,点击该ID可以查看该组的详细消费信息

  • 是否简单消费者组:显示该消费者组使用的协调协议

  • 消费者组状态:表示消费者组的当前运行状态,常见状态有:

    • Empty:组内没有任何活跃的消费者成员,但组已注册且可能存在已提交的偏移量。
    • Stable:组运行正常,所有分区都已分配给了活跃的消费者成员。
    • Dead:组内没有任何活跃成员,且不存在任何已提交的偏移量(通常可被删除)。
    • PreparingRebalance / CompletingRebalance:组正在重新分配分区(例如,有消费者加入或离开)。
  • 协调器节点ID:管理该消费者组的Kafka Broker节点ID

查看消费详情​

点击任意 “消费者组ID” 后,系统会跳转到该组的详情页面,展示组内每个Topic分区的消费进度,是诊断消费延迟、消息积压等问题的核心视图。 如下图所示:

队列运行管理05

  • 主题名称:该消费者组正在消费的消息主题(Topic)的名称。一个消费者组可以同时消费多个主题。

  • 分区ID:主题的分区编号(Partition ID)。Kafka中的每个主题都被划分为一个或多个分区,以实现并行处理。此字段标识了消息来源的具体分区。

  • 消费者延迟:消费滞后量(Lag)

  • 当前已消费消息的offset:当前偏移量(Current Offset),也称为消费者偏移量(Consumer Offset)

  • 结束消息的offset:结束偏移量(End Offset),也称为日志末端偏移量(Log End Offset - LEO)。

通过此功能

  • 1.快速确认消费者组健康状态:通过“组状态”判断组是否在正常运作
  • 2.精准定位消费积压问题:通过详情页面的Lag计算,快速找到是哪个Topic的哪个分区出现了积压。
  • 3.验证消费行为:确认消息是否被正常消费,偏移量是否在持续提交。

(三)ActiveMQ​

消息队列管理​

消息队列管理功能提供对ActiveMQ的集中监控视图,包括队列(Queue)和主题(Topic)。通过此界面,可以实时了解每个队列/主题的消息堆积、消费者状态、消息吞吐量等关键指标。

队列运行管理06

  • 队列名称:ActiveMQ目的地(Destination)的名称,是消息生产和消费的逻辑地址。

  • 队列地址:通常与队列名称一致,表示该队列在消息代理中的访问路径。

  • 类型:标识队列的类型,包括队列(Queue)和主题(Topic)。

  • 消费者数量:当前正在监听并消费该队列的消费者客户端数量。

  • 未处理消息数:当前队列中等待被消费的消息总数,通常被称为消息积压量。

  • 处理中消息数:已被消费者获取但尚未收到确认的消息数量。

  • 超期消息数量:超过了预设的生存时间(TTL) 而未被消费,从而被自动投递到死信队列(DLQ)的消息数量。

  • 生产消息总数:自该队列创建以来,成功发送到此队列的所有消息的累积数量。

  • 消费消息总数:自该队列创建以来,成功从此队列消费(并确认)的所有消息的累积数量。

  • 连接名称:队列所属ActiveMQ配置的连接名称。

  • 流程数量:使用该ActiveMQ的流程数量。

  • 创建人:初始化ActiveMQ配置的用户,通常为默认用户admin。

  • 创建事件:初始化该ActiveMQ配置的时间。

功能价值与使用场景:

  • 1.实时健康状态诊断:通过 “消费者数量”、“未处理消息数”和“处理中消息数”,快速判断任意一个队列的健康状况。例如,消费者数量为0且未处理消息数大于0,是典型的异常告警场景。
  • 2.性能与容量监控:**“未处理消息数”**是判断消息是否积压的直接依据。结合“生产/消费消息总数”可以计算吞吐率,进行容量规划

生产者管理​

生产者管理功能提供对当前所有连接到ActiveMQ消息代理的生产者客户端(Producer)的实时监控视图。通过此界面,运维人员可以清晰地了解消息生产的来源、连接方式及活跃状态,便于进行连接溯源和故障排查。

队列运行管理08

  • 生产者名称:建立此生产者连接的客户端用户名或身份标识。通常由客户端连接时提供

  • 目标地址:此生产者正在向其发送消息的目的地地址

  • 协议: 生产者客户端与ActiveMQ代理建立连接所使用的通信协议。例如:

    • CORE: ActiveMQ原生的高性能协议。
    • OPENWIRE: ActiveMQ默认的跨语言协议。
    • AMQP: 高级消息队列协议,兼容其他消息中间件。
    • MQTT: 适用于物联网(IoT)场景的轻量级协议。
    • STOMP: 简单的文本导向消息协议。
  • 客户端ID:由生产者客户端自身设置的唯一标识符(Client ID)。用于在代理端唯一标识一个客户端连接,对于持久化订阅等场景至关重要。

  • 创建时间:此生产者连接成功建立的时间戳

消费者管理​

可查看所有活跃的消费者连接及其详细信息,支持监控消费者状态和连接参数

队列运行管理08

  • 消费者:连接到消息队列的消费者实例标识,通常包含客户端名称和连接信息

  • 客户端ID:消费者客户端的唯一标识符,用于区分不同消费者连接

  • 队列类型:消息队列的类型(如点对点队列"Queue"或发布订阅"Topic")

  • 队列名称:消费者正在监听的队列或主题的名称

  • 队列地址:消息队列在Broker中的实际地址或路由路径

  • 远程地址:消费者客户端的网络地址(IP和端口)

  • 过滤器:消费者应用的消息选择器或过滤条件

  • 协议:客户端与消息代理之间使用的通信协议(如OPENWIRE、AMQP等)

  • 创建事件:消费者连接建立的日期和时间