Log Parserのインストール
それでは、Log Parserをインストールしてみましょう。
Log Parserの入手方法
Log Parserは、Microsoftのダウンロードセンターから無償で入手することができます。ここでは、LogParserの日本語版バージョン2.2.10「LogParser.msi」をダウンロードします(ファイルサイズは約1.4Mです)。
インストールと起動確認
Log Parserは、インストーラパッケージとして提供されています。
(1)インストーラの起動
インストーラパッケージ「LogParser.msi」をダブルクリックします(なお、アンインストールしたい場合には「LogParser.msi」をダブルクリックするか、コントロールパネルの[プログラムの追加と削除]から削除できます)。
(2)ウィザードに従って進む
画面に従い[次へ]ボタンをクリックしてウィザードを進めていきます。途中で「セットアップの種類の選択」という画面が表示されますので[完全]を選ぶと良いでしょう。なお[カスタム]を選択すると、インストール先や、ドキュメントやサンプルの要否などを選択できます。
最後に「Log Parser2.2セットアップウィザードの完了」という画面が表示されるので、[完了]ボタンをクリックします。
(3)Log Parserの起動
[スタート]メニューの[プログラム]-[Log Parser 2.2]-[Log Parser 2.2]をクリックします。コマンドプロンプトが起動し、Log Parserのヘルプメッセージが表示されます。
Log Parserの実行
本稿では、Log Parserを理解するために次の5つのサンプルを用意しました。簡単な例から始まり、最終的にはスクリプトやタスクといった他の機能と組み合わせて使う方法などを紹介します。
- 特定の名前に一致するファイルを表示
- イベントログからPCの起動時刻と終了時刻を抽出しCSVファイルを生成
- IISのアクセスログからチャートを生成
- IISのアクセスログからHTMLを生成
- 10分間隔でアプリケーションログをチェックしエラーがあればメールで送信
この基本編の例(例1~例2)では、クエリとパラメータについて詳細を解説していきます。別項の実践編の例(例3~例5)では、応用的な活用方法を中心に解説しています。
例1:特定の名前に一致するファイルを表示
それでは、実際にLog Parserでクエリを実行してみましょう。
[スタート]メニューの[プログラム]-[Log Parser 2.2]-[Log Parser 2.2]をクリックして、コマンドプロンプトが起動したら、次のクエリを「C:\Program Files\Log Parser 2.2>」の後ろにペーストして[Enter]キーを押してください。
LogParser -i:FS -o:NAT "SELECT Path,Size FROM log*.* ORDER BY Size DESC"
この命令は「実行パス(C:\Program Files\Log Parser 2.2)配下で、logという名前から始まるファイルを表示せよ(表示順はサイズが大きいものから降順)」という意味で、実行結果は次のようになります。
Path Size --------------------------------------------------------------------- ------- C:\Program Files\Log Parser 2.2\LogParser.dll 1280248 C:\Program Files\Log Parser 2.2\LogParser.exe 1237744 C:\Program Files\Log Parser 2.2\LogParser.chm 732567 C:\Program Files\Log Parser 2.2\Samples\Scripts\LogonMonitor.vbs 3396 C:\Program Files\Log Parser 2.2\Samples\Queries\LogonFailureStats.sql 2644 C:\Program Files\Log Parser 2.2\Samples\Queries\LogonFailures.sql 272 C:\Program Files\Log Parser 2.2\Samples\Queries\LogonSuccesses.sql 271 統計情報: --------- 処理された要素: 7 出力された要素: 7 実行時間: 0.03 秒
「C:\Program Files\Log Parser 2.2」のフォルダ配下で、logから名前が始まるファイルをサイズ順に検索できていることが分かります。
例2:イベントログからPCの起動時刻と終了時刻を抽出しCSVファイルを生成
続いて、イベントログを検索してみましょう。次の命令をコマンドプロンプトに1行で入力してください(ペーストする場合は改行が入らないように注意してください)。
LogParser -i:EVT -o:CSV "SELECT TOP 10 TimeGenerated,EventID INTO eventlog.txt FROM SYSTEM WHERE EventID IN (6005;6006) ORDER BY TimeGenerated DESC"
これは「EventIDが6005番(起動時)か6006番(シャットダウン時)のイベントログをCSV形式でeventlog.txtに出力せよ(表示順は最新の10件降順)」という命令です。結果は次のようになります。
TimeGenerated,EventID 2006-08-21 08:54:51,6005 2006-08-18 20:11:01,6006 2006-08-18 08:40:42,6005 2006-08-17 23:12:04,6006 2006-08-17 08:43:41,6005 2006-08-16 18:32:05,6005 2006-08-16 08:59:27,6005 2006-08-15 21:00:50,6005 2006-08-15 08:57:16,6006 2006-08-14 22:57:16,6006
コンピュータの起動日時と、シャットダウン日時がCSV形式で取得できていることが分かります。
このようにLog Parserを利用すると、簡単にシステムやファイルなどの状態を取得・表示できることがお分かりになったのではないでしょうか。
Log Paserの基本
引き続き、Log Paserの基本的な実行方法について説明します。
LogPaserの実行方法
Log Parserを実行するには、次の文法でコマンドプロンプトに入力します。大文字・小文字の区別はありません。
LogParser -i:入力形式 -o:出力形式 "クエリ" (入力形式と出力形式に 応じたパラメータ)
(1)LogParser
コンソールアプリケーションの「LogParser.exe」を起動します。
(2)-i:入力形式
引数の「-i:」で読み込む入力リソースを指定します。例えば、「-i:EVT」の場合はイベントログから、「-i:FS」の場合はファイルシステムから読み込みます。「-i:XXX」を省略するとデフォルトで「-i:TEXTLINE」として扱われます。
(3)-o:出力形式
同様に「-o:」という引数で、出力形式を指定します。「-o:NAT(ネイティブの略)」の場合は表形式で出力し、「-o:csv」の場合はCSV形式で出力します。「-o:XXX」を省略するとデフォルトで「-i:NAT」として扱われます。
(4)"クエリ"
二重引用符で囲まれた部分に、ログを抽出する条件であるクエリを記述します。このクエリの書き方については後ほど解説します。
(5)入力形式と出力形式に応じたパラメータ
さらに、入力形式と出力形式に応じたパラメータを設定することができます。
例えば、出力形式がNAT(表形式のテキスト表示)の場合、クエリの取得結果が多いときは10件が表示されたところで表示が待機状態になります。もし、10件ではなく、5件で表示を待機させたい場合には、「-rtp:5」というパラメータを付加することができます(全件表示の場合は「-rtp:-1」)。
LogParser -i:FS -o:NAT "SELECT PATH,SIZE FROM log*.* ORDER BY Size DESC" -rtp:5
このクエリを実行すると、次のように5件表示されたところで「何かキーを押してください...」と表示されます。
Path Size --------------------------------------------------------------------- ------- C:\Program Files\Log Parser 2.2\LogParser.dll 1280248 C:\Program Files\Log Parser 2.2\LogParser.exe 1237744 C:\Program Files\Log Parser 2.2\LogParser.chm 732567 C:\Program Files\Log Parser 2.2\Samples\Scripts\LogonMonitor.vbs 3396 C:\Program Files\Log Parser 2.2\Samples\Queries\LogonFailureStats.sql 2644 何かキーを押してください...
このように、入力形式や、出力形式に応じたパラメータを設定して、より細かい入力や出力を制御できるようになります。
出力結果の内容
これまで見てきたように出力結果は次の要素から構成されています。思うようにクエリの結果が出力されないときは、列名や該当件数などをチェックすると良いでしょう。
- 列名
- クエリの結果
- 統計情報(該当件数、実行時間など)
次に、クエリの書き方と出力方法の詳細について解説していきます。