AWS MQ¶
AWS MQ (for RabbitMQ) supports industry-standard APIs and protocols, manages the management and maintenance of message brokers, and automatically provides infrastructure for high availability.
Configuration¶
Install Func¶
It is recommended to enable Guance integration - extension - hosted Func: all prerequisites are automatically installed. Please continue with the script installation.
If you deploy Func manually, refer to Manual Deployment of Func
Installation Script¶
Note: Please prepare an Amazon AK that meets the requirements in advance (for simplicity, you can directly grant global read-only permission
ReadOnlyAccess
).
Hosted Version Activation Script¶
- Log in to the Guance console.
- Click on the 【Integration】 menu, select 【Cloud Account Management】.
- Click 【Add Cloud Account】, choose 【AWS】, and fill in the required information on the interface. If the cloud account information has been configured before, skip this step.
- Click 【Test】, if the test is successful, click 【Save】. If the test fails, check whether the related configuration information is correct and retest.
- In the 【Cloud Account Management】 list, you can see the added cloud account. Click on the corresponding cloud account to enter the details page.
- Click the 【Integration】 button on the cloud account details page. Under the
Not Installed
list, findAWS MQ
, click the 【Install】 button, and install it through the installation interface.
Manual Activation Script¶
-
Log in to the Func console, click 【Script Market】, go to the official script market, and search for
guance_aws_mq
. -
After clicking 【Install】, input the corresponding parameters: AWS AK ID, AK Secret, and account name.
-
Click 【Deploy Startup Script】, the system will automatically create a
Startup
script set and automatically configure the corresponding startup script. -
After enabling, you can see the corresponding automatic trigger configuration in 「Management / Automatic Trigger Configuration」. Click 【Execute】 to immediately execute once without waiting for the regular time. Wait a moment, and you can view the execution task records and corresponding logs.
We collect some configurations by default, please refer to the Metrics section for details.
Verification¶
- In 「Management / Automatic Trigger Configuration」, confirm whether the corresponding tasks have the corresponding automatic trigger configurations, and at the same time, you can check the corresponding task records and logs to check for any abnormalities.
- In Guance, 「Infrastructure / Custom」, check whether there is asset information.
- In Guance, 「Metrics」 check whether there is corresponding monitoring data.
Metrics¶
After configuring Amazon-CloudWatch, the default metric set is as follows. You can collect more metrics through configuration:
Amazon CloudWatch AWS MQ Metrics Details
AWS MQ for RabbitMQ¶
Metric Name | Unit | Description |
---|---|---|
ExchangeCount | Count | The total number of exchanges configured on the broker. |
QueueCount | Count | The total number of queues configured on the broker. |
ConnectionCount | Count | The total number of connections established on the broker. |
ChannelCount | Count | The total number of channels established on the broker. |
ConsumerCount | Count | The total number of consumers connected to the broker. |
MessageCount | Count | The total number of messages in the queue. The generated number is the sum of ready and unacknowledged messages on the broker. |
MessageReadyCount | Count | The total number of ready messages in the queue. |
MessageUnacknowledgedCount | Count | The total number of unacknowledged messages in the queue. |
PublishRate | Count | The rate at which messages are published to the broker. The generated number represents the number of messages sampled per second. |
ConfirmRate | Count | The rate at which the RabbitMQ server confirms that messages have been published. You can compare this metric with PublishRate to better understand your broker's performance. The generated number represents the number of messages sampled per second. |
AckRate | Count | The rate at which consumers acknowledge messages. The generated number represents the number of messages sampled per second. |
SystemCpuUtilization | Percentage | The percentage of allocated Amazon EC2 compute units currently in use by the broker. For cluster deployments, this value represents the sum of the corresponding metrics for all three RabbitMQ nodes. |
RabbitMQMemLimit | Bytes | RAM limit for the RabbitMQ broker. For cluster deployments, this value represents the sum of the corresponding metrics for all three RabbitMQ nodes. |
RabbitMQMemUsed | Bytes | RAM capacity used by the RabbitMQ broker. For cluster deployments, this value represents the sum of the corresponding metrics for all three RabbitMQ nodes. |
RabbitMQDiskFreeLimit | Bytes | Disk limit for the RabbitMQ broker. For cluster deployments, this value represents the sum of the corresponding metrics for all three RabbitMQ nodes. This metric varies depending on instance size. For more information about AWS MQ instance types, see AWS MQ for RabbitMQ Instance Types. |
RabbitMQDiskFree | Bytes | Total amount of free disk space available in the RabbitMQ broker. When disk usage exceeds its limit, the cluster will block all producer connections. For cluster deployments, this value represents the sum of the corresponding metrics for all three RabbitMQ nodes. |
RabbitMQFdUsed | Count | Number of file descriptors used. For cluster deployments, this value represents the sum of the corresponding metrics for all three RabbitMQ nodes. |
RabbitMQIOReadAverageTime |
Count | Average time (in milliseconds) for RabbitMQ to perform a single read operation. This value is proportional to the message size. |
RabbitMQIOWriteAverageTime |
Count | Average time (in milliseconds) for RabbitMQ to perform a single write operation. This value is proportional to the message size. |