web-dev-qa-db-ja.com

Apacheログの命名規則

専用サーバー(CentOSを実行)から30以上のサイトを実行しています。これらのいくつかはサブドメインです。現在、このパターンを/ etc/httpd/logsのログファイルの命名規則として使用しています。

    site_com-error_log
    site_com-access_log

    sub_site_com-error_log
    sub_site_com-access_log

これはベストプラクティスですか?ログファイルの命名を改善するためにできることはありますか?

3
Kenzo

ファイルの命名はあなたの個人的な好みにすぎませんが、ファイル名でローテーションを使用していないことを伝えることができるため、ログはかなり大きく、シフトするのは難しいと思います。

X時間または日単位の回転を使用して、ファイル名の先頭または末尾の日付でファイル名のラベルを変更することを検討する必要があります。

典型的な例は次のようになります

LogLevel warn
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
ErrorLog "|/usr/sbin/rotatelogs -l /etc/httpd/logs/error_log.%Y-%m-%d-%H 3600"
CustomLog "|/usr/sbin/rotatelogs -l /etc/httpd/logs/access_log.%Y-%m-%d-%H 3600" combined

個人的に私は使用します:

date_subdomain_maindomain_error_log
date_subdomain_maindomain_access_log

次のようになります。

29-01-2013-1600_subdomain_maindomain_error_log
30-01-2013-1600_subdomain_maindomain_error_log

または、1日だけで24時間ごとにログをローテーションさせることができます

 CustomLog "|/usr/sbin/rotatelogs -l /etc/httpd/logs/access_log.%d"

 28_subdomain_maindomain_error_log
 29_subdomain_maindomain_error_log
 30_subdomain_maindomain_error_log

上記を使用すると、問題の管理と発生がより簡単になりますが、ファイルの名前付けは個人の好みに依存し、現実的にはあなた自身よりも良い答えはありません:P

ログのローテーションの詳細については、 rotatelogs をご覧ください。

2
Simon Hayter

「公式ソース」ではありませんが、この場合、ピリオドを使用して、.error_log(または.error.log)をファイル拡張子のように扱う実験をしました。ある種の「GUI」で表示している場合、これにより、拡張機能でより簡単にソートできます。また、これは、一部のツールでerror_logの_がスペースにならないようにすることに傾いている場合があります。

文字列の先頭に行く限り、あなたの考えは有効ですが、ソート/検索の目的のために、おそらくあなたはサブのないものにwwwを含めることができます。これは、アルファベット順ですべてのトップレベルのwwwをまとめて配置するため、少し適切にソートされます。すぐにgrepが簡単になり、wwwが表示されるようになります。

実際、これらの両方は、Apacheログファイルの通常の命名方法に反しており、要件に対応していない場合がありますが、完全を期すために戦術です。お役に立てば幸いです!

1
dhaupin

より適切なソートを行うには、TLDから始めて、2番目のレベル、3番目のレベルなどが続きます。

com-example
com-example-sub
net-example-sub-sub
net-example-www

このようにして、特定のドメインのすべてのサブドメインが「グループ化」されます。

1
unor