

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon MQ 上的 RabbitMQ：磁盘限制警报
<a name="troubleshooting-action-required-codes-disk-limit-alarm"></a>

 磁盘限制警报表明，由于添加新消息时未消耗大量消息，RabbitMQ 节点使用的磁盘量有所减少。当代理的可用磁盘空间（由 Amazon CloudWatch 指标`RabbitMQDiskFree`标识）达到由标识的磁盘限制时，RabbitMQ 将发出磁盘限制警报。`RabbitMQDiskFreeLimit` `RabbitMQDiskFreeLimit`由 Amazon MQ 设置，定义时考虑了每种代理实例类型的可用磁盘空间。

 引发磁盘限制警报的 Amazon MQ for RabbitMQ 代理将无法发布新消息。如果发布者和使用者处于同一连接上，则使用者也将无法接收消息。在集群中运行 RabbitMQ 时，磁盘警报是集群范围的。如果一个节点变得低于限制，则所有其他节点都将阻止传入的消息。由于缺少磁盘空间，代理可能还会遇到其他使警报诊断和解决复杂化的问题。

 Amazon MQ 在遇到磁盘警报时不会重新启动代理，并且将会在该代理继续引发警报时返回 `RebootBroker` API 操作异常。

**注意**  
您不能将代理从 `mq.m5` 实例类型降级为 `mq.t3.micro` 实例类型。如果您想降级，则必须删除代理并创建新的代理。

## 诊断和解决磁盘限制警报
<a name="w2aac40c23c11"></a>

 默认情况下，Amazon MQ 将会为您的代理启用指标。您可以通过访问 Amazon CloudWatch 控制台或使用 CloudWatch API 来[查看您的经纪商指标](amazon-mq-accessing-metrics.md)。 `MessageCount`是诊断 RabbitMQ 磁盘限制警报时的有用指标。消息在被使用或丢弃之前一直存储在内存中。高消息计数表示磁盘存储空间过度使用，而可能导致磁盘警报。

 要诊断磁盘限制警报，请使用 Amazon MQ 管理控制台执行以下操作：
+  创建新连接以使用发布到队列的消息。
+  清除队列中的消息。
+  删除代理中的队列。

**注意**  
在您采取必要的操作后，RABBITMQ\$1DISK\$1ALARM 状态可能需要几个小时才能清除。

 为防止磁盘限制警报再次发生，您可以将主机[实例类型](rmq-broker-instance-types.md)升级为具有其他资源的实例。有关如何更新代理的实例类型的信息，请参阅《Amazon MQ REST API 参考》中的 `UpdateBrokerInput`。我们还建议让发布者和使用者使用不同的连接。