#fluentdでApacheのログ監視をするよ
監視担当の要望でaccess_logをfluentdで監視するにあたり名前を固定化してほしいとの要望があり対応を入れた。
最初はlogrotationで対応しようとしたのだがaccess_logがでかすぎなのと連携しているTomcatとの切断とかが終わる前にApacheが起動してしまいログがきれいに回らなかったので2.4から入ったオプションで対応した。
###access_logの設定
10分間隔ログ取得
CustomLog "|/usr/sbin/rotatelogs -c -l -L /var/log/httpd/access_log /var/log/httpd/access_log.%Y%m%d%H%M 600" combined
1時間間隔ログ取得
CustomLog "|/usr/sbin/rotatelogs -c -l -L /var/log/httpd/access_log /var/log/httpd/access_log.%Y%m%d%H 3600" combined
1日間隔ログ取得
CustomLog "|/usr/sbin/rotatelogs -c -l -L /var/log/httpd/access_log /var/log/httpd/access_log.%Y%m%d%H 86400" combined
1週間間隔ログ取得
CustomLog "|/usr/sbin/rotatelogs -c -l -L /var/log/httpd/access_log /var/log/httpd/access_log.%Y%m%d 604800" combined
###error_logの設定
10分間隔ログ取得
ErrorLog "|/usr/sbin/rotatelogs -l -c -L /var/log/httpd/error_log /var/log/httpd/error_log.%Y%m%d%H%M 600"
1時間間隔ログ取得
ErrorLog "|/usr/sbin/rotatelogs -l -c -L /var/log/httpd/error_log /var/log/httpd/error_log.%Y%m%d%H 3600"
1日間隔ログ取得
ErrorLog "|/usr/sbin/rotatelogs -l -c -L /var/log/httpd/error_log /var/log/httpd/error_log.%Y%m%d%H 86400"
1週間間隔ログ取得
ErrorLog "|/usr/sbin/rotatelogs -l -c -L /var/log/httpd/error_log /var/log/httpd/error_log.%Y%m%d 604800"
ハードリンク設定を始めて使ったけどfluentdと併用するなら今後はスタンダードになっていくじゃないだろうか。
##※ただしrotatelogsはログを自動で削除してくれないので削除シェル+cron対応が必要なので注意。
初期構築前に言ってくれればもうちょう対応早くできたのに・・・と思うこのごろ。
メモ:
LoadModule log_config_module modules/mod_log_config.so