ローカルアクセスをログから除外する

AWStatsのようなアクセスログベースのアクセス統計ツールでApacheのアクセスログを解析する際に、ローカルアクセスのログを邪魔に感じることがあります。自宅サーバの場合、基本的にローカルアクセス = 管理アクセスということになりますので、なおさらです。
#イントラネットのWebサーバなど、ローカルアクセス ≠ 管理アクセスという場合もあります。

AWStatsであれば、設定でそのようなアクセスを統計から除外することもできますが、Apache側の設定でログを取得しないように設定することができます。してみたところ、気分的にかなり快適になりました。

設定は非常に簡単で、デフォルトで以下のように書かれている設定を、

CustomLog logs/access_log combined

以下のように書き換えるだけです。

SetEnvIf Remote_Addr 192.168.0. no_log
CustomLog logs/access_log combined env=!no_log

見れば一目瞭然ですが、リモートアドレスが192.168.0.0/24なアクセスを”no_log”という名前で環境変数として設定しておき、それに合致しないログを記録する、ということになります。

SetEnvIfのリファレンスマニュアルはこちら

コメントする