ぱそくま ろご
Linux > Apache HTTP > ログ

ログ

ログ

Apache httpdはエラーログやアクセスログなどWebサーバーの運用に必要なログを取ってくれます。ログの種類は下表を参考にしてください。環境下によって異なりますが、ログは/var/logs/httpdに出力されます。

ログ一覧
ログの種類説明
アクセスログ WEBサーバーへのアクセスログです。
エラーログ
エラーログ(CGI) CGIの実行時にエラーが発生した場合に出力されるログです。

ログの注意点

ログは貴重な情報であり改竄されては意味がありません。また、ログにはIPアドレスなどクライアント情報がそのまま載っています。 よって、セキュリティ上、ログファイルを第三者が書き込み、閲覧、取得ができないようにしなければなりません。必ずlogファイルの出力先のディレクトリのパーミッションに気をつけて下さい。 できれば「chown root:root [logディレクトリ]」 「chmod 700 [logディレクトリ]」にするのが良いでしょう。



必要なモジュール

もしもエラーログのみが必要な場合はモジュールは不要です。ただし、アクセスログなど解析に必要なログを取得する場合はmod_log_configなどが必要です。

ログに必要なモジュール

  • #アクセスログに必要なモジュールです。
  • LoadModule log_config_module modules/mod_log_config.so
  • #リクエスト毎の入出力バイト数のログ用。LogFormat ディレクティブで%I%Oを使わない場合は不要。
  • LoadModule logio_module modules/mod_logio.so
  • #cookiesを使用したクリックストリーム。
  • LoadModule log_config_module modules/mod_log_config.so

ログ関連のディレクティブ

ログ関連のディレクティブ
ディレクティブ説明デフォルト
ErrorLog エラーログの出力先を指定します。 ErrorLog logs/error_log
LogLevel エラーログに書き出すログのレベルを指定します。レベルが高いほどログの量は多くなります。
ログレベル
レベル説明
emerg 緊急 - システムが利用できない
alert
crit
error
warn
notice
info
debug デバッグメッセージまでログに出力されます。開発時に必要な場合がありますが、正式リリース後は膨大な量になりますので、対策が必要です。
LogLevel warn
CustomLog ログファイルの名前と書式を設定します。
LogFormat

アクセスログをカスタマイズ

アクセスログは出力条件と出力フォーマットとをカスタマイズできます。

アクセスログの出力条件をカスタマイズ

出力条件のカスタマイズとは例えば、ローカルアドレスはlocal-access.logにそれ以外はaccess.logに出力するなどです。 SetEnvモジュールが必要です。

出力条件のカスタマイズ例
出力条件例設定方法
国内と海外のアクセスログを別ける。
  • SetEnvIf Accept-Language "jp" japanese
  • CustomLog logs/domestic-access_log common env=japanese
  • CustomLog logs/foreign-access_log common env=!japanese

アクセスログの出力フォーマットをカスタマイズ

カスタムログ書式
フォーマット文字列説明出力例
%% パーセント記号。 %
%A ローカル(Webサーバー)のIPアドレス。 192.168.1.50
%B レスポンスのデータ量(バイト数)。HTTPヘッダは除きます。
%D リクエストを処理するのにかかった時間。(マイクロ秒単位)
%a リクエスト要求した端末(クライアント)のIPアドレス。 192.168.100.1、1XX.2XX.3XX.4XX
%b %Bと同じ。ただし、0バイトの場合、'-'になります。
%t アクセスした日時。
%{xxx}C サーバに送られたクッキーの値