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 activate the TrueWatch integration - extensions - DataFlux Func (Automata): all prerequisites are automatically installed, please proceed with the script installation.
If you are deploying Func yourself, refer to Self-deploying Func
Install Script¶
Note: Please prepare an Amazon AK that meets the requirements in advance (for simplicity, you can directly grant the global read-only permission
ReadOnlyAccess
)
Activate Script for DataFlux Func (Automata)¶
- Log in to the TrueWatch console
- Click on the 【Integration】 menu, select 【Cloud Account Management】
- Click on 【Add Cloud Account】, select 【AWS】, and fill in the required information on the interface. If you have already configured the cloud account information before, ignore this step
- Click on 【Test】, if the test is successful, click on 【Save】. If the test fails, please check if the relevant configuration information is correct and retest
- Click on the 【Cloud Account Management】 list to see the added cloud account, click on the corresponding cloud account to enter the details page
- Click on the 【Integration】 button on the cloud account details page, find
AWS MQ
under theNot Installed
list, click on the 【Install】 button, and the installation interface will pop up for installation.
Manual Activation Script¶
-
Log in to the Func console, click on 【Script Market】, enter the TrueWatch script market, search for
integration_aws_mq
-
Click on 【Install】, then enter the corresponding parameters: AWS AK ID, AK Secret, and account name.
-
Click on 【Deploy Startup Script】, the system will automatically create a
Startup
script set and automatically configure the corresponding startup script. -
After activation, you can see the corresponding automatic trigger configuration in 「Management / Automatic Trigger Configuration」. Click on 【Execute】 to execute it immediately without waiting for the scheduled time. Wait a moment, you can view the execution task records and corresponding logs.
We have collected some configurations by default, see the Metrics section for details
Verification¶
- In 「Management / Automatic Trigger Configuration」, confirm whether the corresponding task has the corresponding automatic trigger configuration, and you can also check the corresponding task records and logs to see if there are any exceptions
- In TrueWatch, check if there is asset information in 「Infrastructure / Custom」
- In TrueWatch, check if there is corresponding monitoring data in 「Metrics」
Metrics¶
After configuring Amazon CloudWatch, the default Measurement 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 collected per second at the sampling time. |
ConfirmRate | Count | The rate at which the RabbitMQ server confirms published messages. You can compare this metric with PublishRate to better understand the performance of your broker. The generated number represents the number of messages collected per second at the sampling time. |
AckRate | Count | The rate at which consumers acknowledge messages. The generated number represents the number of messages collected per second at the sampling time. |
SystemCpuUtilization | Percentage | The percentage of allocated Amazon EC2 compute units currently being used by the broker. For cluster deployments, this value represents the sum of the corresponding metric values for all three RabbitMQ nodes. |
RabbitMQMemLimit | Bytes | The RAM limit of the RabbitMQ broker. For cluster deployments, this value represents the sum of the corresponding metric values for all three RabbitMQ nodes. |
RabbitMQMemUsed | Bytes | The amount of RAM used by the RabbitMQ broker. For cluster deployments, this value represents the sum of the corresponding metric values for all three RabbitMQ nodes. |
RabbitMQDiskFreeLimit | Bytes | The disk limit of the RabbitMQ broker. For cluster deployments, this value represents the sum of the corresponding metric values for all three RabbitMQ nodes. This metric varies by instance size. For more information about AWS MQ instance types, see AWS MQ for RabbitMQ Instance Types. |
RabbitMQDiskFree | Bytes | The 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 metric values for all three RabbitMQ nodes. |
RabbitMQFdUsed | Count | The number of file descriptors used. For cluster deployments, this value represents the sum of the corresponding metric values for all three RabbitMQ nodes. |
RabbitMQIOReadAverageTime |
Count | The average time (in milliseconds) it takes for RabbitMQ to perform a read operation. This value is proportional to the message size. |
RabbitMQIOWriteAverageTime |
Count | The average time (in milliseconds) it takes for RabbitMQ to perform a write operation. This value is proportional to the message size. |
``` |