第 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。