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
}