デフォルトの設定では、ワームなど不要なアクセスもごっちゃにロギングしてしまう。 設定をカスタマイズして必要なログだけとることは大切なことかと思います。

Worm のアクセスを別ファイルに記録する

画像ファイルへのアクセスを記録しない

 Apache のログはデフォルトでは、リクエストされた画像情報までログに残します。 しかし、これらの情報はあまり必要ないし、仮に1ページに10個の画像が配置されていたら、10行の画像情報のログを吐くことになるため、ログが無駄に肥大化します。また、ログを閲覧する際にも非常に見にくくなりますので画像に関してはログには出力しないように設定しておきます。

SetEnvIfの確認

ここでは、Apache のモジュールのひとつである、SetEnvIf を使用します。SetEnvIf はApache のインストール時にデフォルトで組み込まれていますが、念のため以下コマンドで確認。

# /usr/local/apache2/bin/apachectl -l
mod_setenvif.c

httpd.confの編集

 次に、httpd.conf を編集していきます。以下のようにSetEnvIf ディレクティブを追記し、CustomLog にenv=!nolog を追加しておきます。ドット「. 」の前にはエスケーブ文字「\」をつけるのも忘れないようにしましょう。.css と .js の情報もいらない場合は、ついでに追加しておきます。

# SetEnvIf
SetEnvIf Request_URI "\.(gif)|(jpg)|(png)|(css)|(js)$" nolog

CustomLog logs/access_log combined env=!nolog

apache再起動

# /usr/local/apache2/bin/apachectl restart

特定のホストからのアクセスを記録しない


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS