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.
Uso de Elastic CloudWatch Beanstalk con Amazon Logs
En este tema se explican las funciones de supervisión que el servicio Amazon CloudWatch Logs puede proporcionar a Elastic Beanstalk. También le guía por la configuración y enumera las ubicaciones de los registros de cada plataforma de Elastic Beanstalk.
La implementación CloudWatch de registros puede permitirle realizar las siguientes actividades de monitoreo:
-
Supervise y archive las aplicaciones, el sistema y los archivos de registro personalizados de Elastic Beanstalk de las instancias de EC2 Amazon de sus entornos.
-
Configure alarmas para que le resulte más fácil reaccionar ante eventos de flujo de registros específicos que extraigan sus filtros de métricas.
El agente de CloudWatch Logs instalado en cada EC2 instancia de Amazon de su entorno publica puntos de datos métricos en el CloudWatch servicio para cada grupo de registros que configure. Cada grupo de registros aplica sus propios patrones de filtrado para determinar a qué eventos de flujo de registro se deben enviar CloudWatch como puntos de datos. Las transmisiones de logs que pertenecen al mismo grupo de logs comparten la misma configuración de retención, monitorización y control de acceso. Puede configurar Elastic Beanstalk para que transmita automáticamente los registros al servicio, tal y como se CloudWatch describe en. Transmitir los registros de las instancias a CloudWatch Logs Para obtener más información sobre CloudWatch Logs, incluida la terminología y los conceptos, consulte la Guía del usuario de Amazon CloudWatch Logs.
Además de los registros de instancias, si permite mejorar el estado de su entorno, puede configurarlo para transmitir información de estado a CloudWatch los registros. Consulte Transmisión de información sobre el estado del entorno Elastic Beanstalk a Amazon CloudWatch Logs.
Temas
- Requisitos previos para instanciar la transmisión de registros a Logs CloudWatch
- Cómo configura Elastic Beanstalk los registros CloudWatch
- Transmitir los registros de las instancias a CloudWatch Logs
- Solución de problemas CloudWatch de integración de registros
- Transmisión de información sobre el estado del entorno Elastic Beanstalk a Amazon CloudWatch Logs
Requisitos previos para instanciar la transmisión de registros a Logs CloudWatch
Para habilitar la transmisión de registros desde las EC2 instancias de Amazon de su entorno a CloudWatch Logs, debe cumplir las siguientes condiciones.
-
Plataforma: como esta característica solo está disponible en las versiones de plataforma publicadas en esta versión
o en las posteriores, si utiliza una versión de plataforma anterior, actualice su entorno a uno actual. -
Si no tiene la AWSElasticBeanstalkWebTierpolítica gestionada por AWSElasticBeanstalkWorkerTierElastic Beanstalk en su perfil de instancia de Elastic Beanstalk, debe añadir lo siguiente a su perfil para habilitar esta función.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:PutLogEvents", "logs:CreateLogStream" ], "Resource": [ "*" ] } ] }
Cómo configura Elastic Beanstalk los registros CloudWatch
Elastic Beanstalk CloudWatch instala un agente de registro con los valores de configuración predeterminados en cada instancia que crea. Obtenga más información en la referencia del CloudWatch agente de registros.
Cuando habilita la transmisión de CloudWatch registros de instancias a Logs, Elastic Beanstalk envía los archivos de registro de las instancias de su entorno a Logs. CloudWatch Las distintas plataformas transmiten registros diferentes. En la siguiente tabla se muestran los registros por plataforma.
Plataforma / Ramificación de la plataforma |
Registros |
---|---|
Docker / Ramificación de la plataforma: Docker que se ejecuta en Amazon Linux 2 de 64 bits |
|
Docker / Rama de plataforma: ECS se ejecuta en Amazon Linux 2 de 64 bits |
|
Go . NETCore en Linux Java / Ramificación de la plataforma de Java: Corretto que se ejecuta en Amazon Linux 2 de 64 bits |
|
Node.js Python |
|
Tomcat PHP |
|
. NETen Windows Server |
|
Ruby |
|
nota
El 18 de julio de 2022, Elastic Beanstalk estableció el estado de todas las sucursales de plataforma basadas en Amazon Linux () como retiradas. AMI AL1 Para obtener más información sobre la migración a una ramificación de la plataforma Amazon Linux 2023 actual y totalmente compatible, consulte Migración de su aplicación de Linux de Elastic Beanstalk a Amazon Linux 2023 o Amazon Linux 2.
En la siguiente tabla, se enumeran los archivos de registro transmitidos desde instancias en sucursales de plataforma basadas en Amazon Linux AMI (anterior a Amazon Linux 2), por plataforma.
Plataforma / Ramificación de la plataforma |
Registros |
---|---|
Docker / Ramificación de la plataforma: Docker que se ejecuta en Amazon Linux de 64 bits |
|
Docker / Ramificación de la plataforma: Multicontainer Docker que se ejecuta en Amazon Linux de 64 bits |
|
Glassfish (Docker preconfigurado) |
|
Go |
|
Java / Ramificación de la plataforma: Java 8 que se ejecuta en Amazon Linux de 64 bits Ramificación de la plataforma: Java 7 que se ejecuta en Amazon Linux de 64 bits |
|
Tomcat |
|
Node.js |
|
PHP |
|
Python |
|
Ruby / Ramificación de la plataforma: Puma con Ruby que se ejecuta en Amazon Linux de 64 bits |
|
Ruby / Ramificación de la plataforma: Passenger con Ruby que se ejecuta en Amazon Linux de 64 bits |
|
Elastic Beanstalk configura CloudWatch grupos de registros en Logs para los distintos archivos de registro que transmite. Para recuperar archivos de registro específicos de CloudWatch Logs, debe conocer el nombre del grupo de registros correspondiente. El esquema de nomenclatura del grupo de logs depende del sistema operativo de la plataforma.
En el caso de las plataformas Linux, anteponga /aws/elasticbeanstalk/
a la ubicación de archivo de log para obtener el nombre del grupo de logs. Por ejemplo, para recuperar el archivo environment_name
/var/log/nginx/error.log
, especifique el nombre el grupo de logs /aws/elasticbeanstalk/
.environment_name
/var/log/nginx/error.log
En el caso de las plataformas Windows, consulte en la siguiente tabla el grupo de registros correspondiente a cada archivo de registro.
Archivo de log en la instancia |
Grupo de registros |
---|---|
|
|
|
|
|
|
Transmitir los registros de las instancias a CloudWatch Logs
Puede habilitar la transmisión de CloudWatch registros de instancias a Logs mediante la consola de Elastic Beanstalk, el EB o CLI las opciones de configuración.
Antes de habilitarlo, configure IAM los permisos para usarlos con el CloudWatch agente de Logs. Puede asociar la siguiente política personalizada al perfil de instancia que asigna a su entorno.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogGroups", "logs:DescribeLogStreams" ], "Resource": [ "*" ] } ] }
Streaming de registros de instancia mediante la consola de Elastic Beanstalk
Para transmitir los registros de las instancias a CloudWatch Logs
Abra la consola de Elastic Beanstalk
y, en la lista Regiones, seleccione su. Región de AWS -
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.
En el panel de navegación, elija Configuration (Configuración).
-
En la categoría de configuración Actualizaciones, supervisión y registro, seleccione Editar.
-
En Transmisión de registros de instancias a registros: CloudWatch
-
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.
-
-
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 Software y buscar el enlace Log Groups (Grupos de registros). Haga clic en este enlace para ver los registros en la CloudWatch consola.
Transmisión de registros de instancias mediante el EB CLI
Para habilitar la transmisión de registros de instancias a CloudWatch los registros mediante el EBCLI, utilice el eb logs comando.
$ eb logs --cloudwatch-logs enable
También se puede utilizar eb logs para recuperar registros de CloudWatch los registros. Puede recuperar todos los registros de instancias del entorno o utilizar las numerosas opciones del comando para especificar los subconjuntos de registros que se recuperarán. Por ejemplo, el siguiente comando recupera el conjunto completo de registros de instancias correspondientes a su entorno y los guarda en un directorio en .elasticbeanstalk/logs
.
$ eb logs --all
En concreto, la opción --log-group
le permite recuperar los registros de instancias de un grupo de registros específicos, correspondientes a un determinado archivo de registro en la instancia. Para ello, debe conocer el nombre del grupo de registros que corresponde al archivo de registro que desea recuperar. Puede encontrar esta información en Cómo configura Elastic Beanstalk los registros CloudWatch .
Streaming de registros de instancias mediante archivos de configuración
Al crear o actualizar un entorno, puede usar un archivo de configuración para configurar y configurar la transmisión de CloudWatch registros de instancias a Logs. En el siguiente ejemplo, el archivo de configuración habilita el streaming de logs de instancias predeterminado. Elastic Beanstalk realiza la transmisión del conjunto predeterminado de los archivos de registro de la plataforma del entorno. Para utilizar el ejemplo, 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.
option_settings: - namespace: aws:elasticbeanstalk:cloudwatch:logs option_name: StreamLogs value: true
Streaming de archivos de registro personalizados
La CloudWatch integración de Elastic Beanstalk con los registros no admite directamente la transmisión de los archivos de registro personalizados que genera la aplicación. Para transmitir registros personalizados, utilice un archivo de configuración para instalar directamente el CloudWatch agente y configurar los archivos que se van a insertar. Para ver un archivo de configuración de ejemplo, consulte logs-streamtocloudwatch-linux.config
nota
El ejemplo no funciona en la plataforma Windows.
Para obtener más información sobre la configuración de CloudWatch los registros, consulte la referencia del archivo de configuración del CloudWatch agente en la Guía del CloudWatch usuario de Amazon.
Solución de problemas CloudWatch de integración de registros
Si no encuentras algunos de los registros de instancias del entorno que esperabas en CloudWatch Logs, puedes investigar los siguientes problemas comunes:
-
Tu IAM función carece de los IAM permisos necesarios.
-
Lanzó su entorno en un entorno Región de AWS que no admite CloudWatch registros.
-
Uno de sus archivos de log personalizados no existe en la ruta que especificó.