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.
Visualización de los registros de EC2 las instancias de Amazon en su entorno de Elastic Beanstalk
En este tema se explican los tipos de registros de instancias que proporciona Elastic Beanstalk. También proporciona instrucciones detalladas para recuperarlos y administrarlos.
Las EC2 instancias de Amazon de su entorno de Elastic Beanstalk generan registros que puede ver para solucionar problemas con sus archivos de aplicación o configuración. Los registros los crean el servidor web, el servidor de aplicaciones y los scripts AWS CloudFormation de la plataforma Elastic Beanstalk y se almacenan localmente en instancias individuales. Puede recuperarlos fácilmente mediante la consola de administración del entorno o el EB. CLI También puede configurar su entorno para transmitir registros a Amazon CloudWatch Logs en tiempo real.
Los registros de finalización son las últimas 100 líneas de los archivos de registro que se utilizan con más frecuencia: los registros operativos de Elastic Beanstalk y los registros del servidor web o del servidor de aplicaciones. Cuando se solicita un registro de finalización utilizando la consola de administración del entorno o eb logs, una instancia del entorno concatena las entradas del registro más frecuentes en un archivo de texto y lo carga a Amazon S3.
Los registros de paquete son registros completos para un mayor conjunto de archivos de registro, como los registros yum y cron o diversos registros de AWS CloudFormation. Cuando solicita registros de paquetes, una instancia de su entorno empaqueta los archivos de registro completos en un ZIP archivo y los carga en Amazon S3.
nota
Las plataformas de Elastic Beanstalk Windows Server no admiten registros de paquetes.
Para cargar los registros rotados en Amazon S3, las instancias del entorno deben tener un perfil de instancia con permiso para escribir en el bucket de Elastic Beanstalk de Amazon S3. Estos permisos están incluidos en el perfil de instancia predeterminado que Elastic Beanstalk le pide que cree cuando lanza un entorno en la consola de Elastic Beanstalk por primera vez.
Para recuperar los registros de instancias:
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 Logs (Registros).
-
Seleccione Request logs (Solicitar registro), y, a continuación, elija el tipo de registros que desea recuperar. Para obtener los registros de finalización, seleccione Last 100 Lines. Para obtener los registros de paquete, seleccione Full Logs (Registros completos).
-
Cuando Elastic Beanstalk termine de recuperar sus registros, elija Descargar.
Elastic Beanstalk almacena los registros finales y agrupados en un bucket de Amazon S3 y genera un Amazon S3 prefirmado que puede usar para URL acceder a sus registros. Elastic Beanstalk elimina los archivos de Amazon S3 después de una duración de 15 minutos.
aviso
Cualquier persona que posea el Amazon S3 prefirmado URL puede acceder a los archivos antes de que se eliminen. Haga que URL estén disponibles solo para personas de confianza.
nota
La política de usuario debe tener el permiso s3:DeleteObject
. Elastic Beanstalk utiliza sus permisos de usuario para eliminar los registros de Amazon S3.
Si desea conservar los registros, puede configurar el entorno para que los publique en Amazon S3 automáticamente después de rotarlos. Para habilitar la rotación de registros en Amazon S3, siga el procedimiento en Configuración de la visualización de registros de instancias. Las instancias del entorno intentarán cargar los logs que se han rotado una vez cada hora.
Si la aplicación genera registros en una ubicación que no forma parte de la configuración predeterminada de la plataforma del entorno, puede extender la configuración predeterminada con los archivos de configuración (.ebextensions
). Puede agregar los archivos log de la aplicación a los logs de finalización, los logs de paquete o la rotación de logs.
Para la transmisión de registros en tiempo real y el almacenamiento a largo plazo, configure su entorno para transmitir los registros a Amazon CloudWatch Logs.
Secciones
Ubicación del registro en las EC2 instancias de Amazon
Los registros se almacenan en ubicaciones estándar en las EC2 instancias de Amazon de su entorno. Elastic Beanstalk genera los siguientes registros.
Amazon Linux 2
-
/var/log/eb-engine.log
Amazon Linux AMI (AL1)
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.
-
/var/log/eb-activity.log
-
/var/log/eb-commandprocessor.log
Windows Server
-
C:\Program Files\Amazon\ElasticBeanstalk\logs\
-
C:\cfn\log\cfn-init.log
Estos registros contienen mensajes sobre las actividades de implementación, como mensajes relacionados con los archivos de configuración (.ebextensions).
Cada aplicación y cada servidor web guarda los logs en su propia carpeta:
-
Apache:
/var/log/httpd/
-
IIS –
C:\inetpub\wwwroot\
-
Node.js:
/var/log/nodejs/
-
nginx:
/var/log/nginx/
-
Passenger:
/var/app/support/logs/
-
Puma:
/var/log/puma/
-
Python:
/opt/python/log/
-
Tomcat:
/var/log/tomcat/
Ubicación de registro en Amazon S3
Cuando solicita los registros de finalización o de paquete del entorno o cuando las instancias cargan registros rotados, se guardan en el bucket de Elastic Beanstalk de Amazon S3. Elastic Beanstalk crea un elasticbeanstalk-
bucket con el nombre de cada región en la que se crean AWS los entornos. En este bucket, los logs se guardan en la ruta region
-account-id
resources/environments/logs/
. logtype
/environment-id
/instance-id
Por ejemplo, los registros de la instanciai-0a1fd158
, en el AWS entorno de Elastic e-mpcwnwheky
Beanstalk us-west-2
en la región de la cuenta, se 123456789012
almacenan en las siguientes ubicaciones:
-
Registros de finalización:
s3://elasticbeanstalk-us-west-2-123456789012/resources/environments/logs/tail/e-mpcwnwheky/i-0a1fd158
-
Registros de paquete:
s3://elasticbeanstalk-us-west-2-123456789012/resources/environments/logs/bundle/e-mpcwnwheky/i-0a1fd158
-
Registros rotados:
s3://elasticbeanstalk-us-west-2-123456789012/resources/environments/logs/publish/e-mpcwnwheky/i-0a1fd158
nota
Encontrará el ID del entorno en la consola de administración del entorno.
Elastic Beanstalk elimina automáticamente los registros de finalización y de paquetes de Amazon S3 15 minutos después de su creación. Los registros rotados se mantienen hasta que se eliminan o se transfieren a S3 Glacier.
Configuración de rotación de registros en Linux
En plataformas Linux, Elastic Beanstalk utiliza logrotate
para rotar registros periódicamente. Si se ha configurado de este modo, cuando un registro ha rotado localmente, la tarea de rotación de registros lo selecciona y lo carga en Amazon S3. Los registros que han rotado localmente no aparecen de forma predeterminada en los registros de finalización o de paquete.
Puede encontrar los archivos de configuración de Elastic Beanstalk para logrotate
en /etc/logrotate.elasticbeanstalk.hourly/
. Esta configuración de rotación es específica de la plataforma y puede cambiar en futuras versiones de la plataforma. Para obtener más información sobre los ajustes disponibles y configuraciones de ejemplo, ejecute man logrotate
.
Los archivos de configuración se invocan mediante trabajos cron en /etc/cron.hourly/
. Para obtener más información acerca de cron
, ejecute man cron
.
Ampliación de la configuración predeterminada de la tarea de registro
Elastic Beanstalk utiliza los archivos de /opt/elasticbeanstalk/tasks
las subcarpetas de (LinuxC:\Program
Files\Amazon\ElasticBeanstalk\config
) o (Windows Server) de la instancia de EC2 Amazon para configurar las tareas de los registros finales, los registros de paquetes y la rotación de registros.
En Amazon Linux:
-
Registros de finalización:
/opt/elasticbeanstalk/tasks/taillogs.d/
-
Registros de paquete:
/opt/elasticbeanstalk/tasks/bundlelogs.d/
-
Registros rotados:
/opt/elasticbeanstalk/tasks/publishlogs.d/
En Windows Server:
-
Registros de finalización:
c:\Program Files\Amazon\ElasticBeanstalk\config\taillogs.d\
-
Registros rotados:
c:\Program Files\Amazon\ElasticBeanstalk\config\publogs.d\
Por ejemplo, el archivo eb-activity.conf
en Linux agrega dos archivos de registro a la tarea de registros de finalización.
/opt/elasticbeanstalk/tasks/taillogs.d/eb-activity.conf
/var/log/eb-commandprocessor.log
/var/log/eb-activity.log
Puede utilizar archivos de configuración del entorno (.ebextensions
) para agregar sus propios archivos .conf
a estas carpetas. Un archivo .conf
muestra los archivos de registro específicos de su aplicación que Elastic Beanstalk agrega a las tareas de archivo de registro.
Utilice la sección files
para agregar archivos de configuración a las tareas que desea modificar. Por ejemplo, el siguiente texto de configuración inserta un archivo de configuración de log en cada instancia del entorno. Este archivo de configuración de log, cloud-init.conf
, añade /var/log/cloud-init.log
a los registros de cola.
files:
"/opt/elasticbeanstalk/tasks/taillogs.d/cloud-init.conf" :
mode: "000755"
owner: root
group: root
content: |
/var/log/cloud-init.log
Agregue este texto a un archivo que tenga la extensión de nombre de archivo .config
en el paquete de código fuente dentro de una carpeta llamada .ebextensions
.
~/workspace/my-app
|-- .ebextensions
| `-- tail-logs.config
|-- index.php
`-- styles.css
En las plataformas Linux también puede utilizar caracteres comodín en las configuraciones de tareas de registro. Este archivo de configuración agrega todos los archivos con la extensión de nombre de archivo .log
de la carpeta log
de la raíz de la aplicación a los logs de paquete.
files:
"/opt/elasticbeanstalk/tasks/bundlelogs.d/applogs.conf" :
mode: "000755"
owner: root
group: root
content: |
/var/app/current/log/*.log
Las configuraciones de tarea de registro no admiten comodines en las plataformas de Windows.
nota
Para familiarizarse con los procedimientos de personalización de registros, puede implementar una aplicación de muestra mediante el EB. CLI Para ello, el EB CLI crea un directorio de aplicaciones local que contiene un .ebextentions
subdirectorio con un ejemplo de configuración. También puede utilizar los archivos de registro de la aplicación de ejemplo para explorar la función de recuperación de registros descrita en este tema. Para obtener más información sobre cómo crear una aplicación de muestra con el EBCLI, consulte CLIConceptos básicos del EB.
Para obtener más información sobre cómo usar archivos de configuración, consulte Personalización avanzada de entornos con archivos de configuración (.ebextensions).
De forma parecida a la ampliación de registros de finalización y los registros de paquete, puede ampliar lo rotación de registros con un archivo de configuración. Siempre que Elastic Beanstalk rota sus propios registros y los carga a Amazon S3, también rota y carga los registros adicionales. La extensión de rotación de registros se comporta de forma distinta en función del sistema operativo de la plataforma. En las siguientes secciones se describen los dos casos.
Ampliación de la rotación de registros en Linux
Como se explica en Configuración de rotación de registros en Linux, Elastic Beanstalk utiliza logrotate
para rotar registros en plataformas Linux. Al configurar los archivos de registro de su aplicación para la rotación de registros, la aplicación no necesita crear copias de los archivos de registro. Elastic Beanstalk configura logrotate
para crear una copia de los archivos de registro de la aplicación para cada rotación. Por lo tanto, la aplicación debe mantener archivos de registro desbloqueados cuando no escriba en ellos de forma activa.
Ampliación de la rotación de registros en Windows Server
En Windows Server, al configurar los archivos de registro de su aplicación para la rotación de registros, la aplicación debe rotarlos periódicamente. Elastic Beanstalk busca los archivos con los nombres que comiencen por el patrón que ha configurado y los elige para cargarlos a Amazon S3. Además, se ignoran los puntos en el nombre de archivo y Elastic Beanstalk considera que el nombre hasta el punto será el nombre de archivo de registro base.
Elastic Beanstalk carga todas las versiones de un archivo de registro base excepto la más reciente, puesto que considera que es le archivo de registro de aplicación activo, que podría estar bloqueado. Por lo tanto, la aplicación puede mantener el archivo de registro bloqueado entre las rotaciones.
Ejemplo: su aplicación escribe en un archivo de registro denominado my_log.log
y especifica este nombre en su archivo .conf
. La aplicación rota de forma periódica el archivo. Durante el ciclo de rotación de Elastic Beanstalk, encuentra los siguientes archivos en la carpeta del archivo de registro: my_log.log
, my_log.0800.log
, my_log.0830.log
. Elastic Beanstalk los considera a todos como versiones del nombre base my_log
. El archivo my_log.log
tiene la hora de modificación más reciente, por lo que Elastic Beanstalk carga solo los otros dos archivos, my_log.0800.log
y my_log.0830.log
.
Transmisión de archivos de registro a Amazon CloudWatch Logs
Puede configurar su entorno para transmitir los registros a Amazon CloudWatch Logs en la consola de Elastic Beanstalk o mediante las opciones de configuración. Con CloudWatch Logs, cada instancia de su entorno transmite los registros a grupos de registros que puede configurar para que se conserven durante semanas o años, incluso después de cerrar el entorno.
El conjunto de registros transmitidos varía en función del entorno, pero siempre incluye los registros eb-engine.log
y de acceso del servidor proxy de nginx o Apache que se ejecuta delante de la aplicación.
Puede configurar la transmisión de registros en la consola de Elastic Beanstalk durante la creación de entorno o para un entorno existente. Puede configurar las siguientes opciones desde la consola: habilitar o deshabilitar la transmisión de CloudWatch registros a los registros, establecer el número de días de retención y seleccionar una de las opciones de ciclo de vida. En el siguiente ejemplo, los registros se guardan durante un máximo de siete días, incluso cuando el entorno ha terminado.
El siguiente archivo de configuración habilita la transmisión de registros con 180 días de retención, incluso si el entorno ha terminado.
ejemplo .ebextensions/log-streaming.config
option_settings:
aws:elasticbeanstalk:cloudwatch:logs:
StreamLogs: true
DeleteOnTerminate: false
RetentionInDays: 180