第 4 章 监控代理运行时指标
安装 AMQ Broker 时,您的安装中会包括 Prometheus metrics 插件。Prometheus 是为监控大型、可扩展的系统而构建的软件,并在延长的时间内存储历史运行时数据。您必须修改代理配置以启用插件。启用后,插件会为代理收集运行时指标,并将这些指标导出到 Prometheus 格式。然后,您可以使用 Prometheus 查看指标。您还可以使用图形工具(如 Grafana)配置更多高级视觉化数据。
Prometheus 指标插件可让您以 Prometheus 格式 收集和导出代理指标。但是,红帽不支持 安装或配置 Prometheus 本身,也无法支持 Grafana 等视觉化工具。如果您需要安装、配置或运行 Prometheus 或 Grafana 的支持,请访问社区支持和文档等资源的产品网站。
除了 Prometheus 插件收集的代理指标外,您还可以修改代理配置,以捕获与主机 Java 虚拟机(JVM)相关的标准指标集合。特别是,您可以捕获 Garbage Collection(GC)、内存和线程的 JVM 指标。
后续部分描述:
4.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_total_connection_count
- 自从此代理启动以来,已连接到此代理的客户端数量。
地址指标
artemis_routed_message_count
- 路由到一个或多个队列绑定的消息数量。
artemis_unrouted_message_count
- 不 路由到任何队列绑定的消息数量。
队列指标
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
- 当前给定队列中的持久消息数量。这包括调度的、paged 和 in-delivery 消息。
artemis_durable_persistent_size
- 当前给定队列中的持久消息大小。这包括调度的、paged 和 in-delivery 消息。
artemis_messages_acknowledged
- 在创建队列后,从给定队列中确认的消息数量。
artemis_messages_added
- 在创建队列后,添加到给定队列中的消息数量。
artemis_message_count
- 当前在给定队列中的消息数量。这包括调度的、paged 和 in-delivery 消息。
artemis_messages_killed
- 在创建队列后,从给定队列中删除的消息数量。当消息超过配置的发送尝试数时,代理会终止一条消息。
artemis_messages_expired
- 自该队列创建以来,从给定队列中过期的消息数量。
artemis_persistent_size
- 当前给定队列中的所有消息(持久和不可中断)的持久性大小。这包括调度的、paged 和 in-delivery 消息。
artemis_scheduled_durable_message_count
- 给定队列中已调度的消息数量。
artemis_scheduled_durable_persistent_size
- 在给定队列中具有持久性的持久性、可调度的消息的大小。
artemis_scheduled_message_count
- 给定队列中调度的消息数量。
artemis_scheduled_persistent_size
- 在给定队列中调度的消息具有持久性大小。
对于以上未列出的高级代理指标,您可以通过聚合较低级别的指标来计算这些指标。例如,若要计算总消息数,您可以聚合来自代理部署中所有队列的 artemis_message_count
指标。
对于 AMQ Broker 的内部部署,托管代理的 Java 虚拟机(JVM)的指标也会导出到 Prometheus 格式。这不适用于在 OpenShift Container Platform 上部署 AMQ Broker。