RabbitMQ 3.x.x版本支持的监控指标
功能说明
本章节定义了分布式消息服务RabbitMQ版上报云监控服务的监控指标的命名空间,监控指标列表和维度定义,用户可以通过云监控服务提供的管理控制台或API接口来检索RabbitMQ实例产生的监控指标和告警信息,也可以通过分布式消息服务RabbitMQ版控制台提供的“监控详情”页面来检索RabbitMQ实例产生的监控指标。
- 云监控服务最大支持4个层级维度,维度编号从0开始,编号3为最深层级。例如监控指标中的维度信息为“rabbitmq_instance_id,rabbitmq_node”时,表示对应的监控指标的维度存在层级关系,且“rabbitmq_instance_id”为0层,“rabbitmq_node”为1层。
- 根据Vhost名称的约束限制 ,如果Vhost名称中包含特殊字符,Vhost名称中的特殊字符在监控页面中会转换为“_”显示,例如Vhost1的名称为“1%”,Vhost2的名称为“1/”,两个Vhost在监控页面中都显示为“1_”,在监控页面Vhost名称相同的监控数据会重合。
命名空间
SYS.DMS
实例监控指标
| 指标ID | 指标名称 | 指标含义 | 取值范围 | 单位 | 进制 | 维度 | 监控周期(原始指标) |
|---|---|---|---|---|---|---|---|
| connections | 连接数 | 该指标用于统计RabbitMQ实例中的总连接数。 | >= 0 | Count | 不涉及 | rabbitmq_instance_id | 1分钟 |
| channels | 通道数 | 该指标用于统计RabbitMQ实例中的总通道数。 | 0~2047 | Count | 不涉及 | rabbitmq_instance_id | 1分钟 |
| queues | 队列数 | 该指标用于统计RabbitMQ实例中的总队列数。 | 0~7000 | Count | 不涉及 | rabbitmq_instance_id | 1分钟 |
| consumers | 消费者数 | 该指标用于统计RabbitMQ实例中的总消费者数。 | 0~280000 | Count | 不涉及 | rabbitmq_instance_id | 1分钟 |
| messages_ready | 可消费消息数 | 该指标用于统计RabbitMQ实例中总可消费消息数量。 | 0~10000000 | Count | 不涉及 | rabbitmq_instance_id | 1分钟 |
| messages_unacknowledged | 未确认消息数 | 该指标用于统计RabbitMQ实例中总已经消费但还未确认的消息数量。 | 0~10000000 | Count | 不涉及 | rabbitmq_instance_id | 1分钟 |
| publish | 生产速率 | 统计RabbitMQ实例中实时消息生产速率。 | 0~25000 | Count/s | 不涉及 | rabbitmq_instance_id | 1分钟 |
| deliver | 消费速率(手工确认) | 统计RabbitMQ实例中实时消息消费速率(手工确认)。 | 0~25000 | Count/s | 不涉及 | rabbitmq_instance_id | 1分钟 |
| deliver_no_ack | 消费速率(自动确认) | 统计RabbitMQ实例中实时消息消费速率(自动确认)。 | 0~50000 | Count/s | 不涉及 | rabbitmq_instance_id | 1分钟 |
| connections_states_running | 运行状态的连接个数 | 该指标用于统计整个实例中的connection,状态是starting/tuning/opening/running状态的总数。 2022年5月16号及以后购买的实例,支持此监控项。 | >= 0 | Count | 不涉及 | rabbitmq_instance_id | 1分钟 |
| connections_states_flow | flow状态的连接数 | 该指标用于统计整个实例中的connection,状态是flow状态的总数。 2022年5月16号及以后购买的实例,支持此监控项。 | >= 0 | Count | 不涉及 | rabbitmq_instance_id | 1分钟 |
| connections_states_block | block状态的连接数 | 该指标用于统计整个实例中的connection,状态是blocking/blocked状态的总数。 2022年5月16号及以后购买的实例,支持此监控项。 | >= 0 | Count | 不涉及 | rabbitmq_instance_id | 1分钟 |
| connections_states_close | close状态的连接数 | 该指标用于统计整个实例中的connection,状态是closing/closed状态的总数。 2022年5月16号及以后购买的实例,支持此监控项。 | >= 0 | Count | 不涉及 | rabbitmq_instance_id | 1分钟 |
| channels_states_running | 运行状态的通道数 | 该指标用于统计整个实例中的channel,状态是starting/tuning/opening/running状态的总数。 2022年5月16号及以后购买的实例,支持此监控项。 | >= 0 | Count | 不涉及 | rabbitmq_instance_id | 1分钟 |
| channels_states_flow | flow状态的通道数 | 该指标用于统计整个实例中的channel,状态是flow状态的总数。 2022年5月16号及以后购买的实例,支持此监控项。 | >= 0 | Count | 不涉及 | rabbitmq_instance_id | 1分钟 |
| channels_states_block | block状态的通道数 | 该指标用于统计整个实例中的channel,状态是blocking/blocked状态的总数。 2022年5月16号及以后购买的实例,支持此监控项。 | >= 0 | Count | 不涉及 | rabbitmq_instance_id | 1分钟 |
| channels_states_close | close状态的通道数 | 该指标用于统计整个实例中的channel,状态是closing/closed状态的总数。 2022年5月16号及以后购买的实例,支持此监控项。 | >= 0 | Count | 不涉及 | rabbitmq_instance_id | 1分钟 |
| queues_states_running | 运行状态的队列数 | 该指标用于统计整个实例中的queue,状态是running状态的总数。 2022年5月16号及以后购买的实例,支持此监控项。 | >= 0 | Count | 不涉及 | rabbitmq_instance_id | 1分钟 |
| queues_states_flow | flow状态的队列数 | 该指标用于统计整个实例中的queue,状态是flow状态的总数。 2022年5月16号及以后购买的实例,支持此监控项。 | >= 0 | Count | 不涉及 | rabbitmq_instance_id | 1分钟 |
| connections_states_full | 达到channel上限连接数 | 该指标用于统计实例中达到channel使用上限连接数量。 | 0~1000000 | Count | 不涉及 | rabbitmq_instance_id | 1分钟 |
节点监控指标
| 指标ID | 指标名称 | 指标含义 | 取值范围 | 单位 | 进制 | 维度 | 监控周期(原始指标) |
|---|---|---|---|---|---|---|---|
| fd_used | 文件句柄数 | 该指标用于统计当前节点RabbitMQ所占用的文件句柄数。 | 0~65535 | Count | 不涉及 | rabbitmq_instance_id,rabbitmq_node | 1分钟 |
| socket_used | Socket连接数 | 该指标用于统计当前节点RabbitMQ所使用的Socket连接数。 | 0~50000 | Count | 不涉及 | rabbitmq_instance_id,rabbitmq_node | 1分钟 |
| proc_used | Erlang进程数 | 该指标用于统计当前节点RabbitMQ所使用的Erlang进程数。 | 0~1048576 | Count | 不涉及 | rabbitmq_instance_id,rabbitmq_node | 1分钟 |
| mem_used | 内存占用 | 该指标用于统计当前节点RabbitMQ内存占用。 | 0~32000000000 | Byte | 1024(IEC) | rabbitmq_instance_id,rabbitmq_node | 1分钟 |
| disk_free | 可用存储空间 | 该指标用于统计当前节点可使用的存储空间。 | 0~500000000000 | Byte | 1024(IEC) | rabbitmq_instance_id,rabbitmq_node | 1分钟 |
| rabbitmq_alive | 节点存活状态 | 表示RabbitMQ节点是否存活。 2020年4月及以后购买的实例,支持此监控项。 | 1:存活 0:离线 | 不涉及 | 不涉及 | rabbitmq_instance_id,rabbitmq_node | 1分钟 |
| rabbitmq_disk_usage | 磁盘容量使用率 | 统计RabbitMQ节点虚拟机的磁盘容量使用率。 2020年4月及以后购买的实例,支持此监控项。 | 0~100 | % | 不涉及 | rabbitmq_instance_id,rabbitmq_node | 1分钟 |
| rabbitmq_cpu_usage | CPU使用率 | 统计RabbitMQ节点虚拟机的CPU使用率。 2020年4月及以后购买的实例,支持此监控项。 | 0~100 | % | 不涉及 | rabbitmq_instance_id,rabbitmq_node | 1分钟 |
| rabbitmq_cpu_core_load | CPU核均负载 | 统计RabbitMQ节点虚拟机CPU每个核的平均负载。 2020年4月及以后购买的实例,支持此监控项。 | >0 | 不涉及 | 不涉及 | rabbitmq_instance_id,rabbitmq_node | 1分钟 |
| rabbitmq_memory_usage | 内存使用率 | 统计RabbitMQ节点虚拟机的内存使用率。
2020年4月及以后购买的实例,支持此监控项。 | 0~100 | % | 不涉及 | rabbitmq_instance_id,rabbitmq_node | 1分钟 |
| rabbitmq_disk_read_await | 磁盘平均读操作耗时 | 该指标用于统计磁盘在测量周期内平均每个读IO的操作时长。 2020年6月及以后购买的实例,支持此监控项。 | >0 | ms | 不涉及 | rabbitmq_instance_id,rabbitmq_node | 1分钟 |
| rabbitmq_disk_write_await | 磁盘平均写操作耗时 | 该指标用于统计磁盘在测量周期内平均每个写IO的操作时长。 2020年6月及以后购买的实例,支持此监控项。 | >0 | ms | 不涉及 | rabbitmq_instance_id,rabbitmq_node | 1分钟 |
| rabbitmq_node_bytes_in_rate | 网络入流量 | 统计RabbitMQ节点每秒网络访问流入流量。 2020年6月及以后购买的实例,支持此监控项。 | >0 | Byte/s | 1024(IEC) | rabbitmq_instance_id,rabbitmq_node | 1分钟 |
| rabbitmq_node_bytes_out_rate | 网络出流量 | 统计RabbitMQ节点每秒网络访问流出流量。 2020年6月及以后购买的实例,支持此监控项。 | >0 | Byte/s | 1024(IEC) | rabbitmq_instance_id,rabbitmq_node | 1分钟 |
| rabbitmq_node_queues | 节点队列数 | 该指标用于统计RabbitMQ节点队列个数。 2020年6月及以后购买的实例,支持此监控项。 | >0 | Count | 不涉及 | rabbitmq_instance_id,rabbitmq_node | 1分钟 |
| rabbitmq_memory_high_watermark | 内存高水位状态 | 表示RabbitMQ节点是否触发内存高水位,如果触发,会阻塞集群的所有生产者。 2020年6月及以后购买的实例,支持此监控项。 | 1:触发 0:没有触发 | 不涉及 | 不涉及 | rabbitmq_instance_id,rabbitmq_node | 1分钟 |
| rabbitmq_disk_insufficient | 磁盘高水位状态 | 表示RabbitMQ节点是否触发磁盘高水位,如果触发,会阻塞集群的所有生产者。 2020年6月及以后购买的实例,支持此监控项。 | 1:触发 0:没有触发 | 不涉及 | 不涉及 | rabbitmq_instance_id,rabbitmq_node | 1分钟 |
| rabbitmq_disk_read_rate | 磁盘读流量 | 统计节点磁盘每秒的读字节大小。 2022年5月16号及以后购买的实例,支持此监控项。 | >= 0 | Byte/s | 1024(IEC) | rabbitmq_instance_id,rabbitmq_node | 1分钟 |
| rabbitmq_disk_write_rate | 磁盘写流量 | 统计节点磁盘每秒的写字节大小。 2022年5月16号及以后购买的实例,支持此监控项。 | >= 0 | Byte/s | 1024(IEC) | rabbitmq_instance_id,rabbitmq_node | 1分钟 |
| connections_usage | 连接数使用率 | 当前节点实际连接数占最大连接数比率。 2024年2月18号及以后购买的实例,支持此监控项。 | >=0 | % | 不涉及 | rabbitmq_instance_id,rabbitmq_node | 1分钟 |
队列监控指标
| 指标ID | 指标名称 | 指标含义 | 取值范围 | 单位 | 进制 | 维度 | 监控周期(原始指标) |
|---|---|---|---|---|---|---|---|
| queue_messages_unacknowledged | 队列未确认消息数 | 该指标用于统计队列中已消费未确认消息数。 | 0~10000000 | Count | 不涉及 | rabbitmq_instance_id,rabbitmq_queue | 1分钟 |
| queue_messages_ready | 队列可消费消息数 | 该指标用于统计队列中可消费的消息数。 | 0~10000000 | Count | 不涉及 | rabbitmq_instance_id,rabbitmq_queue | 1分钟 |
| queue_consumers | 消费者数量 | 该指标用于统计订阅该队列的消费者个数。 2022年5月16号及以后购买的实例,支持此监控项。 | >= 0 | Count | 不涉及 | rabbitmq_instance_id,rabbitmq_queue | 1分钟 |
| queue_messages_publish_rate | 生产速率 | 该指标用于统计每秒该队列的消息流入数。 2022年5月16号及以后购买的实例,支持此监控项。 | >= 0 | Count/s | 不涉及 | rabbitmq_instance_id,rabbitmq_queue | 1分钟 |
| queue_messages_ack_rate | 消费速率(手工确认) | 该指标用于统计该队列每秒传递给客户端并确认的消息数。 2022年5月16号及以后购买的实例,支持此监控项。 | >= 0 | Count/s | 不涉及 | rabbitmq_instance_id,rabbitmq_queue | 1分钟 |
| queue_messages_deliver_get_rate | 消费速率 | 该指标用于统计该队列每秒的消息流出数。 2022年5月16号及以后购买的实例,支持此监控项。 | >= 0 | Count/s | 不涉及 | rabbitmq_instance_id,rabbitmq_queue | 1分钟 |
| queue_messages_redeliver_rate | 重传速率 | 该指标用于统计该队列每秒的重传消息数。 2022年5月16号及以后购买的实例,支持此监控项。 | >= 0 | Count/s | 不涉及 | rabbitmq_instance_id,rabbitmq_queue | 1分钟 |
| queue_messages_persistent | 消息总数(持久化) | 该指标用来统计该队列中持久消息的总数(对于瞬时队列始终为0)。 2022年5月16号及以后购买的实例,支持此监控项。 | >= 0 | Count | 不涉及 | rabbitmq_instance_id,rabbitmq_queue | 1分钟 |
| queue_messages_ram | 消息总数(内存) | 该指标用于统计该队列中驻留在内存中的消息总数。 2022年5月16号及以后购买的实例,支持此监控项。 | >= 0 | Count | 不涉及 | rabbitmq_instance_id,rabbitmq_queue | 1分钟 |
| queue_memory | Erlang进程消耗字节数 | 该指标用于统计与队列关联的Erlang进程消耗的内存字节数,包括堆栈、堆和内部结构。 2022年5月16号及以后购买的实例,支持此监控项。 | >= 0 | Byte | 1024(IEC) | rabbitmq_instance_id,rabbitmq_queue | 1分钟 |
| queue_message_bytes | 消息大小总和 | 该指标用于统计该队列中所有消息的大小总和(字节)。 2022年5月16号及以后购买的实例,支持此监控项。 | >= 0 | Byte | 1024(IEC) | rabbitmq_instance_id,rabbitmq_queue | 1分钟 |
对于有多层测量维度的测量对象,使用接口查询监控指标时,需要代入具体指标的维度层级关系。
例如,需要查询RabbitMQ节点的磁盘容量使用率(rabbitmq_disk_usage),该指标的维度信息为“rabbitmq_instance_id,rabbitmq_node”,表示rabbitmq_instance_id为0层,rabbitmq_node为1层。
- 通过API查询单个监控指标时,rabbitmq_node的维度信息代入样例如下:
dim.0=rabbitmq_instance_id,0186688d-fxxx-497bfdda6c8e&dim.1=rabbitmq_node,dms-vm-0186688d-rabbitmq-0
其中,0186688d-fxxx-497bfdda6c8e和dms-vm-0186688d-rabbitmq-0分别为rabbitmq_instance_id和rabbitmq_node的维度值,具体获取方法请参见维度表格中的获取指导。
- 通过API批量查询监控指标时,rabbitmq_node的维度信息代入样例如下:
"dimensions": [ { "name": "rabbitmq_instance_id", "value": "0186688d-fxxx-497bfdda6c8e" }, { "name": "rabbitmq_node", "value": "dms-vm-0186688d-rabbitmq-0" } ]其中,0186688d-fxxx-497bfdda6c8e和dms-vm-0186688d-rabbitmq-0分别为rabbitmq_instance_id和rabbitmq_node的维度值,具体获取方法请参见维度表格中的获取指导。
维度
| Key | Value |
|---|---|
| rabbitmq_instance_id | RabbitMQ实例ID,例如:0186688d-fxxx-497bfdda6c8e。 该取值的获取方式为:调用查询所有实例列表,从接口返回的响应参数中提取。 |
| rabbitmq_node | RabbitMQ实例节点,例如:dms-vm-0186688d-rabbitmq-0。 该取值的获取方式为:调用查询实例在CES的监控层级关系API,从接口返回的响应参数中提取。 |
| rabbitmq_queue | RabbitMQ实例Queue名称,例如:Queue-01。 该取值的获取方式为:调用查询实例在CES的监控层级关系API,从接口返回的响应参数中提取。 |