virginia logs log elastic ec2 east aws logging amazon-ec2 log4j beanstalk

logs - Rotación de S3 Logging usando log4j con Elastic Beanstalk



logs elastic beanstalk (2)

Las AMI iniciales de Beanstalk no estaban rotando los registros correctamente. Puede solucionarlo utilizando la última AMI en su implementación. Vaya a la consola EC2, AMI. Filtre la lista eligiendo Amazon Images, "elasticbeanstalk" y luego ordene por "Fuente" para ver las últimas AMI.

Alternativamente, puede editar el archivo /etc/logrotate.conf.elasticbeanstalk en el servidor Beanstalk para corregir la rotación de registros. La siguiente configuración agrega la marca de tiempo después de los nombres de archivo. Produce registros como tail_catalina.log-1322236861.gz, tail_catalina.log-1322240461.gz, etc.

/var/log/tomcat6/catalina.out /var/log/tomcat6/monitor_catalina.log /var/log/tomcat6/tail_catalina.log { size 1M missingok rotate 2 compress notifempty copytruncate dateext dateformat -%s lastaction /bin/chown tomcat:elasticbeanstalk /var/log/tomcat6/*gz; /bin/chmod 664 /var/log/tomcat6/*gz endscript }

Estoy tratando de transferir cada archivo de registro a s3. Hay un script automático que recoge tail_catina.log y sobrescribe cualquier cosa allí.

Quiero que cada archivo de registro: tail_catalina.log1 , tail_catalina.log2 , tail_catalina.log3 etc. se guarden en mi s3.

¡¡Quiero todo!!


Utilizo una combinación básica de logrotate , s3cmd y cron para lograr esto de manera bastante simple.

He hecho una descripción detallada y una explicación en mi blog . Debería funcionar para cualquiera que ejecute un servidor Apache en un entorno Linux. Espero que la gente lo encuentre útil ya que me tomó algunas horas obtener los detalles.

La secuencia de comandos básica está a continuación, consulte la publicación del blog para un desglose de línea por línea:

# rotate the logs! # common settings compress compresscmd /bin/gzip compressoptions -9 compressext .gz dateext dateformat -%Y-%m-%d-%s rotate 3 nomail missingok daily size 5k create 640 username username /var/logs/www.runpartner.com/*.log { sharedscripts postrotate sudo /usr/sbin/apache2ctl graceful /usr/bin/s3cmd sync /var/logs/www.runpartner.com/*.gz s3://bucket-logs/www.runpartner.com/ endscript }