Apacheログの特定ファイル対象外設定

WEBサーバー管理

ぽんこつWEBサーバー構築 powered by

ぽんこつWEBサーバー構築

ぽんこつWEBサーバー構築 -count-

 Apacheのログ設定をデフォルトのまま動かしていると、 アクセスログの容量が膨大になってしまいます。

 ここでは、画像ファイル(".jpg",".gif",".png")やCGI(".cgi")、 スタイルシート(".css")等のアクセスログや "自宅サーバーWebRing"の監視ログ(OPTION **)など、 アクセスログを取得してもあまり意味のないファイルを 拡張子ファイル名に応じてログ取得の対象外とする方法を紹介します。

 Apacheログの対象外設定をするには"httpd.conf"ファイルをいじります。 "SetEnvIf"を使うことにより、 要求されたURI(Request_URI)やリモートホスト名(Remote_Host)の定義(nolog)を作成し、 その定義(nolog)に合致しない場合のみアクセスログを取得するように設定します。

デフォルト設定やVirtualHost設定の中の"CustomLog"の前に "SetEnvIf"の定義を追加し、"CustomLog"の最後に条件を追加します。

SetEnvIf Request_URI "\.(gif)|(jpg)|(css)|(cgi)$" nolog
# ↑ ".gif",".jpg",".css",".cgi"で終わる(最後の$マーク)URIを"nolog"と定義
SetEnvIf Request_URI "sample\.cgi" nolog
# ↑ "sample.cgi"という文字列を含むURIを"nolog"と定義
SetEnvIf Remote_Host "d123456\.ppp\.or\.jp" nolog
# ↑ "d123456\.ppp\.or\.jp"というリモートホスト名を"nolog"と定義
CustomLog log/access.log combined env=!nolog
# ↑ "nolog"に定義されてなければログファイルに書き込む

 "SetEnvIf"で定義できるものは以下の通りです。

設定値概略
Remote_Hostクライアントのホスト名
Remote_AddrクライアントのIPアドレス
Server_AddrサーバのIPアドレス (2.0.43 以降のみ)
Request_Methodメソッド名 (GET, POST など)
Request_Protocolプロトコルの名前とバージョン ("HTTP/0.9", "HTTP/1.1" など)
Request_URI要求されたURI

 これらの拡張子等によるApacheログの対象外設定はアクセスが多くなってくるとかなり重要です。

 <当サイト実績> "1,600 KB" → "250 KB"

 一瞬Apacheのアクセスログが取れてないのかと思い、Apacheが異常終了してないか心配になっちゃいました。。。 設定方法は簡単なのでぜひぜひ試してみてください。

こちらは管理人のおすすめです。もしよかったらご覧ください。

◆".com"ドメインが年間700円・・・リンククラブ
◆3万円台からの激安パソコンショップ・・・マウスコンピューター

トップページ 前章:Apacheのログ形式設定 次章:Apacheログの自動ローテーション
ブログパーツ

★姉妹サイト
 マウスコンピューターフリーク・・・激安パソコン紹介
 【HP・WEB収入】課題達成型アフィリエイト・・・ホームページで広告収入
[運営者情報]

広告


関連コンテンツ