Apache ログの出力をカスタマイズする
ログ出力のカスタマイズ設定
1日毎にエラーログファイルを分割
ログローテートを指定する。
ErrorLog "| /usr/sbin/rotatelogs /var/log/apache2/error_log.%Y%m%d 86400"
ログの出力形式を変更
ログファイルに書き出される情報をカスタマイズする。
LogFormat "%h %l %u %t \"%r\" %>s %b\ \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
クローラーのアクセスログを分離
検索エンジンのクローラーがアクセスしたログを切り分けて出力する。
クローラーの判別
User-Agent をもとにクローラーの判別条件を設定する。
# Crawler Access Log
SetEnvIf User-Agent "Googlebot" crawler no_log
SetEnvIf User-Agent "Googlebot-Image" crawler no_log
SetEnvIf User-Agent "InfoSeek Sidewinder" crawler no_log
SetEnvIf User-Agent "Slurp" crawler no_log
SetEnvIf User-Agent "mogimogi" crawler no_log
SetEnvIf User-Agent "indexpert" crawler no_log
SetEnvIf User-Agent "ZyBorg" crawler no_log
SetEnvIf User-Agent "nabot" crawler no_log
SetEnvIf User-Agent "Python-urllib" crawler no_log
SetEnvIf User-Agent "dloader" crawler no_log
SetEnvIf User-Agent "Openbot" crawler no_log
SetEnvIf User-Agent "ia_archiver" crawler no_log
SetEnvIf User-Agent "aruyo" crawler no_log
SetEnvIf User-Agent "Aruyo" crawler no_log
SetEnvIf User-Agent "fast" crawler no_log
SetEnvIf User-Agent "Scooter" crawler no_log
SetEnvIf User-Agent "tokiwa" crawler no_log
SetEnvIf User-Agent "moget" crawler no_log
SetEnvIf User-Agent "Girafabot" crawler no_log
SetEnvIf User-Agent "Ask Jeeves" crawler no_log
SetEnvIf User-Agent "Indy Library" crawler no_log
SetEnvIf User-Agent "NaverBot" crawler no_log
SetEnvIf User-Agent "msnbot" crawler no_log
SetEnvIf User-Agent "Baiduspider" crawler no_log
SetEnvIf User-Agent "sogou spider" crawler no_log
SetEnvIf User-Agent "yetibot" crawler no_log
SetEnvIf User-Agent "Yeti" crawler no_log
クローラーのアクセスログを1日毎に分割出力
CustomLog "| /usr/sbin/rotatelogs /var/log/apache2/crawler_log.%Y%m%d 86400" combined env=crawler
クローラー以外のアクセスログを1日毎に分割出力
CustomLog "| /usr/sbin/rotatelogs /var/log/apache2/access_log.%Y%m%d 86400" combined env=!no_log