Apache | ログファイル | ログ内のIPアドレスをホスト名に変換(logresolve)

アクセスログに記録されるアクセス情報は、IPアドレスで記録される。記録時点でIPアドレスをホスト名に変換して記録する設定(HostnameLookups)もあるが、これはアクセスのたびにDNS参照が発生して負荷が高くなるため、一般的にはログに記録された後でホスト名へ一括変換する。

Apacheでは、IPアドレスをホスト名に変換して別ファイルへ保存するユーティリティプログラムが提供されている。{Apacheインストールディレクトリ}/Apache24/binディレクトリに入っているlogresolveプログラムを使用する。

使い方は次のとおりである。

logresolve < 対象ログファイル

上記コマンドを実行すると、変換されたログが標準出力に表示される。これを別ファイルへ保存する場合は、次のように実行する。

logresolve < 対象ログファイル > 変換ログファイル

では実際に試してみる。コマンドプロンプトで{Apacheインストールディレクトリ}/Apache24/binへ移動し、次のように実行する。

logresolve < ..\logs\access.log > ..\logs\resolve.log
C:\apache\Apache24\bin>logresolve < ..\logs\access.log > ..\logs\resolve.log

C:\apache\Apache24\bin>

すると、ログファイルが入っているディレクトリにresolve.logファイルが新しく作成される。テキストエディタで内容を確認する。

DESKTOP-XXXXXXX - - [06/Dec/2019:00:48:42 +0900] "GET /admin/admin.html HTTP/1.1" 404 196 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
DESKTOP-XXXXXXX - - [06/Dec/2019:00:49:03 +0900] "GET / HTTP/1.1" 200 46 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
DESKTOP-XXXXXXX - - [06/Dec/2019:00:49:03 +0900] "GET /favicon.ico HTTP/1.1" 404 196 "http://127.0.0.1/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
DESKTOP-XXXXXXX - - [06/Dec/2019:00:49:24 +0900] "GET /phpinfo HTTP/1.1" 404 196 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
DESKTOP-XXXXXXX - - [06/Dec/2019:00:49:34 +0900] "GET /phpinfo.php HTTP/1.1" 200 72966 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
DESKTOP-XXXXXXX - - [06/Dec/2019:00:50:34 +0900] "-" 408 - "-" "-"

IPアドレスがホスト名に変換されて保存されている。テスト環境のため、127.0.0.1DESKTOP-XXXXXXXに変換されている。