SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Log Parserでログを統合的に扱い運用保守に役立てる

Log Parserでログを統合的に扱い運用保守に役立てる(基本編)

Log Parserの使い方をマスターしてログを効率的に監視する


  • X ポスト
  • このエントリーをはてなブックマークに追加

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つのサンプルを用意しました。簡単な例から始まり、最終的にはスクリプトやタスクといった他の機能と組み合わせて使う方法などを紹介します。

  1. 特定の名前に一致するファイルを表示
  2. イベントログからPCの起動時刻と終了時刻を抽出しCSVファイルを生成
  3. IISのアクセスログからチャートを生成
  4. IISのアクセスログからHTMLを生成
  5. 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件降順)」という命令です。結果は次のようになります。

実行結果(C:\Program Files\Log Parser 2.2\eventlog.txt)
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を実行するには、次の文法でコマンドプロンプトに入力します。大文字・小文字の区別はありません。

Log Paserの基本的な構文
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」として扱われます。

補足
 「-i:」や「-o:」の後に指定するアルファベットの文字列は、「Log Parserの特長」で説明した一覧表(入力出力)を参照してください。

(4)"クエリ"

 二重引用符で囲まれた部分に、ログを抽出する条件であるクエリを記述します。このクエリの書き方については後ほど解説します。

(5)入力形式と出力形式に応じたパラメータ

 さらに、入力形式と出力形式に応じたパラメータを設定することができます。

 例えば、出力形式がNAT(表形式のテキスト表示)の場合、クエリの取得結果が多いときは10件が表示されたところで表示が待機状態になります。もし、10件ではなく、5件で表示を待機させたい場合には、「-rtp:5」というパラメータを付加することができます(全件表示の場合は「-rtp:-1」)。

5件づつ表示(NAT出力形式のパラメータ設定)
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
何かキーを押してください...

 このように、入力形式や、出力形式に応じたパラメータを設定して、より細かい入力や出力を制御できるようになります。

出力結果の内容

 これまで見てきたように出力結果は次の要素から構成されています。思うようにクエリの結果が出力されないときは、列名や該当件数などをチェックすると良いでしょう。

  1. 列名
  2. クエリの結果
  3. 統計情報(該当件数、実行時間など)

 次に、クエリの書き方と出力方法の詳細について解説していきます。

次のページ
クエリの記述方法

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Log Parserでログを統合的に扱い運用保守に役立てる連載記事一覧
この記事の著者

WINGSプロジェクト 青木 淳夫(アオキ アツオ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/540 2006/10/11 19:39

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング