ログに記録されたIPアドレスをホスト名に変換する(logresolve)
アクセスログに記録されるアクセス元の情報はIPアドレスで記録されます。ログに記録される時点でIPアドレスをホスト名に変換して記録するための設定も用意されています(HostnameLookups)が、アクセスがあるたびにDNS参照が発生し負荷が高くなるため、通常はログに記録された後でホスト名に一括して変換を行います。
IPアドレスをホスト名に変換して別ファイルとして保存するためのユーティリティプログラムがApacheでは用意されています。「(Apacheをインストールしたディレクトリ)¥Apache2.2¥bin」ディレクトリに含まれている「logresolve」プログラムを使います。
使い方は次の通りです。
logresolve < 対象ログファイル
上記を実行すると変換したログが標準出力に表示されます。これを別のファイルに保存する場合には次のように実行して下さい。
logresolve < 対象ログファイル > 変換後ログファイル
それでは実際に試してみます。コマンドプロンプトで「(Apacheをインストールしたディレクトリ)¥Apache2.2¥logs」に移動してから次のように実行して下さい。
logresolve < ..¥logs¥access.log > ..¥logs¥resolve.log
するとログファイルが置かれているディレクトリに「resolve.log」ファイルが新規に作成されます。テキストエディタで中身を確認してみます。
IPアドレスがホスト名に変換されて保存されています。(テスト環境のため、127.0.0.1がlocalhostに変換されているだけです)。
( Written by Tatsuo Ikura )