Transmisión de información sobre el estado del entorno Elastic Beanstalk a Amazon CloudWatch Logs - AWS Elastic Beanstalk

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.

Transmisión de información sobre el estado del entorno Elastic Beanstalk a Amazon CloudWatch Logs

Si habilita los informes de estado mejorado de su entorno, puede configurar dicho entorno para que realice la transmisión de la información de estado a CloudWatch Logs. Esta transmisión es independiente de la transmisión de instancias de registro de Amazon EC2. En este tema se describe el streaming de información de estado de entorno. Para obtener información acerca del streaming de logs de instancias, consulte Uso de Elastic Beanstalk con Amazon CloudWatch Logs.

Al configurar la transmisión de estado del entorno, Elastic Beanstalk crea un grupo de registro de CloudWatch Logs para el estado del entorno. El nombre del grupo de logs es /aws/elasticbeanstalk/environment-name/environment-health.log. En este grupo de registros,Elastic Beanstalk crea secuencias de registros denominadas YYYY-MM-DD#<hash-suffix> (es posible que haya varias secuencias de registros por fecha).

Cuando cambia el estado del entorno,Elastic Beanstalk agrega un registro a la secuencia de registro de estado. El registro representa la transición del estado: el nuevo estado y una descripción de la causa del cambio. Por ejemplo, el estado de un entorno podría cambiar a grave porque el balanceador de carga tiene un error. Para obtener una descripción de los estados mejorados, consulte Colores y estados.

Requisitos previos de la transmisión del estado del entorno a CloudWatch Logs

Para habilitar la transmisión del estado del entorno a CloudWatch Logs, debe cumplir las siguientes condiciones:

  • Plataforma: debe utilizar una versión de plataforma que sea compatible con los informes de estado mejorados.

  • Permisos: debe conceder determinados permisos relacionados con el registro a Elastic Beanstalk, para que pueda actuar en su nombre para realizar la transmisión de la información de estado de su entorno. Si su entorno no usa un rol de servicio que haya creado Elastic Beanstalk, aws-elasticbeanstalk-service-role, o el rol vinculado al servicio de la cuenta, AWSServiceRoleForElasticBeanstalk, asegúrese de agregar los siguientes permisos a su rol de servicio personalizado.

    { "Effect": "Allow", "Action": [ "logs:DescribeLogStreams", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/elasticbeanstalk/*:log-stream:*" }

Transmitir los registros de estado del entorno a CloudWatch Logs

Puede habilitar la transmisión de estado del entorno a CloudWatch Logs mediante la consola de Elastic Beanstalk, la CLI de EB o las opciones de configuración.

Transmisión de registros de estado del entorno mediante la consola de Elastic Beanstalk

Para transmitir los registros de estado del entorno a CloudWatch Logs
  1. Abra la consola de Elastic Beanstalk y, en la lista Regions (Regiones), seleccione su Región de AWS.

  2. En el panel de navegación, elija Environments (Entornos) y, a continuación, elija el nombre del entorno en la lista.

    nota

    Si tiene muchos entornos, utilice la barra de búsqueda para filtrar la lista de entornos.

  3. En el panel de navegación, elija Configuration (Configuración).

  4. En la categoría de configuración Monitoring (Monitorización), seleccione Edit (Editar).

  5. En Health reporting (Informes de estado), asegúrese de que el informe System (Sistema) está configurado en Enhanced (Mejorado).

  6. En Health event streaming to CloudWatch Logs (Streaming de eventos de estado a CloudWatch Logs)

    • Habilite Log streaming (Streaming de registros).

    • Establezca Retention (Retención) en el número de días que se guardarán los registros.

    • Seleccione la opción Lifecycle (Ciclo de vida) que determina si los registros se guardan una vez finalizado el entorno.

  7. Para guardar los cambios, elija Aplicar en la parte inferior de la página.

Después de habilitar el streaming de registros, puede volver a la categoría o página de configuración Monitoring (Monitorización) y buscar el enlace Log Group (Grupo de registros). Haga clic en este enlace para ver los registros de estado de entorno en la consola de CloudWatch.

Streaming de logs de estado de entorno mediante la CLI de EB

Para habilitar la transmisión de registros de estado de entorno a CloudWatch Logs; mediante la CLI de EB, use el comando eb logs.

$ eb logs --cloudwatch-logs enable --cloudwatch-log-source environment-health

También puede utilizar eb logs para recuperar registros de CloudWatch Logs. Por ejemplo, el siguiente comando recupera todos los registros de estado correspondientes a su entorno y los guarda en un directorio en .elasticbeanstalk/logs.

$ eb logs --all --cloudwatch-log-source environment-health

Streaming de logs de estado de entorno mediante archivos de configuración

Al crear o actualizar un entorno, puede utilizar un archivo de configuración para instalar y configurar la transmisión de registros de estado de entorno a CloudWatch Logs. Para utilizar el ejemplo siguiente, copie el texto en un archivo con la extensión .config en el directorio .ebextensions en el nivel superior del paquete de código fuente de la aplicación. El ejemplo configura Elastic Beanstalk para habilitar la transmisión de registros de estado de entorno, mantener los registros después de terminar el entorno y guardarlos durante 30 días.

ejemplo Archivo de configuración de streaming de estado
############################################################################ ## Sets up Elastic Beanstalk to stream environment health information ## to Amazon CloudWatch Logs. ## Works only for environments that have enhanced health reporting enabled. ############################################################################ option_settings: aws:elasticbeanstalk:cloudwatch:logs:health: HealthStreamingEnabled: true ### Settings below this line are optional. # DeleteOnTerminate: Delete the log group when the environment is # terminated. Default is false. If false, the health data is kept # RetentionInDays days. DeleteOnTerminate: false # RetentionInDays: The number of days to keep the archived health data # before it expires, if DeleteOnTerminate isn't set. Default is 7 days. RetentionInDays: 30

Para conocer los valores predeterminados de las opciones y los valores válidos, consulte aws:elasticbeanstalk:cloudwatch:logs:health.