Huawei Cloud DMS RabbitMQ
Collect Huawei Cloud DMS RabbitMQ Metrics
Configuration¶
Install Func¶
It is recommended to enable TrueWatch Integration - Extensions - DataFlux Func (Automata): All prerequisites are automatically installed. Please proceed with the script installation.
If deploying Func manually, refer to Manual Func Deployment
Install Script¶
Note: Please prepare the Huawei Cloud AK with the required permissions in advance (for simplicity, you can grant the global read-only permission
ReadOnlyAccess
).
-
Log in to the Func console, click 【Script Market】, enter the TrueWatch Script Market, and search for
ID: integration_huaweicloud_rabbitmq
-
Click 【Install】, then enter the corresponding parameters: Huawei Cloud AK, SK, and account name.
-
Click 【Deploy Startup Script】, the system will automatically create the
Startup
script set and configure the corresponding startup scripts. -
After enabling, you can see the corresponding automatic trigger configuration in 「Manage / Automatic Trigger Configuration」. Click 【Execute】 to immediately execute it once without waiting for the scheduled time. Wait a moment, and you can view the execution task records and corresponding logs.
Verification¶
- In 「Manage / Automatic Trigger Configuration」, confirm whether the corresponding task has the automatic trigger configuration, and check the task records and logs for any exceptions.
- In TrueWatch, 「Infrastructure - Resource Catalog」, check if the asset information exists.
- In TrueWatch, 「Metrics」, check if the corresponding monitoring data is available.
Metrics¶
Configure Huawei Cloud DMS RabbitMQ Metrics. You can collect more metrics by configuration Huawei Cloud DMS RabbitMQ Metrics Details
Metric ID | Metric Name | Metric Description | Value Range | Measurement Object | Monitoring Period (Raw Metric) |
---|---|---|---|---|---|
connections |
Connections | This metric is used to count the total number of connections in the RabbitMQ instance. Unit: Count | >= 0 | RabbitMQ instance | 1 minute |
channels |
Channels | This metric is used to count the total number of channels in the RabbitMQ instance. Unit: Count | 0~2047 | RabbitMQ instance | 1 minute |
queues |
Queues | This metric is used to count the total number of queues in the RabbitMQ instance. Unit: Count | 0~1200 | RabbitMQ instance | 1 minute |
consumers |
Consumers | This metric is used to count the total number of consumers in the RabbitMQ instance. Unit: Count | 0~1200 | RabbitMQ instance | 1 minute |
messages_ready |
Ready Messages | This metric is used to count the total number of ready messages in the RabbitMQ instance. Unit: Count | 0~10000000 | RabbitMQ instance | 1 minute |
messages_unacknowledged |
Unacknowledged Messages | This metric is used to count the total number of messages that have been consumed but not acknowledged in the RabbitMQ instance. Unit: Count | 0~10000000 | RabbitMQ instance | 1 minute |
publish |
Publish Rate | Counts the real-time message publish rate in the RabbitMQ instance. Unit: Count/s | 0~25000 | RabbitMQ instance | 1 minute |
deliver |
Deliver Rate (Manual Ack) | Counts the real-time message deliver rate (manual acknowledgment) in the RabbitMQ instance. Unit: Count/s | 0~25000 | RabbitMQ instance | 1 minute |
deliver_no_ack |
Deliver Rate (Auto Ack) | Counts the real-time message deliver rate (auto acknowledgment) in the RabbitMQ instance. Unit: Count/s | 0~50000 | RabbitMQ instance | 1 minute |
connections_states_running |
Running Connections | This metric is used to count the total number of connections in the instance with the state of starting/tuning/opening/running. Unit: CountNote: Instances purchased on or after May 16, 2022 support this monitoring item. | >= 0 | RabbitMQ instance | 1 minute |
connections_states_flow |
Flow Connections | This metric is used to count the total number of connections in the instance with the state of flow. Unit: Count Note: Instances purchased on or after May 16, 2022 support this monitoring item. | >= 0 | RabbitMQ instance | 1 minute |
connections_states_block |
Block Connections | This metric is used to count the total number of connections in the instance with the state of blocking/blocked. Unit: Count Note: Instances purchased on or after May 16, 2022 support this monitoring item. | >= 0 | RabbitMQ instance | 1 minute |
connections_states_close |
Close Connections | This metric is used to count the total number of connections in the instance with the state of closing/closed. Unit: Count Note: Instances purchased on or after May 16, 2022 support this monitoring item. | >= 0 | RabbitMQ instance | 1 minute |
channels_states_running |
Running Channels | This metric is used to count the total number of channels in the instance with the state of starting/tuning/opening/running. Unit: Count Note: Instances purchased on or after May 16, 2022 support this monitoring item. | >= 0 | RabbitMQ instance | 1 minute |
channels_states_flow |
Flow Channels | This metric is used to count the total number of channels in the instance with the state of flow. Unit: Count Note: Instances purchased on or after May 16, 2022 support this monitoring item. | >= 0 | RabbitMQ instance | 1 minute |
channels_states_block |
Block Channels | This metric is used to count the total number of channels in the instance with the state of blocking/blocked. Unit: Count Note: Instances purchased on or after May 16, 2022 support this monitoring item. | >= 0 | RabbitMQ instance | 1 minute |
channels_states_close |
Close Channels | This metric is used to count the total number of channels in the instance with the state of closing/closed. Unit: Count Note: Instances purchased on or after May 16, 2022 support this monitoring item. | >= 0 | RabbitMQ instance | 1 minute |
queues_states_running |
Running Queues | This metric is used to count the total number of queues in the instance with the state of running. Unit: Count Note: Instances purchased on or after May 16, 2022 support this monitoring item. | >= 0 | RabbitMQ instance | 1 minute |
queues_states_flow |
Flow Queues | This metric is used to count the total number of queues in the instance with the state of flow. Unit: Count Note: Instances purchased on or after May 16, 2022 support this monitoring item. | >= 0 | RabbitMQ instance | 1 minute |
fd_used |
File Descriptors | This metric is used to count the number of file descriptors used by the current node's RabbitMQ. Unit: Count | 0~65535 | RabbitMQ instance node | 1 minute |
socket_used |
Socket Connections | This metric is used to count the number of socket connections used by the current node's RabbitMQ. Unit: Count | 0~50000 | RabbitMQ instance node | 1 minute |
proc_used |
Erlang Processes | This metric is used to count the number of Erlang processes used by the current node's RabbitMQ. Unit: Count | 0~1048576 | RabbitMQ instance node | 1 minute |
mem_used |
Memory Usage | This metric is used to count the memory usage of the current node's RabbitMQ. Unit: Byte | 0~32000000000 | RabbitMQ instance node | 1 minute |
disk_free |
Free Disk Space | This metric is used to count the free disk space available on the current node. Unit: Byte | 0~500000000000 | RabbitMQ instance node | 1 minute |
rabbitmq_alive |
Node Alive Status | Indicates whether the RabbitMQ node is alive. Note: Instances purchased on or after April 2020 support this monitoring item. | 1: Alive 0: Offline | RabbitMQ instance node | 1 minute |
rabbitmq_disk_usage |
Disk Usage Rate | Counts the disk usage rate of the RabbitMQ node's virtual machine. Unit: % Note: Instances purchased on or after April 2020 support this monitoring item. | 0~100% | RabbitMQ instance node | 1 minute |
rabbitmq_cpu_usage |
CPU Usage Rate | Counts the CPU usage rate of the RabbitMQ node's virtual machine. Unit: % Note: Instances purchased on or after April 2020 support this monitoring item. | 0~100% | RabbitMQ instance node | 1 minute |
rabbitmq_cpu_core_load |
CPU Core Load | Counts the average load per CPU core of the RabbitMQ node's virtual machine. Note: Instances purchased on or after April 2020 support this monitoring item. | >0 | RabbitMQ instance node | 1 minute |
rabbitmq_memory_usage |
Memory Usage Rate | Counts the memory usage rate of the RabbitMQ node's virtual machine. Unit: % Note: Instances purchased on or after April 2020 support this monitoring item. | 0~100% | RabbitMQ instance node | 1 minute |
rabbitmq_disk_read_await |
Disk Read Operation Latency | This metric is used to count the average latency of each read IO operation on the disk during the measurement period. Unit: ms Note: Instances purchased on or after June 2020 support this monitoring item. | >0 | RabbitMQ instance node | 1 minute |
rabbitmq_disk_write_await |
Disk Write Operation Latency | This metric is used to count the average latency of each write IO operation on the disk during the measurement period. Unit: ms Note: Instances purchased on or after June 2020 support this monitoring item. | >0 | RabbitMQ instance node | 1 minute |
rabbitmq_node_bytes_in_rate |
Network Inbound Traffic | Counts the network inbound traffic per second of the RabbitMQ node. Unit: Byte/s Note: Instances purchased on or after June 2020 support this monitoring item. | >0 | RabbitMQ instance node | 1 minute |
rabbitmq_node_bytes_out_rate |
Network Outbound Traffic | Counts the network outbound traffic per second of the RabbitMQ node. Unit: Byte/s Note: Instances purchased on or after June 2020 support this monitoring item. | >0 | RabbitMQ instance node | 1 minute |
rabbitmq_node_queues |
Node Queues | This metric is used to count the number of queues on the RabbitMQ node. Unit: Count Note: Instances purchased on or after June 2020 support this monitoring item. | >0 | RabbitMQ instance node | 1 minute |
rabbitmq_memory_high_watermark |
Memory High Watermark Status | Indicates whether the RabbitMQ node has triggered the memory high watermark. If triggered, it will block all producers in the cluster. Note: Instances purchased on or after June 2020 support this monitoring item. | 1: Triggered 0: Not Triggered | RabbitMQ instance node | 1 minute |
rabbitmq_disk_insufficient |
Disk High Watermark Status | Indicates whether the RabbitMQ node has triggered the disk high watermark. If triggered, it will block all producers in the cluster. Note: Instances purchased on or after June 2020 support this monitoring item. | 1: Triggered 0: Not Triggered | RabbitMQ instance node | 1 minute |
rabbitmq_disk_read_rate |
Disk Read Traffic | Counts the disk read traffic per second of the node. Unit: KB/s Note: Instances purchased on or after May 16, 2022 support this monitoring item. | >= 0 | RabbitMQ instance node | 1 minute |
rabbitmq_disk_write_rate |
Disk Write Traffic | Counts the disk write traffic per second of the node. Unit: KB/s Note: Instances purchased on or after May 16, 2022 support this monitoring item. | >= 0 | RabbitMQ instance node | 1 minute |
queue_messages_unacknowledged |
Queue Unacknowledged Messages | This metric is used to count the number of unacknowledged messages in the queue. Unit: Count | 0~10000000 | RabbitMQ instance queue | 1 minute |
queue_messages_ready |
Queue Ready Messages | This metric is used to count the number of ready messages in the queue. Unit: Count | 0~10000000 | RabbitMQ instance queue | 1 minute |
queue_consumers |
Consumer Count | This metric is used to count the number of consumers subscribed to the queue. Unit: Count Note: Instances purchased on or after May 16, 2022 support this monitoring item. | >= 0 | RabbitMQ instance queue | 1 minute |
queue_messages_publish_rate |
Publish Rate | This metric is used to count the number of messages flowing into the queue per second. Unit: Count/s Note: Instances purchased on or after May 16, 2022 support this monitoring item. | >= 0 | RabbitMQ instance queue | 1 minute |
queue_messages_ack_rate |
Acknowledge Rate (Manual Ack) | This metric is used to count the number of messages delivered to the client and acknowledged per second in the queue. Unit: Count/s Note: Instances purchased on or after May 16, 2022 support this monitoring item. | >= 0 | RabbitMQ instance queue | 1 minute |
queue_messages_deliver_get_rate |
Deliver Rate | This metric is used to count the number of messages flowing out of the queue per second. Unit: Count/s Note: Instances purchased on or after May 16, 2022 support this monitoring item. | >= 0 | RabbitMQ instance queue | 1 minute |
queue_messages_redeliver_rate |
Redeliver Rate | This metric is used to count the number of redelivered messages per second in the queue. Unit: Count/s Note: Instances purchased on or after May 16, 2022 support this monitoring item. | >= 0 | RabbitMQ instance queue | 1 minute |
queue_messages_persistent |
Total Messages (Persistent) | This metric is used to count the total number of persistent messages in the queue (always 0 for transient queues). Unit: Count Note: Instances purchased on or after May 16, 2022 support this monitoring item. | >= 0 | RabbitMQ instance queue | 1 minute |
queue_messages_ram |
Total Messages (Memory) | This metric is used to count the total number of messages residing in memory in the queue. Unit: Count Note: Instances purchased on or after May 16, 2022 support this monitoring item. | >= 0 | RabbitMQ instance queue | 1 minute |
queue_memory |
Erlang Process Memory Usage | This metric is used to count the memory bytes consumed by the Erlang processes associated with the queue, including stack, heap, and internal structures. Unit: Byte Note: Instances purchased on or after May 16, 2022 support this monitoring item. | >= 0 | RabbitMQ instance queue | 1 minute |
queue_message_bytes |
Total Message Size | This metric is used to count the total size of all messages in the queue (in bytes). Unit: Byte Note: Instances purchased on or after May 16, 2022 support this monitoring item. | >= 0 | RabbitMQ instance queue | 1 minute |
Objects¶
After data synchronization is normal, you can view the data in TrueWatch's 「Infrastructure - Resource Catalog」.
{
"measurement": "huaweicloud_rabbitmq",
"tags": {
"RegionId" : "cn-north-4",
"project_id" : "756ada1aa17e4049b2a16ea41912e52d",
"enterprise_project_id" : "o78hhbss-xxxx-xxxx-xxxx-cba3d38cf2f9",
"instance_id" : "c0b0ea90-xxxx-xxxx-xxxx-cba3d38cf2f9",
"instance_name" : "rabbitmq-xxxx",
"engine" : "rabbitmq",
"status" : "RUNNING"
},
"fields": {
"charging_mode" : "1",
"engine" : "rabbitmq",
"engine_version" : "3.8.35",
"connect_address" : "192.xxx.0.xxx",
"description" : "",
"specification" : "rabbitmq.2u4g.single * 1 broker",
"storage_space" : 83,
"used_storage_space" : 0,
"access_user" : "rabbit_mh",
"resource_spec_code" : "",
"created_at" : "1687143955266",
"maintain_begin" : "02:00:00",
"maintain_end" : "06:00:00",
"enable_publicip" : false,
"publicip_address" : "127.xx.xx.34",
"publicip_id" : "xxxxxxxxxxx",
"management_connect_address": "http://192.xxx.0.xxx:15672",
"storage_space" : 83,
"available_zones" : "[Instance JSON Data]"
}
}
Partial field descriptions are as follows:
Field | Type | Description |
---|---|---|
specification |
String | Instance specification. RabbitMQ single instance returns VM specification. RabbitMQ cluster returns VM specification and node count. |
charging_mode |
String | Billing mode, 1 indicates pay-as-you-go, 0 indicates subscription. |
available_zones |
String | The availability zones where the instance nodes are located, returns "Availability Zone ID". |
maintain_begin |
String | Maintenance window start time, format is HH |
maintain_end |
String | Maintenance window end time, format is HH |
created_at |
String | Creation completion time. Format is timestamp, indicating the total milliseconds from Greenwich Mean Time January 1, 1970 00:00:00 to the specified time. |
resource_spec_code |
String | Resource specification identifier dms.instance.rabbitmq.single.c3.2u4g: RabbitMQ single instance, VM specification 2u4g dms.instance.rabbitmq.single.c3.4u8g RabbitMQ single instance, VM specification 4u8g dms.instance.rabbitmq.single.c3.8u16g RabbitMQ single instance, VM specification 8u16g dms.instance.rabbitmq.single.c3.16u32g RabbitMQ single instance, VM specification 16u32g dms.instance.rabbitmq.cluster.c3.4u8g.3 RabbitMQ cluster, VM specification 4u8g, 3 nodes dms.instance.rabbitmq.cluster.c3.4u8g.5 RabbitMQ cluster, VM specification 4u8g, 5 nodes dms.instance.rabbitmq.cluster.c3.4u8g.7 RabbitMQ cluster, VM specification 4u8g, 7 nodes dms.instance.rabbitmq.cluster.c3.8u16g.3 RabbitMQ cluster, VM specification 8u16g, 3 nodes dms.instance.rabbitmq.cluster.c3.8u16g.5 RabbitMQ cluster, VM specification 8u16g, 5 nodes dms.instance.rabbitmq.cluster.c3.8u16g.7 RabbitMQ cluster, VM specification 8u16g, 7 nodes dms.instance.rabbitmq.cluster.c3.16u32g.3 RabbitMQ cluster, VM specification 16u32g, 3 nodes dms.instance.rabbitmq.cluster.c3.16u32g.5 RabbitMQ cluster, VM specification 16u32g, 5 nodes dms.instance.rabbitmq.cluster.c3.16u32g.7 RabbitMQ cluster, VM specification 16u32g, 7 nodes |
Note: Fields in
tags
,fields
may change with subsequent updatesNote 1: The value of
tags.instance_id
is the instance ID, used as a unique identifier