Amazon MQ para RabbitMQ: alarma de memoria alta - Amazon MQ

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Amazon MQ para RabbitMQ: alarma de memoria alta

Amazon MQ para RabbitMQ emitirá una alarma de memoria alta cuando el uso de memoria del agente, identificado mediante una CloudWatch métrica, supere el límite de memoriaRabbitMQMemUsed, identificado por. RabbitMQMemLimit

Un bróker de RabbitMQ que haya emitido una alarma de exceso de memoria bloqueará a todos los clientes que publiquen mensajes. Es posible que su agente entre en un ciclo de reinicio, experimente una pausa en la sincronización de las colas o presente otros problemas que compliquen el diagnóstico y la resolución de la alarma.

Para diagnosticar y resolver una alarma de memoria insuficiente, primero siga todas las prácticas recomendadas para RabbitMQ y, a continuación, complete los siguientes pasos.

importante
  • RabbitMQMemLimitlo establece Amazon MQ y se ajusta específicamente teniendo en cuenta la memoria disponible para cada tipo de instancia de host.

  • Amazon MQ no reiniciará un agente que experimente una alarma de memoria elevada, y devolverá una excepción para operaciones de la API RebootBroker mientras el agente continúe generando la alarma.

Paso 1: Diagnostique una alarma de memoria alta

Existen dos formas de diagnosticar las alarmas de memoria excesiva en su bróker Amazon MQ for RabbitMQ. Le recomendamos que consulte las métricas de la consola web de RabbitMQ y de Amazon MQ. CloudWatch

Diagnostique una alarma de memoria alta mediante la consola web RabbitMQ

La consola web de RabbitMQ puede generar y mostrar información detallada sobre el uso de memoria de cada nodo. Puede encontrar esta información haciendo lo siguiente:

  1. Inicie sesión en la consola web RabbitMQ de su corredor AWS Management Console y ábrala.

  2. En la consola de RabbitMQ, en la página Overview (Información general), elija el nombre de un nodo de la lista Nodes (Nodos).

  3. En la página de detalles del nodo, elija Memory details (Detalles de memoria) para ampliar la sección y ver la información de uso de memoria del nodo.

La información de uso de memoria que proporciona RabbitMQ en la consola web puede ayudar a determinar qué recursos pueden estar consumiendo demasiada memoria y contribuyendo a provocar la alarma de memoria elevada. Para obtener más información sobre los detalles del uso de la memoria disponibles en la consola web de RabbitMQ, consulte Razonamiento sobre el uso de la memoria en el sitio web de documentación del servidor de RabbitMQ.

Diagnostique una alarma de memoria alta mediante las métricas de Amazon MQ

Amazon MQ habilita las métricas para el agente de forma predeterminada. Puede ver las métricas de su agente accediendo a la CloudWatch consola o mediante la CloudWatch API. Las siguientes métricas son útiles para diagnosticar la alarma de memoria elevada de RabbitMQ.

Métrica Amazon MQ CloudWatch Razón del uso elevado de memoria
MessageCount Los mensajes se almacenan en la memoria hasta que se consumen o descartan. Un recuento elevado de mensajes puede indicar una sobreutilización de los recursos, y puede provocar una alarma de memoria elevada.
QueueCount Las colas se almacenan en la memoria, y un gran número de colas puede provocar una alarma de memoria elevada.
ConnectionCount Las conexiones de cliente utilizan memoria, y demasiadas conexiones simultáneas pueden provocar una alarma de memoria elevada.
ChannelCount De forma similar a las conexiones, los canales establecidos con cada conexión también se almacenan en la memoria del nodo, y un número elevado de canales puede provocar una alarma de memoria elevada.
ConsumerCount Para cada consumidor conectado al agente, se cargan un número determinado de mensajes desde el almacenamiento en la memoria antes de entregarlos al consumidor. Un número elevado de conexiones de consumidores puede suponer un uso elevado de memoria y provocar una alarma de memoria elevada.
PublishRate La publicación de mensajes utiliza la memoria del agente. Si la velocidad a la que se publican los mensajes con destino al agente es demasiado alta y supera significativamente la velocidad con la que el agente envía mensajes a los consumidores, es posible que el agente genere una alarma de memoria elevada.

Paso 2: Abordar y prevenir la alarma de memoria alta

nota

El estado de RABBITMQ_MEMORY_ALARM puede tardar varias horas en borrarse después de realizar las acciones necesarias.

Siga todas las mejores prácticas de RabbitMQ como método general de prevención. Para cada colaborador específico que identifique, le recomendamos el siguiente conjunto de acciones para abordar y prevenir las alarmas de memoria excesiva de RabbitMQ.

Fuente de un uso elevado de memoria Recomendación de Amazon MQ para el direccionamiento Recomendación de Amazon MQ para prevenir
Número de mensajes Consume los mensajes publicados en las colas, purga los mensajes de las colas o elimina las colas de tu agente. Habilite las colas diferidas y establezca o reduzca el límite de profundidad de las colas.
Número de colas Reduzca el número de colas. Establece o reduce el límite de número de colas.
Número de conexiones Reduzca el número de conexiones. Establezca o reduzca el límite de recuento de conexiones.
Número de canales Reduzca la cantidad de canales. Establezca un número máximo de canales por conexión en las aplicaciones cliente.
Número de consumidores Reduzca el número de consumidores conectados al agente. Establezca un límite de captura previa de consumidores que sea pequeño.
Tasa de publicación de mensajes Reduzca la velocidad a la que los publicadores envían mensajes al agente. Activa las confirmaciones del editor.
Tasa de intentos de conexión del cliente Reduzca la frecuencia con la que los clientes intentan conectarse al agente para publicar o consumir mensajes, o configurar el agente. Utilice conexiones de mayor duración para reducir el número y la frecuencia de los intentos de conexión.

Una vez resuelta la alarma de memoria de su agente, puede actualizar el tipo de instancia de host a una instancia con recursos adicionales. Para obtener información sobre cómo actualizar el tipo de instancia de su agente, consulte la referencia UpdateBrokerInputde la API REST de Amazon MQ.

nota

No puede degradar un bróker de un tipo de mq.m5.x instancia a otro tipo de mq.t3.micro instancia. Para bajar de categoría, debes eliminar tu bróker y crear uno nuevo.