連載
» 2006年10月27日 00時00分 公開

無償ながら強力なログ解析ツールLog Parserを活用する:第1回 Log Parserの概要 (2/4)

[小板公一,マイクロソフト株式会社]

多彩な入出力に対応する汎用ログ解析ツール

 ログ解析を支援するツールはすでに多数存在している。しかし一般的なログ解析ツールやログ変換ツールは、特定の入力形式や出力形式に特化した処理を実行するために設計されていることが多い。このため、必要なデータを取得するためには、複数のツールを組み合わせて利用するのが一般的である。個々のツールの使用方法を習得するには、それぞれに相応の努力と時間が必要となる。

 Log Parserも、当初はIIS(Internet Information Services。マイクロソフトのWebサーバ)のアクセス・ログを解析するために開発されたツールだった(後述のコラム「開発者が語るLog Parser誕生秘話」参照)。しかしその後、さまざまな入力形式(20種類以上)と出力形式(9種類以上)が追加実装され、現在のLog Parser 2.2は、汎用的なログ解析用途で活用可能なツールとなっている。

 Log Parser 2.2で取り扱い可能な主な入出力形式には、以下のようなものがある。

入力形式 出力形式
IIS W3C拡張ログ形式 W3C拡張ログ形式
Microsoft IISログ・ファイル形式 SQL Serverへのデータ送信
NCSA共通ログ・ファイル形式 SYSLOGサーバへのデータ送信
集中バイナリ・ログ チャート形式
HTTPエラー・ログ テンプレートを利用したHTML形式
ODBCログ XML形式
FTPログ・ファイル CSV形式
SMTPログ・ファイル タブ区切りテキスト形式
Windowsイベント・ログ 汎用的なテキスト形式
Windowsレジストリ  
Active Directoryオブジェクト  
ファイルとディレクトリ情報  
NetMon.capキャプチャ・ファイル  
拡張または結合されたNCSAログ・ファイル  
W3C拡張ログ形式  
ETW(Event Tracing for Windows)トレース  
XML形式  
CSV形式  
タブ区切りテキスト形式  
汎用的なテキスト形式  
独自の入力形式(COM入力形式のCOM+プラグインの作成が必要)  
Log Parser 2.2が扱える主な入出力形式

 Log Parserには、上記入出力形式を変換するための専用のSQL形式エンジン・コアが実装されている。このためLog Parserを利用したデータ変換や集計では、一般的なSQL句(SELECT、WHERE、GROUP BY、HAVING、ORDER BYなど)や、集計関数(SUM、COUNT、AVG、MAX、MINなど)、およびその豊富な関数(TO_STRING、SUBSTR、CASEなど)を利用可能である。

Log Parserの機能
Log Parser 2.2は、さまざまなデータ形式を入力データとして受け付け、さまざまな形式のデータとして出力できる。データ操作には、SQL文を利用できる。

 従ってLog Parserを利用すれば、例えば、Webサーバ・ログを分析してサイトの人気ページを調査したり、イベント・ログから特定の条件を満たすイベントだけを抜き出したり、ファイル・システム全体から古くてサイズの大きなファイル一覧を取り出したりできる。出力結果をSQL Serverのデータベースとして登録することも、CSV形式などを経由してExcelに送り、グラフを作成することなどもできるというわけだ。

コマンドラインとスクリプトの双方に対応

 Log Parserは、.EXE形式(.EXE形式の単一バイナリ)と.DLL形式COMコンポーネント)の2種類で提供されている。このうち.EXE形式の方は、コマンドライン(コマンド・プロンプト=cmd.exe)で利用できる。つまり、ちょっとした解析なら、Log Parserをコマンドライン・ツールとして実行したり、バッチ・ファイルから実行したりできる。

 一方のDLL形式のLog Parserを利用すれば、Visual Basic ScriptなどのWSH(Windows Script Host)によるスクリプトから利用することも可能だ。本格的なスクリプトを組んで自動化を図るなら、WSHスクリプトを使うことになるだろう。

 WSHスクリプトからLog Parserを使う場合は、Windows環境で利用可能なほかのCOMオブジェクト(Collaboration Data Objects:CDOやFile System Object:FSOなど)と連携し、メール送信やファイル操作などとLog Parserの処理を組み合わせて自動化することもできる。

 このようにLog Parserは、気軽なコマンドライン・ツールとしても、WSHスクリプトによる本格的な自動化処理の機能の一部としても活用できる。Log Parserによって、データ解析やファイル変換などの単純作業を自動化すれば、データ分析など本来の業務に集中することができるようになる。

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。