功能说明
本章节定义了分布式消息服务RabbitMQ上报云监控服务的监控指标的命名空间,监控指标列表和维度定义,用户可以通过云监控服务提供的管理控制台来检索DMS服务产生的监控指标和告警信息,也可以通过分布式消息服务RabbitMQ控制台提供的“监控”页面来检索RabbitMQ实例产生的监控指标。
命名空间
SYS.DMS
实例监控指标
表1 实例支持的监控指标
指标ID | 指标名称 | 指标含义 | 取值范围 | 测量对象 | 监控周期(原始指标) |
---|---|---|---|---|---|
connections | 连接数 | 该指标用于统计RabbitMQ实例中的总连接数。单位:Count | >= 0 | RabbitMQ实例 | 1分钟 |
channels | 通道数 | 该指标用于统计RabbitMQ实例中的总通道数。单位:Count | 0~2047 | RabbitMQ实例 | 1分钟 |
queues | 队列数 | 该指标用于统计RabbitMQ实例中的总队列数。单位:Count | 0~1200 | RabbitMQ实例 | 1分钟 |
consumers | 消费者数 | 该指标用于统计RabbitMQ实例中的总消费者数。单位:Count | 0~1200 | RabbitMQ实例 | 1分钟 |
messages_ready | 可消费消息数 | 该指标用于统计RabbitMQ实例中总可消费消息数量。单位:Count | 0~10000000 | RabbitMQ实例 | 1分钟 |
messages_unacknowledged | 未确认消息数 | 该指标用于统计RabbitMQ实例中总已经消费但还未确认的消息数量。单位:Count | 0~10000000 | RabbitMQ实例 | 1分钟 |
publish | 生产速率 | 统计RabbitMQ实例中实时消息生产速率。单位:Count/s | 0~25000 | RabbitMQ实例 | 1分钟 |
deliver | 消费速率(手工确认) | 统计RabbitMQ实例中实时消息消费速率(手工确认)。单位:Count/s | 0~25000 | RabbitMQ实例 | 1分钟 |
deliver_no_ack | 消费速率(自动确认) | 统计RabbitMQ实例中实时消息消费速率(自动确认)。单位:Count/s | 0~50000 | RabbitMQ实例 | 1分钟 |
connections_states_running | 运行状态的连接个数 | 该指标用于统计整个实例中的connection,状态是starting/tuning/opening/running状态的总数。单位:Count | >= 0 | RabbitMQ实例 | 1分钟 |
connections_states_flow | flow状态的连接数 | 该指标用于统计整个实例中的connection,状态是flow状态的总数。单位:Count | >= 0 | RabbitMQ实例 | 1分钟 |
connections_states_block | block状态的连接数 | 该指标用于统计整个实例中的connection,状态是blocking/blocked状态的总数。单位:Count | >= 0 | RabbitMQ实例 | 1分钟 |
connections_states_close | close状态的连接数 | 该指标用于统计整个实例中的connection,状态是closing/closed状态的总数。单位:Count | >= 0 | RabbitMQ实例 | 1分钟 |
channels_states_running | 运行状态的通道数 | 该指标用于统计整个实例中的channel,状态是starting/tuning/opening/running状态的总数。单位:Count | >= 0 | RabbitMQ实例 | 1分钟 |
channels_states_flow | flow状态的通道数 | 该指标用于统计整个实例中的channel,状态是flow状态的总数。单位:Count | >= 0 | RabbitMQ实例 | 1分钟 |
channels_states_block | block状态的通道数 | 该指标用于统计整个实例中的channel,状态是blocking/blocked状态的总数。单位:Count | >= 0 | RabbitMQ实例 | 1分钟 |
channels_states_close | close状态的通道数 | 该指标用于统计整个实例中的channel,状态是closing/closed状态的总数。单位:Count | >= 0 | RabbitMQ实例 | 1分钟 |
queues_states_running | 运行状态的队列数 | 该指标用于统计整个实例中的queue,状态是running状态的总数。单位:Count | >= 0 | RabbitMQ实例 | 1分钟 |
queues_states_flow | flow状态的队列数 | 该指标用于统计整个实例中的queue,状态是flow状态的总数。单位:Count | >= 0 | RabbitMQ实例 | 1分钟 |
节点监控指标
表2 节点支持的监控指标
指标ID | 指标名称 | 指标含义 | 取值范围 | 测量对象 | 监控周期(原始指标) |
---|---|---|---|---|---|
fd_used | 文件句柄数 | 该指标用于统计当前节点RabbitMQ所占用的文件句柄数。单位:Count | 0~65535 | RabbitMQ实例节点 | 1分钟 |
socket_used | Socket连接数 | 该指标用于统计当前节点RabbitMQ所使用的Socket连接数。单位:Count | 0~50000 | RabbitMQ实例节点 | 1分钟 |
proc_used | Erlang进程数 | 该指标用于统计当前节点RabbitMQ所使用的Erlang进程数。单位:Count | 0~1048576 | RabbitMQ实例节点 | 1分钟 |
mem_used | 内存占用 | 该指标用于统计当前节点RabbitMQ内存占用。单位:Byte | 0~32000000000 | RabbitMQ实例节点 | 1分钟 |
disk_free | 可用存储空间 | 该指标用于统计当前节点可使用的存储空间。单位:Byte | 0~500000000000 | RabbitMQ实例节点 | 1分钟 |
rabbitmq_alive | 节点存活状态 | 表示Rabbitmq节点是否存活。 | 1:存活 0:离线 |
RabbitMQ实例节点 | 1分钟 |
rabbitmq_disk_usage | 磁盘容量使用率 | 统计Rabbitmq节点虚拟机的磁盘容量使用率。单位:% | 0~100% | RabbitMQ实例节点 | 1分钟 |
rabbitmq_cpu_usage | CPU使用率 | 统计Rabbitmq节点虚拟机的CPU使用率。单位:% | 0~100% | RabbitMQ实例节点 | 1分钟 |
rabbitmq_cpu_core_load | CPU核均负载 | 统计Rabbitmq节点虚拟机CPU每个核的平均负载。 | >0 | RabbitMQ实例节点 | 1分钟 |
rabbitmq_memory_usage | 内存使用率 | 统计Rabbitmq节点虚拟机的内存使用率。单位:% | 0~100% | RabbitMQ实例节点 | 1分钟 |
rabbitmq_disk_read_await | 磁盘平均读操作耗时 | 该指标用于统计磁盘在测量周期内平均每个读IO的操作时长。单位:ms | >0 | RabbitMQ实例节点 | 1分钟 |
rabbitmq_disk_write_await | 磁盘平均写操作耗时 | 该指标用于统计磁盘在测量周期内平均每个写IO的操作时长。单位:ms | >0 | RabbitMQ实例节点 | 1分钟 |
rabbitmq_node_bytes_in_rate | 网络入流量 | 统计Rabbitmq节点每秒网络访问流入流量。单位:Byte/s | >0 | RabbitMQ实例节点 | 1分钟 |
rabbitmq_node_bytes_out_rate | 网络出流量 | 统计Rabbitmq节点每秒网络访问流出流量。单位:Byte/s | >0 | RabbitMQ实例节点 | 1分钟 |
rabbitmq_node_queues | 节点队列数 | 该指标用于统计Rabbitmq节点队列个数。单位:个 | >0 | RabbitMQ实例节点 | 1分钟 |
rabbitmq_memory_high_watermark | 内存高水位状态 | 表示Rabbitmq节点是否触发内存高水位,如果触发,会阻塞集群的所有生产者。 | 1:触发 0:没有触发 |
RabbitMQ实例节点 | 1分钟 |
rabbitmq_disk_insufficient | 磁盘高水位状态 | 表示Rabbitmq节点是否触发磁盘高水位,如果触发,会阻塞集群的所有生产者。 | 1:触发 0:没有触发 |
RabbitMQ实例节点 | 1分钟 |
rabbitmq_disk_read_rate | 磁盘读流量 | 统计节点磁盘每秒的读字节大小。单位:KB/s | >= 0 | RabbitMQ实例节点 | 1分钟 |
rabbitmq_disk_write_rate | 磁盘写流量 | 统计节点磁盘每秒的写字节大小。单位:KB/s | >= 0 | RabbitMQ实例节点 | 1分钟 |
队列监控指标
表3 队列支持的监控指标
指标ID | 指标名称 | 指标含义 | 取值范围 | 测量对象 | 监控周期(原始指标) |
---|---|---|---|---|---|
queue_messages_unacknowledged | 队列未确认消息数 | 该指标用于统计队列中已消费未确认消息数。单位:Count | 0~10000000 | RabbitMQ实例队列 | 1分钟 |
queue_messages_ready | 队列可消费消息数 | 该指标用于统计队列中可消费的消息数。单位:Count | 0~10000000 | RabbitMQ实例队列 | 1分钟 |
queue_consumers | 消费者数量 | 该指标用于统计订阅该队列的消费者个数。单位:Count | >= 0 | RabbitMQ实例队列 | 1分钟 |
queue_messages_publish_rate | 生产速率 | 该指标用于统计每秒该队列的消息流入数。单位:Count/s | >= 0 | RabbitMQ实例队列 | 1分钟 |
queue_messages_ack_rate | 消费速率(手工确认) | 该指标用于统计该队列每秒传递给客户端并确认的消息数。单位:Count/s | >= 0 | RabbitMQ实例队列 | 1分钟 |
queue_messages_deliver_get_rate | 消费速率 | 该指标用于统计该队列每秒的消息流出数。单位:Count/s | >= 0 | RabbitMQ实例队列 | 1分钟 |
queue_messages_redeliver_rate | 重传速率 | 该指标用于统计该队列每秒的重传消息数。单位:Count/s | >= 0 | RabbitMQ实例队列 | 1分钟 |
queue_messages_persistent | 消息总数(持久化) | 该指标用来统计该队列中持久消息的总数(对于瞬时队列始终为0)。单位:Count | >= 0 | RabbitMQ实例队列 | 1分钟 |
queue_messages_ram | 消息总数(内存) | 该指标用于统计该队列中驻留在内存中的消息总数。单位:Count | >= 0 | RabbitMQ实例队列 | 1分钟 |
queue_memory | Erlang进程消耗字节数 | 该指标用于统计与队列关联的Erlang进程消耗的内存字节数,包括堆栈、堆和内部结构。单位:Byte | >= 0 | RabbitMQ实例队列 | 1分钟 |
queue_message_bytes | 消息大小总和 | 该指标用于统计该队列中所有消息的大小总和(字节)。单位:Byte | >= 0 | RabbitMQ实例队列 | 1分钟 |
维度
表4 监控的维度
Key | Value |
---|---|
rabbitmq_instance_id | RabbitMQ实例 |
rabbitmq_node | RabbitMQ实例节点 |
rabbitmq_queue | RabbitMQ实例队列 |