TL;DR
業務にて、Webサーバーのログファイル解析を依頼されたのですが、結局その業務は実施されないことになりました。
…が、上司より「今後のためにhttp Logs Viewerに馴染んどいて」との命を受けました。
そんな経緯があって、http Logs Viewerを実際にinstallして使ってみたので、使い方と試してみたことの備忘録です。
http Logs Viewerの概要
- ApacheやNginxのログファイルをこのソフトに食わせることで、ログファイルの内容を綺麗に表示・分析・再出力してくれるツールです。
- 基本的にはアクセスファイルとエラーファイルを食わせる
- 検索・フィルター機能も提供してくれています。
- 特定の条件に基づいて、ハイライト表示してくれます。
- エクスポート機能も備えているので、CSV形式での再出力も可能
- レポート機能もあるので、円グラフ・棒グラフでアクセスパターンなどを表示できる
インストール
こちらのリンク先からダウンロードしました。
https://softaro.net/http-logs-viewer/
使い方
今回はApacheのログファイルを使って、http Logs Viewrを使っていきたいと思います。
なにはともあれログファイルを食わせるところから
ログファイルをサーバーからダウンロードしてきます。
Apacheの場合、ログファイルの出力ディレクトリは/var/logs/httpdの下です。
厳密に確認したい場合は、/etc/httpd/conf/httpd.confのErrorLogディレクティブの設定項目を確認すればわかります。
ログ出力ディレクトリにはaccess_logとerror_logという2種類のファイルがあるはずなので、これをダウンロードします。
ファイルがダウンロードできたら、http Logs Viewerに食わせます。
今回はaccess_logを食わせます。error_logの場合は以下の画像の赤丸の一つ下。
「Add Error Log」を選択します。

「Add Access Log」を選択すると、Optionを選ぶように促されます。

Apacheの設定にて、ログ出力形式をデフォルトのままいじってなければCommonのままでOK。
いじっている場合は、CustomにてLog Formatを指定してあげてください。
そうしてファイルを食わせるとこんな感じで表示してくれます。

httpステータスコードごとにログファイル行の強調色を変えてくれていて、とても見やすいですね!
そしてやばいくらい攻撃されてることもわかりますね…(笑)
ちなみに食わせた元ファイルはこんな感じ。

元のファイルだと攻撃されてるのかぱっと見ではわかりにくいですが、こうして比較すると圧倒的にhttp Logs Viewerが見やすいことが分かりますね!
検索
例えば特定のIPアドレスが何をしてくれているのかを検索したいとします。
以下のように、望遠鏡アイコンを選択。

すると検索ダイアログが表示されるので、検索条件を入力します。

今回の場合だとIP Addressに検索したいIPを入力することで、検索が可能となります。
フィルター
例えばhttpステータスコードが200以外のものでフィルタリングしたいとします。
以下の画像の赤丸部分にフィルタリング条件を設定します。
「以外」を選択する場合、一番左の赤丸部分をクリックし、「Exclude」を選択します。

ステータスは「200-OK」とし、「Apply Filter」をクリック。
すると200のステータス以外のログのみが表示されます。

フィルターを解除するには、以下の画像の赤丸部分をクリックすればOKです。

CSVエクスポート
File > Export ListもしくはExport Selectedから出力できます。

統計情報の表示
例えば、国別のアクセス割合を表示したいとします。
以下の画像のとおり選択すると…

このように円グラフで表示してくれます。

まとめ
とりあえず基本的な使い方を試して、まとめてみました。
今回はデフォルト設定のままのApacheのログを使いましたが、本番運用されているログはもっと複雑になっていると思うのでいずれは実践で使いこなせるようになれればと思います。