-
Notifications
You must be signed in to change notification settings - Fork 0
MS_LogParser
- 戻る(ログ収集いろいろ)
- LogParser
LogParser の機能は、ログの加工・分析を支援する。
補足(位置づけ): Microsoft 製の無償ツール(Log Parser 2.2)で、
さまざまな形式のログを「表」とみなし、SQL で問い合わせるという
一点に特化している。
最終リリースは 2005 年だが、Windows イベント ログや IIS ログを
その場で集計する用途では現在も使われている。
GUI 版として Log Parser Studio(非公式ツール)もある。
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+プラグインの作成が必要) |
補足(入力の幅が特徴): 入力形式に Windows レジストリ、
Active Directory オブジェクト、ファイルとディレクトリ情報が
含まれている点が LogParser の面白いところで、
「ログ」に限らず
C:\配下で 100MB を超えるファイルを SQL で探す
といった使い方もできる。LogParser "SELECT TOP 20 Path, Size FROM C:\*.* ORDER BY Size DESC" -i:FS出力の「チャート形式」は Office の COM に依存するため、
現在の環境では動かないことが多い。
Log Parser には、上記入出力形式を変換するための
専用の SQL 形式エンジン・コアが実装されている。
このため Log Parser を利用したデータ変換や集計では、
- 一般的な SQL 句(SELECT、WHERE、GROUP BY、HAVING、ORDER BY など)や、
- 集計関数(SUM、COUNT、AVG、MAX、MIN など)、
- およびその豊富な関数(TO_STRING、SUBSTR、CASE など)を
利用可能である。
-
対象
- System
- Application
- Security
-
抽出時間帯
-
<時間帯フラグ>:対象時間帯- 前日 16 時~当日 0 時未満
- 当日 0 時以降~当日 7 時未満
- 当日 7 時以降~当日 16 時未満
-
移行メモ(連番): 元ページでは 3 項目がすべて
+++(同一レベル)で
書かれており、すべて「1.」と表示される状態だった。
内容から連番と解して 1.〜3. に整理した。
- コマンド
-
前日 16 時~当日 0 時未満
LogParser "SELECT EventLog,TimeGenerated,EventID,EventTypeName,EventCategoryName,SourceName, ComputerName,SID,Message INTO 出力PATH + <サーバ名>_<ログ種別ID>_<年月日>_1.log FROM System WHERE TO_DATE(TimeGenerated) = SUB(TO_TIMESTAMP('引数の<日付>','yyyy/MM/dd'), TIMESTAMP('2','d')) AND TO_TIME(TimeGenerated) >= TIMESTAMP('16','h')" -i:EVT -o:CSV -q:ON -resolveSIDs:ON -
当日 0 時以降~当日 7 時未満
LogParser "SELECT EventLog, TimeGenerated, EventID,EventTypeName, EventCategoryName, SourceName, ComputerName, SID, Message INTO 出力PATH + <サーバ名>_<ログ種別ID>_<年月日>_1.log FROM System WHERE TO_DATE(TimeGenerated) = TO_TIMESTAMP('引数の<日付>','yyyy/MM/dd') AND TO_TIME(TimeGenerated) < TIMESTAMP('7','h')" -i:EVT -o:CSV -q:ON -resolveSIDs:ON -
当日 7 時以降~当日 16 時未満
LogParser "Select EventLog, TimeGenerated, EventID, EventTypeName, EventCategoryName, SourceName, ComputerName, SID, Message INTO 出力PATH + <サーバ名>_<ログ種別ID>_<年月日>_1.log FROM System WHERE TO_DATE(TimeGenerated) = TO_TIMESTAMP('引数の<日付>','yyyy/MM/dd') AND TO_TIME(TimeGenerated) >= TIMESTAMP('7','h') AND TO_TIME(TimeGenerated) < TIMESTAMP('16','h')" -i:EVT -o:CSV -q:ON -resolveSIDs:ON※
From Systemの部分は、From Application、From Securityにも対応
※ 日付の部分は、引数の値に変更する。
-
補足(オプションの意味): 上記コマンドのオプションは次のとおり。
オプション 意味 -i:EVT入力形式(EVT = Windows イベント ログ) -o:CSV出力形式 -q:ONQuiet モード(進捗表示を抑止。バッチ向け) -resolveSIDs:ONSID をアカウント名に解決する
-resolveSIDs:ONはドメイン コントローラへの問い合わせが発生するため、
大量のログを処理すると極端に遅くなることがある。
事後解析であれば SID のまま出力し、
必要な分だけ後から解決する方が速い。なお、出力先の 3 つのコマンドがいずれも
_1.logで終わっているが、
時間帯ごとにファイルを分ける意図であれば
_2.log/_3.logとすべきで、元ページのままでは上書きされる。
- Log Parser の概要 - @IT
http://www.atmarkit.co.jp/fwin2k/operation/logparser1/logparser1_01.html- Log Parser で何ができるのか
http://www.atmarkit.co.jp/fwin2k/operation/logparser1/logparser1_02.html - Log Parser の入手とインストール
http://www.atmarkit.co.jp/fwin2k/operation/logparser1/logparser1_03.html - Log Parser を WSH スクリプトから使う
http://www.atmarkit.co.jp/fwin2k/operation/logparser1/logparser1_04.html
- Log Parser で何ができるのか
Tags: Windows, 障害対応, 性能, デバッグ, テスト, ツール類
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。