Apache ActiveMQ是一个强大的开源消息代理,支持JMS和各种跨语言客户端和协议(来自Java, C, C++, C#, Ruby, Perl, Python和PHP)。ActiveMQ为JMS客户机和消息代理中的企业集成模式提供了充分的支持。
Applications Manager 专注于帮助管理员收集Active MQ 指标,将队列和代理性能与基础设施相关联,维护高可用性和可伸缩性的配置, 并自动提醒潜在问题。
让我们来看看您需要看到什么来充分利用ActiveMQ 和您可以与Applications Manager一起收集的性能指标:
设置监控Apache ActiveMQ的先决条件:
Apache ActiveMQ对JMX有广泛的支持,可以通过JMX MBeans监控和控制代理的行为。您可以按照此处提到的步骤启用/禁用JMX支持。
使用REST API添加新的Apache Active MQ监视器:点击此处
要创建Apache ActiveMQ监视器,请遵循下面给出的步骤:
注意:
点击 监视器 选项卡,到 监视器类别视图。点击 Middleware/Portal 表下的 Apache ActiveMQ。显示的是分布在三个选项卡中的Apache Active MQ批量配置视图:
点击监视器名称,查看以下选项卡下列出的所有服务器详细信息:
| 参数 | 描述 |
|---|---|
| 配置详细信息 | |
| Memory Usage | 未送达消息的内存使用,以字节为单位。 |
| Store Usage | |
| Temp Usage | |
| 内存的详细信息 | |
| Total Physical Memory Size | 物理内存总量,以兆字节为单位。 |
| Free Physical Memory Size | 空余物理内存总量,以兆字节为单位。 |
| Committed Virtual Memory Size | 保证运行进程可用的虚拟内存的数量,以兆字节为单位。 |
| Total Swap Space Size | JVM保存虚拟内存的总大小。 |
| Free Swap Space Size | 可用虚拟内存大小。 |
| 线程详细信息 | |
| Daemon Thread Count | 当前运行的守护进程线程的数量。 |
| Peak Thread Count | 从Java虚拟机启动或峰值被重置以来的峰值活动线程计数。 |
| Live Thread Count | 当前运行的活动线程的数量。 |
| Total Started Thread Count | 从Java虚拟机启动以来创建和启动的线程总数。 |
| 堆和非堆内存详细信息 | |
| Heap Memory Usage | 当前正在使用的堆内存。 |
| Non-Heap Memory Usage | 当前正在使用的非堆内存。 |
| 参数 | 描述 |
|---|---|
| 主题详细信息 | |
| Name | |
| Memory Usage (%) | |
| Queue Size | 目的地中尚未被消耗的消息数量(可能被发送但未被确认)。 |
| Average Message Size | 此目的地的平均消息大小。 |
| Blocked Sends | 流控制阻塞的消息数量。 |
| Average Blocked Time | 流控制消息被阻塞的平均时间(毫秒)。 |
| 主题技术详细信息 | |
| Producer | 向Active MQ实例发布消息的producer总数 |
| Consumer Count | 消耗producer发布的信息的consumer总数。 |
| In Flight Count | 发送到consumer会话并未收到确认消息的数量。 |
| Enqueue Count | 从上次重新启动以来发送到队列的消息总数。 |
| Dispatch Count | 发送给用户会话的消息总数(Dequeue + Inflight)。 |
| Dequeue Count | 从上次重新启动以来从队列中删除的消息总数(由consumer确认)。 |
| Expired Count | 由于过期而未传递的消息数量。 |
| 参数 | 描述 |
|---|---|
| 队列详细信息 | |
| Memory Usage | 未传达消息使用的内存,以字节为单位。 |
| Cursor Usage | 消息cursor内存使用情况,以字节为单位。 |
| Average Message Size | 此目的地的平均消息大小。 |
| Average Enqueue Time | 消息被保存在这个目的地的平均时间。 |
| Average Blocked Time | 流控制的消息被阻塞的平均时间(毫秒)。 |
| Cache Enabled | 指定是否启用缓存。 |
| Blocked Producer Warning Interval | 当producer被阻止向目标添加消息时发出告警之间的间隔。 |
| 队列计数详细信息 | |
| Enqueue Count | 从上次重新启动以来发送到队列的消息总数。 |
| Dispatch Count | 发送给用户会话的消息总数(Dequeue + Inflight)。 |
| Dequeue Count | 从上次重新启动以来从队列中删除的消息总数(由consumer确认)。 |
| Expired Count | 由于过期而未传递的消息数量。 |
| 参数 | 描述 |
|---|---|
| 订阅者详细信息 | |
| Designation Name | |
| Cursor Usage | 消息cursor内存使用情况,以字节为单位。 |
| Maximum Pending Messages | 允许的挂起消息的最大数量。 |
| Messages Awaiting Acknowledgement | 发送给客户端并等待确认的消息数量。 |
| Pending Queue Size | 待传递消息的数量。 |
| Enqueue Counter | 计算匹配订阅的消息数量。 |
| Dequeue Counter | 计算客户端发送和确认的消息数量。 |
| 参数 | 描述 |
|---|---|
| 配置详细信息 | |
| Broker Version | 代理的版本。 |
| Broker ID | 代理的唯一ID。 |
| Broker Name | 代理的姓名。 |
| Average Message Size | 此目的地的平均消息大小。 |
| Current Connection Count | |
| Job Scheduler Store Limit | 磁盘限制是用于在producer被阻塞之前的计划消息,以字节为单位。 |
| Job Scheduler Store | 使用的作业存储限制的百分比。 |
| Maximum Message Size | 此目的地上的最大消息大小。 |
| Memory Limit | 内存限制用于在分页到临时存储之前保存未发送的消息,以字节为单位。 |
| Minimum Message Size | 此目的地上的最小消息大小。 |
| Total Connection Count | 连接总数(producer和consumer都必须连接到ActiveMQ 实例以发布和消耗消息)。 |
| Total Consumer Count | 消耗producer发布信息的consumer总数 |
| Total DeQueue Count | 从上次重新启动以来从队列中删除的消息总数(由consumer确认)。 |
| Total Enqueue Count | 从上次重新启动以来发送到队列的消息总数。 |
| Total Message Count | 队列中的消息总数,包括enqueued和dequeued消息的数量。 |
| Total Producer Count | 向ActiveMQ 实例发布消息的producer总数 |
| Store Limit | 使用存储限制的百分比。 |
它允许我们跟踪关键指标,如响应时间、资源利用率、错误率和交易性能。实时监控告警会及时通知我们任何问题或异常,使我们能够立即采取行动。
审稿人角色:研究与开发

Lexmark技术支持经理