連載
» 2007年02月01日 00時00分 公開

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

Log Parser活用編。Webサーバ・ログのSQLデータベースへのインポート、ログ情報からのグラフ作成などを行う。

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

 

「運用」のインデックス

連載目次

 前回は、Log Parserの概要紹介と入手、インストール方法、初歩的な使い方について説明した。前回のサンプルでは、Log Parserを使ってシンプルなテキスト形式のデータを出力した。引き続き今回は、Log Parserからチャート(グラフ)を作成するなど、Log Parserが持つ多彩な出力機能の一部をサンプルとともにご紹介しよう。

Log Parserからチャートを出力する

 Log Parserでは、入力データを単純なテキスト・ファイルとして出力する以外に、チャート(Microsoft Office Graph)を出力したり、SQLサーバにデータ転送したり、テンプレート・ファイルを利用してHTML出力を行ったりできる。これらの具体的な使い方について説明する。

 数値出力をうまく処理することは、ログ解析の基本ともいえる。しかしログ分析を直感的、効率的に実行するには、ログ・データをチャート(グラフ)など見やすい形式にできると便利だ。数値と多角的なグラフを組み合わせれば、データへの理解がより深まる。

 Log Parserには、チャート形式でデータを出力する機能が用意されている。ただしこの機能を利用するには、Log Parserを実行するマシンにあらかじめ「Office 2003」、または「Microsoft Office Web Components」をインストールしておく必要がある。後者のMicrosoft Office Web Componentsは、以下のページから無償でダウンロードできる。

 ここでは例として、Internet Information Services(IIS)が出力したW3C拡張ログ・ファイル(Webアクセス・ログ)を分析し、「*.aspx」の拡張子を持つ動的ページのURIへのリクエストを集計し、上位10件のURIをグラフ形式で表示してみよう。

 Log Parser用のスクリプト・ファイルは以下のようになる。これをテキスト形式のファイル(ここではW3CLog.txtとした)として保存し、Log Parser.exeと同じフォルダに保存する。

 1:  -- W3CLog.txt
 2: Select
 3:      Top 10
 4:      URI,
 5:      Total
 6: Using
 7:      Count(*) As Total,
 8:      TO_UPPERCASE(cs-uri-stem) As URI
 9: Into
10:      W3CLog.jpg
11: From
12: -- IIS W3C 拡張ログ ファイル形式が保存されているフォルダを指定する
13:      C:\Windows\system32\IISLogs\*.*
14: Where
15:      cs-uri-stem like '%.aspx%'
16: Group by URI
17: Order by Total
18: DESC

 6行目で指定している“Using”は、Select句に指定するフィールドの可読性を向上させるために、フィールド式の別名(エイリアス)を指定する句である。具体的には、“Count(*)”に対して“Total”という別名を、“TO_UPPERCASE(cs-uri-stem)”(ログ中の“cs-uri-stem”フィールドの値をすべて大文字にする)に対して“URI”という別名をそれぞれ指定している。この指定により、クエリ内のどの部分でも(後方参照でも)別名を使えるようになる。4〜5行目のSelect句でこれらを使用し、クエリによって返される出力レコードのフィールドを指定している。Select句における3行目の引数“Top 10”は、クエリの結果セットから先頭10行のレコードのみを出力する指定である。

 11行目のFrom句で指定したフォルダからIIS W3C拡張ログ・ファイルを読み出し、cs-uri-stemフィールドに文字列“.aspx”を含むレコードのみを抽出後(14〜15行目)、結果をURI(別名)でグループ化し(16行目)、Total(別名)で出力レコードの出力順を指定している(17行目)。そして9〜10行目のInto句で指定しているのが出力先で、ここではW3CLog.jpgというJPEG形式のファイルを指定している。最終的なグラフ出力は、このイメージ・ファイルに対して実行されることになる。Log Parserがサポートするクエリ構文や式、関数の詳細などについては、Log Parserのヘルプ・ファイルを参照されたい。

 上記のスクリプト・ファイルを用意したら、コマンド・プロンプトから以下のコマンドを実行する。

LogParser file:W3CLog.txt -i:IISW3C-o:chart -chartType:Column3D -view:on

 今回は入力としてIIS W3C拡張ログ形式を指定するために、-i:オプション(入力形式指定)に“IISW3C”を、出力形式としてチャート(グラフ)を指定するために-o:オプション(出力形式指定)に“chart”をそれぞれ指定している。出力するグラフの種類は、“-chartType:”オプションで指定する。今回は“Column3D”として、3次元棒グラフを指定した。chartTypeで指定できるグラフの種類は、コンピュータにインストールされているコンポーネントの種類による。使用できるグラフの一覧は、Log Parserのコマンドライン・ヘルプで確認できる。以下のコマンドを実行すると、そのコンピュータで利用可能なグラフの種類が一覧表示される。

LogParser -h -o:CHART

 このようにチャートを出力形式に指定した場合は、スクリプトのSQL形式クエリのInto句に出力ファイル名を指定しておく必要がある。

 コマンド・ラインの最後に指定した“-view:on”オプションは、Log Parserの実行直後に出力結果を表示させる指定である。出力結果をファイルに保存するだけなら(すぐに結果を表示しないなら)、“-view:off”を指定する。

 実行結果は以下のようになる。

出力形式としてチャートを指定した例
ここではIISのログから、アクセスの多い上位10個の動的ページ(.aspx)の参照数をグラフ表示した。


       1|2|3|4 次のページへ

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

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

メールマガジン登録

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