本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon MQ for RabbitMQ:磁盘限制警报
磁盘限制警报表明,由于添加新消息时未消耗大量消息,RabbitMQ 节点使用的磁盘量有所减少。当代理的可用磁盘空间(由 Amazon CloudWatch 指标RabbitMQDiskFree
标识)达到由标识的磁盘限制时,RabbitMQ 将发出磁盘限制警报。RabbitMQDiskFreeLimit
RabbitMQDiskFreeLimit
由 Amazon MQ 设置,定义时考虑了每种代理实例类型的可用磁盘空间。
已发出磁盘限制警报的 Amazon MQ 上的 RabbitMQ 代理将无法发布新消息。如果您的发布者和使用者处于同一连接上,则该使用者也将无法接收消息。在集群中运行 RabbitMQ 时,磁盘警报是集群范围的。如果一个节点变得低于限制,则所有其他节点都将阻止传入的消息。由于缺少磁盘空间,代理可能还会遇到其他使警报诊断和解决复杂化的问题。
只要代理继续发出警报,Amazon MQ 就不会重启遇到磁盘警报的代理,并且会返回RebootBroker
API操作异常。
注意
您不能将代理从 mq.m5
实例类型降级为 mq.t3.micro
实例类型。如果您想降级,则必须删除代理并创建新的代理。
诊断和解决磁盘限制警报
默认情况下,Amazon MQ 将会为您的代理启用指标。您可以通过访问 Amazon CloudWatch 控制台或使用来查看您的经纪商指标 CloudWatch API。 MessageCount
是诊断 RabbitMQ 磁盘限制警报时的有用指标。消息在被使用或丢弃之前一直存储在内存中。高消息计数表示磁盘存储空间过度使用,而可能导致磁盘警报。
要诊断磁盘限制警报,请使用 Amazon MQ 管理控制台执行以下操作:
-
创建新连接以使用发布到队列的消息。
-
清除队列中的消息。
-
删除代理中的队列。
注意
在您采取所需操作后,RABBITMQDISK_ ALARM 状态可能需要几个小时才能清除。
为防止磁盘限制警报再次发生,您可以将主机实例类型升级为具有其他资源的实例。有关如何更新您的代理实例类型的信息,请参阅 UpdateBrokerInput
Amazon MQ REST API 参考。我们还建议您的发布商和消费者保持不同的联系。