第 5 章 监控代理运行时指标


安装 AMQ Broker 时,安装中包含了一个 Prometheus metrics 插件。Prometheus 是为监控大型、可扩展的系统而构建的软件,并在较长时间内存储历史运行时数据。您必须修改代理配置以启用插件。启用后,插件会为代理收集运行时指标,并将其导出为 Prometheus 格式。然后,您可以使用 Prometheus 查看指标。您还可以使用图形化工具(如 Grafana)来配置数据的更多高级视觉化。

注意

Prometheus metrics 插件允许您以 Prometheus 格式 收集和导出代理指标。但是,红帽不提供对 Prometheus 本身的安装或配置的支持,也不支持 Grafana 等视觉化工具。如果您需要对安装、配置或运行 Prometheus 或 Grafana 的支持,请访问社区支持和文档等资源的 Web 站点。

除了 Prometheus 插件收集的代理指标外,您还可以修改代理配置,以捕获与代理主机 Java 虚拟机(JVM)相关的标准指标集合。特别是,您可以捕获 Garbage Collection (GC)、内存和线程的 JVM 指标。

以下章节描述如下:

5.1. 指标概述

要监控代理实例的健康状态和性能,您可以使用 AMQ Broker 的 Prometheus 插件来监控和存储代理运行时指标。AMQ Broker Prometheus 插件将代理运行时指标导出到 Prometheus 格式,可让您使用 Prometheus 本身来视觉化并在数据上运行查询。

您还可以使用图形工具(如 Grafana)为 Prometheus 插件收集的指标配置更高级的视觉化和仪表板。

插件导出到 Prometheus 格式的指标如下所述。

代理指标

artemis_address_memory_usage
此代理中的所有地址使用的字节数用于内存中消息。
artemis_address_memory_usage_percentage
此代理上的所有地址使用的内存作为 global-max-size 参数的百分比。
artemis_connection_count
连接到此代理的客户端数量。
artemis_session_count
此代理上的会话数量。
artemis_total_session_count
此代理上创建的会话总数(自此代理启动)。
artemis_total_connection_count
自此代理启动以来已连接到此代理的客户端数量。
artemis_disk_store_usage
使用的总磁盘存储部分。
artemis_replica_sync
是主代理和备份代理之间的初始复制同步过程。
artemis_active
是在 primary-backup 组配置中活跃的代理。
artemis_authentication_count
成功和失败的身份验证尝试次数。
artemis_authorization_count
成功和失败的授权尝试次数。

地址指标

artemis_routed_message_count
路由到一个或多个队列绑定的消息数。
artemis_unrouted_message_count
没有路由到任何队列绑定的消息数。
artemis_address_size
绑定到这个地址的所有队列所使用的大小,以字节为单位。
artemis_number_of_pages
用于存储此地址消息的页面文件数。
artemis_limit_percent
此地址使用的内存限值的百分比。如果使用 max-size-bytes 属性为地址设置了内存限制,则报告的百分比基于该值。如果没有设置 max-size-bytes 属性,则报告的百分比基于 global-max-size 属性的值。如果没有设置属性,则会报告值 0。

队列指标

artemis_consumer_count
消耗来自给定队列的消息的客户端数量。
artemis_delivering_durable_message_count
给定队列当前提供给消费者的持久消息数。
artemis_delivering_durable_persistent_size
给定队列当前提供给消费者的持久化消息的持久大小。
artemis_delivering_message_count
指定队列当前提供给消费者的消息数。
artemis_delivering_persistent_size
给定队列当前提供给消费者的消息的持久大小。
artemis_durable_message_count
当前位于给定队列中的持久消息数。这包括已调度、分页和发送的消息。
artemis_durable_persistent_size
当前在给定队列中的持久大小。这包括已调度、分页和发送的消息。
artemis_messages_acknowledged
自队列创建以来,确认自给定队列确认的消息数。
artemis_messages_added
自队列创建以来,添加到给定队列中的消息数量。
artemis_message_count
当前在给定队列中的消息数。这包括已调度、分页和发送的消息。
artemis_messages_killed
自队列创建以来,从给定队列中删除的消息数。当消息超过配置的最大发送尝试次数时,代理会终止一条消息。
artemis_messages_expired
自队列创建以来,从给定队列过期的消息数。
artemis_persistent_size
当前在给定队列中所有消息的持久大小(持久和非持久化)。这包括已调度、分页和发送的消息。
artemis_scheduled_durable_message_count
给定队列中的持久调度消息数。
artemis_scheduled_durable_persistent_size
持久化的、给定队列中调度的消息。
artemis_scheduled_message_count
给定队列中的调度消息数。
artemis_scheduled_persistent_size
在给定队列中调度的消息的持久性大小。

对于上面未列出的高级别代理指标,您可以通过聚合较低级别的指标来计算这些指标。例如,要计算总消息计数,您可以聚合代理部署中的所有队列的 artemis_message_count 指标。

对于 RHEL 上的 AMQ Broker 的独立部署,托管代理的 Java 虚拟机(JVM)的指标也会导出到 Prometheus 格式。这不适用于在 OpenShift Container Platform 上部署 AMQ Broker。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat