Вращение S3 Logging с использованием log4j с Elastic Beanstalk - PullRequest
3 голосов
/ 17 ноября 2011

Я пытаюсь перенести каждый файл журнала на s3. Существует автоматический скрипт, который берет tail_catina.log и перезаписывает что-либо там.

Я хочу, чтобы каждый файл журнала: tail_catalina.log1, tail_catalina.log2, tail_catalina.log3 и т. Д. Сохранялся в моем s3.

Я хочу все !!

Ответы [ 2 ]

6 голосов
/ 15 июля 2012

Я использую базовую комбинацию logrotate , s3cmd и cron , чтобы добиться этого довольно просто.

Я сделал подробное описание и объяснение в своем блоге . Он должен работать для всех, кто работает на сервере Apache в среде Linux. Я надеюсь, что люди находят это полезным, поскольку мне потребовалось несколько часов, чтобы выяснить детали.

Ниже приведен основной сценарий, см. Публикацию в блоге построчно:

# 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
}
1 голос
/ 06 декабря 2011

Ранние AMI Beanstalk не вращали журналы должным образом.Вы можете исправить это, используя последнюю версию AMI в своем развертывании.Перейти к консоли EC2, AMI.Отфильтруйте список, выбрав Amazon Images, «asticbeanstalk », а затем отсортируйте по« Source », чтобы увидеть последние AMI.

В качестве альтернативы вы можете отредактировать файл /etc/logrotate.conf.elasticbeanstalk на сервере Beanstalk, чтобы исправить его.ротация бревен.Следующая конфигурация добавляет метку времени после имен файлов.Он создает журналы, такие как tail_catalina.log-1322236861.gz, tail_catalina.log-1322240461.gz и т. Д.

/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
}
...