services que logs home ec2 east aws logging amazon-web-services elastic-beanstalk amazon-elastic-beanstalk

logging - que - ¿Puedo agregar archivos de registro personalizados a los registros capturados por el comando ''eb logs'' de beanstalk elástico?



que es amazon web services (2)

Cuando solicito los archivos de registro para un entorno de beanstalk elástico a través de la interfaz web o los "registros de eb", obtengo el contenido de los archivos de registro /var/log/eb-version-deployment.log, / opt / python / log / httpd .out, /var/log/cfn-hup.log, y varios otros.

¿Hay alguna forma de agregar un registro adicional, como test_output.log, a los registros recopilados por la interfaz web y los "registros eb"?


¡Sí! Hay una manera. NUNCA debes tener que ingresar en tus instancias de Elastic Beanstalk.

Nos enteramos examinando el archivo eb-activity.log .

Dependiendo de su tipo de entorno (yo uso Python de Beanstalk), las ubicaciones en las que puede colocar los archivos de registro varían. Es necesario comprobar eb-activity.log .

Por ejemplo, con el tipo de entorno Python, en eb-activity.log debería ver:

[2015-09-15T20:29:36.102Z] INFO [2403] - [Initialization/PreInitStage0/PreInitHook/01setuplogs.sh] : Completed activity. Result: + mkdir -p /opt/elasticbeanstalk/tasks/taillogs.d /opt/elasticbeanstalk/tasks/sytemtaillogs.d /opt/elasticbeanstalk/tasks/bundlelogs.d /opt/elasticbeanstalk/tasks/publishlogs.d + /opt/elasticbeanstalk/bin/log-conf -n python ''-l/opt/python/log/*'' -t taillogs,systemtaillogs,bundlelogs + /opt/elasticbeanstalk/bin/log-conf -n python-app ''-l/opt/python/log/app.out.*'' -t publishlogs + /opt/elasticbeanstalk/bin/log-conf -n supervisord ''-l/opt/python/log/supervisord.log.*'' -t publishlogs + /opt/elasticbeanstalk/bin/log-conf -nhttpd ''-l/var/log/httpd/*'' -f /opt/elasticbeanstalk/containerfiles/beanstalkhttpd

Lo anterior muestra que Beanstalk configura el registro para cualquiera de los siguientes archivos:

  • / opt / python / log / *
  • /opt/python/log/app.out.*
  • /opt/python/log/supervisord.log.*
  • / var / log / httpd / *

Es decir, si coloca un archivo de registro en /opt/python/log/ , Beanstalk lo encontrará y lo presentará cuando "Solicite los registros". Puse mis archivos de registro en /opt/python/log/ porque WSGI group (que ejecuta mi aplicación) puede acceder a ellos. Esto sería ligeramente diferente si estuvieras usando el tipo de entorno Ruby por cierto. Todavía puede consultar eb-activity.log para ver qué directorios están configurados para el registro.


Elastic Beanstalk busca en esta carpeta archivos de configuración con respecto a qué registros seguir:

/opt/elasticbeanstalk/tasks/taillogs.d/

En mi caja hay un puñado de archivos allí.

[ec2-user@ip taillogs.d]$ ls -al total 32 drwxr-xr-x 2 root root 4096 Sep 27 05:49 . drwxr-xr-x 6 root root 4096 Sep 27 05:49 .. -rw-r--r-- 1 root root 58 Sep 27 05:49 eb-activity.conf -rw-r--r-- 1 root root 35 Sep 27 05:49 eb-version-deployment.conf -rw-r--r-- 1 root root 16 Oct 15 03:44 httpd.conf -rw-r--r-- 1 root root 16 Oct 15 03:44 nginx.conf -rw-r--r-- 1 root root 26 Oct 15 03:44 nodejs.conf -rw-r--r-- 1 root root 29 Oct 15 03:44 npm.conf

Y cada uno tiene una línea, como esta:

/var/log/nodejs/nodejs.log

o

/var/log/nginx/*

Use .ebextensions para agregar un archivo de configuración para .ebextensions sus propios registros:

files: "/opt/elasticbeanstalk/tasks/taillogs.d/my-app-logs.conf": mode: "000755" owner: root group: root content: | /var/log/my-app.log

Más información aquí:

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.logging.html#health-logs-extend