メイン コンテンツへスキップ
サポート
Microsoft アカウントでサインイン
サインインまたはアカウントを作成してください。
こんにちは、
別のアカウントを選択してください。
複数のアカウントがあります
サインインに使用するアカウントを選択してください。

ASP.NET サポート音声列

ログ パーサー 2.2 と ASP.NET

この列をニーズに合わせてカスタマイズするには、関心のあるトピックと、今後のサポート技術情報の記事やサポート音声列で対処する問題に関するアイデアを送信するよう招待します。 アイデアとフィードバックは、Ask For It フォームを使用して送信できます。 この列の下部には、フォームへのリンクもあります。

ASP.NET サポート音声列へようこそ。 私の名前は Rahul Soni で、私は約 2 年間 Microsoft と一緒にいます。 今月のコラムでは、Log Parser 2.2 に関するいくつかの事実について説明します。 特定のシナリオに進む前に、少し時間をかけてログ パーサー ツールについて説明します。

情報

ログ パーサーは、ログ ファイル、XML ファイル、CSV ファイルなどのテキスト ベースのデータにユニバーサル クエリ アクセスを提供し、イベント ログ、レジストリ、ファイル システム、Active Directory ディレクトリ サービスなどの Microsoft Windows オペレーティング システム上の主要なデータ ソースに対して、非常に強力で汎用性の高いツールです。 ツールをダウンロードするには、ここをクリックしてください
。 このバージョンでは、ログ パーサー ツールから次のファイルを非常に簡単に解析できます。

IISW3C、NCSA、IIS、IISODBC、BIN、IISMSID、HTTPERR、URLSCAN、CSV、TSV、W3C、XML、EVT、ETW、NETMON、REG、ADS、TEXTLINE、TEXTWORD、FS、COM。私はコマンドラインインターフェイスが非常に直感的ではないことに同意し、ツールをインストールして実行するとすぐにそれを見つけるでしょう。 しかし、直感的な感覚でツールに欠けているのは、ツール用に提供されているドキュメントによってパッチが適用されていることです。 私はここで小さなアドバイスをします:コマンドラインインターフェイスはすぐにあなたを延期しないでください。 このツールは、オタクのツールキットでは必須であり、特にパフォーマンスの観点からトラブルシューティングを行う場合に役立ちます。

ドキュメントは非常に良く、インストールフォルダーにはかなりのサンプルを含む "Samples\Queries"フォルダーも含まれているため、ログパーサーツールを使用する方法について説明するつもりはありません。

だから、私はログパーサーツールのプロモーションのビットを終えた後、私は私が話していたシナリオに戻ってみましょう。

シナリオ 1: 特定のテキストの大きなテキスト ファイルを解析する

問題の小さな背景

顧客が何かを行ったときに、"アクセスが拒否されました" という問題が発生します。 お客様は、Filemon という名前
の別の華麗なツールを使用し、問題を再現することをお勧めします。 リソース ACL に問題がある場合は、Filemon ツールでエラーをキャッチできます。 次に、保存した Filemon ログ ファイルを送信するように顧客に依頼します。 残念な部分がここに来ます。 ファイル (Filemon.log など) を取得しますが、サイズが大きいことがわかります (Filemon は大量のデータをログに記録します)。 メモ帳がハングしているように見え、ログ ファイル内の "アクセスが拒否されました" 行が見つかると、痛いほど遅くなります。 Microsoft Office Excel は、ファイルの完全な開き方を拒否します。 さて何ですか。

回答: [ログ パーサー] コマンド ウィンドウを開き、次のコマンドを使用します。

LOGPARSER "C:\Filemon.log からテキストを選択します。ここで、"%Access Denied%'のようなテキスト" -i:TEXTLINE -q:Off行に 'Access Denied' が含まれている特定のファイル (C:\Filemon.log) の各行 (Text) を解析するようにログ パーサー ツールに指示しています。 -i:TEXTLINE コマンド ライン スイッチは入力形式を指定し、-q:Off コマンド ライン スイッチは詳細 (-q[:ON|OFF]:静音モード;)。 -q コマンド ライン スイッチをオンにすると、次の出力に表示される統計とフィールド名 (テキスト) は表示されません。

出力サンプル

Text7447 1:49:24 PM explorer.exe:1200 DIRECTORY C:\Access Denied StatisticsElements processed: 640444
要素の出力: 1
実行時間: 12.75 秒

クエリによって返されるレコードの数が 10

を超える場合に Enter キーを複数回押さないようにする方法 回答: クエリで -rtp:-1 パラメーターを使用します。

これは、出力をファイルにリダイレクトする場合に必要なパラメーターになります。 また、STDOUT に書き込むと、出力レコードは、このパラメーターに指定された値と等しい数の行で構成されるバッチで表示されます。 行のバッチが表示されると、次の行のバッチを表示するキーを押すようユーザーに求められます。 このパラメーターに "-1" を指定すると、バッチ処理が完全に無効になります。

クエリ ファイルの使用

同じ結果をよりクリーンな方法で実現するもう 1 つの方法は、クエリ ファイルを作成することです。 これにより、クエリ ファイルを簡単に調整し、Log Parser ツールのコマンド ラインから実行できます。 それとは別に、好みに応じてGUIを簡単に作成できます。 GUI は、保存された SQL クエリを読み込み、ログ パーサー ツールを使用してクエリを実行します。

SQL クエリから (シナリオ 1 のように) 同じ効果を実現する場合は、次のコマンドを指定できます。

LOGPARSER -i:TEXTLINE ファイル:C:\LPQ\SearchAnyTextfile.sql -q:offC:\LPQ\SearchAnyTextFile.sql には、次の情報

が含まれています。 メモ C:\ にフォルダー LPQ を作成するフォルダーを使用して、この列に示されているサンプルを使用します。

Select Text as LineFromFile
FROM C:\Filemon.log 
WHERE Text 
LIKE '%Access Denied%'

気付いた場合、クエリは今でははるかにクリーンに見え、より理にかなっています。 これにより、より複雑で大規模なクエリを作成することもできます。また、 を使用しているため、すべてがコマンド ラインに収まります。クエリ全体ではなく SQL ファイル。 とにかくコマンドラインに260文字以上は収まりません!

クエリ ファイルを使用する利点を維持し、次のシナリオでこのメソッドを使用します。 私はすべてのクエリを.sql拡張子でC:\LPQに保存しました(あなたはあなた自身を使用できます)。

シナリオ 2: サブフォルダーを含む、特定のフォルダーから最大 10 個のファイルを検索する

問題の小さな背景

フォルダーがあり、そこにかなりの数のサブフォルダーとファイルがあります。 そのフォルダー内の上位 10 個のファイル (サブフォルダーを含む) を調べる必要があります。

私は知っている、特定のフォルダのために、あなたは単にWindowsのエクスプローラーで([表示]メニューで、詳細をクリックして)ビューを変更し、サイズでビューを並べ替えることができます。 しかし、ここでの問題は、サブフォルダーの内容も考慮する必要があるということです。

回答: Log Parser ツールのコマンド ウィンドウを開き、次のコマンドを使用します。

LOGPARSER -i:FS ファイル:C:\LPQ\Top10Files.sql -q:off -Recurse:-1Top10Files.sql には、次のものが含まれています。

SELECT TOP 10 
Path, 
Name, 
Size, 
Attributes 
FROM 'C:\Program Files\Microsoft Office\*.*' 
ORDER BY Size DESC

ここで -i:FS は、ファイル システムに対してクエリを実行していることを示します。 ドキュメント内の FS 入力形式フィールドの完全な一覧を表示し、それに応じてクエリをフレーム化できます。

-Recurse:-1 は、すべてのサブフォルダーを含める必要があることを意味します。 すべてのサブフォルダーが不要な場合や再帰を制限する場合は、0、1、2 などを使用します。数値は、パーサーが取り込む深さを意味します。 0 は再帰がないことを意味し、2 はパーサーが深度 2 まで再帰することを意味します。

出力サンプル

Path                                                         Name         Size     Attributes 
------------------------------------------------------------ ------------ -------- ----------
C:\Program Files\Microsoft Office\Office10\WINWORD.EXE       WINWORD.EXE  10738448 -A--R----
C:\Program Files\Microsoft Office\Office10\EXCEL.EXE         EXCEL.EXE    9358096  -A--R----
C:\Program Files\Microsoft Office\Office10\OUTLLIB.DLL       OUTLLIB.DLL  6326984  -A-------
C:\Program Files\Microsoft Office\Office10\POWERPNT.EXE      POWERPNT.EXE 6093584  -A--R----
C:\Program Files\Microsoft Office\Office10\MSOWC.DLL         MSOWC.DLL    3041880  -A-------
C:\Program Files\Microsoft Office\Office10\CLIPPIT.ACS       CLIPPIT.ACS  2904417  -A-------
C:\Program Files\Microsoft Office\Office10\GRAPH.EXE         GRAPH.EXE    2144824  -A-------
C:\Program Files\Microsoft Office\Office10\1033\OUTLLIBR.DLL OUTLLIBR.DLL 1977032  -A-------
C:\Program Files\Microsoft Office\Office10\1033\XLMAIN10.CHM XLMAIN10.CHM 1646072  -A-------
C:\Program Files\Microsoft Office\Office10\MSOWCW.DLL        MSOWCW.DLL   1200177  -A-------


StatisticsElements 処理済み: 1000
要素の出力: 10
実行時間: 0.42 秒

シナリオ 3: Web サイトで最も遅い 20 ページを見つける

問題の小さな背景

Microsoft インターネット インフォメーション サービス (IIS) 6 を使用しており、いくつかの ASP.NET Web サイトがあり、パフォーマンスにあまり満足していません。 サーバーを微調整し、Web サーバーから提供するのに最も時間がかかる上位 20 ページについて知りたい場合。 最も時間がかかるページを決定し、修正し、問題を解決する場合とは限りません。 残念ながら、パフォーマンスの問題を解決するための銀色の箇条書きはありません。 少なくとも、開始する方法があるはずです。 そうです。

回答: [ログ パーサー] コマンド ウィンドウを開き、次のコマンドを使用します。

LOGPARSER -i:IISW3C ファイル:C:\LPQ\Slowest20FilesInIIS.sql -o:DataGrid -q:offSlowest20FilesInIIS.sql には、次のコード例が含まれています。

Select Top 20
LogRow as [Line Number],
date as [Date],
time as [Time],
c-ip as [Client-IP],
s-ip as [Server IP], 
s-port as [Server Port],
cs-method as [Request Verb],
cs-uri-stem as [Request URI],
sc-bytes as [Bytes sent],
sc-status as [Status],
sc-substatus as [Sub-status],
sc-win32-status as [Win 32 Status],
time-taken as [Time Taken]
From 
C:\ex060813.log
Order by time-taken desc

ここでは、-i:IISW3C は、IIS W3C ログに対してクエリを実行していることを示します。 ドキュメント内の IISW3C 入力形式フィールドの完全な一覧を表示し、それに応じてクエリのフレームを設定できます。

-o:DataGrid は、出力をデータ グリッドに次のように

表示する必要があることを意味

注 このクエリを使用するには、IISW3C ログを使用し、詳細ログのプロパティを有効にする必要があります。 (Web サイトのプロパティを開き、[ Web サイト ] タブをクリックして [ ログ記録を有効にする] を選択し、アクティブ なログ形式を W3C 拡張ログ ファイル形式として設定します。 [プロパティ] をクリックし、[詳細設定] タブを
クリックし、クリックしてすべてのオプションを選択します)。

シナリオ 4: Web サイトで最も一般的に使用される 20 個の .aspx ページを見つける

問題の小さな背景

IIS 6 を使用しており、いくつかの ASP.NET Web サイトがあり、最も一般的に使用される .aspx ファイルを知りたいので、これらのページのパフォーマンスを調整すると、最終的には Web サイト/サーバー全体の利点が得られます。 控えめに使用されるページではなく、最も使用されているページを調整する時間を費やす方が常に良いです。 (ただし、この規則には例外が存在する可能性があります。 控えめに使用されるページは、その問題に対する CPU 使用率が高くなる本当に悪いページであるとします)。 ここで、特定のページが提供されるまでに長い時間がかかることが判明した場合 (シナリオ 3)、ページが最も一般的に使用されるページの 1 つである場合は、常にページがストレスの下で正常に動作することを確認する必要があります。

回答: Log Parser ツールのコマンド ウィンドウを開き、次のコマンドを使用します。

LOGPARSER -i:IISW3C ファイル:C:\LPQ\Popular20FilesInIIS.sql -chartType:Bar3D -groupSize:640x480 -view:onPopular20FilesInIIS.sql には、次のコード例が含まれています。

Select Top 20
cs-uri-stem as [Request URI],
COUNT(*) AS Hits 
INTO MyChart.gif 
FROM C:\ex060813.log
Group by cs-uri-stem ORDER BY Hits DESC

この場合、-chartType:Bar3D は、準備するグラフの種類をログ パーサー ツールに通知します。 groupSize パラメーターは、ターゲット イメージの幅と高さをピクセル単位で指定します。 使用可能なグラフの種類のセットは、ローカル コンピューターにインストールされている Microsoft Office Web コンポーネントのバージョンによって異なります。

出力の外観を次に示します。



既に説明したように、ログ パーサー ツールがさまざまなログのデータを分析するのに本当に役立つ複数の方法が存在する可能性があります。 創造性だけがここでの限界です! データがあなたにはるかに良い画像を反映する方法はほぼ無制限であり、あなたが行動できる可能性があります。 私たちが触れたのは氷山の一角です! また、Microsoft Visual C#、Microsoft Visual Basic .NET などの高度な言語を使用して、ログ パーサー ツールの機能を使用して便利なプログラムを作成することもできます。 以下の「リソース」セクションを確認してください。

リソース

ログ パーサー ツールのシナリオについて詳しく説明したいと思います。また、ログ パーサー ツールのためだけにブログに新しいセクションを作成しました。 共有するシナリオや Log Parser ツール クエリに関する提案がある場合は、rahulso@microsoft.com
メールを送信してください。次の Web サイトでできるだけ早く投稿します。

https://learn.microsoft.com/archive/blogs/rahulso/

常に、今後の列またはナレッジ ベースの [Ask For It] フォームを使用して、アドレス指定するトピックに関するアイデアを自由に送信してください。

この記事で説明するサード パーティ製品は、Microsoft から独立した企業によって製造されています。 明示または黙示にかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。

この情報は役に立ちましたか?

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?
[送信] を押すと、Microsoft の製品とサービスの改善にフィードバックが使用されます。 IT 管理者はこのデータを収集できます。 プライバシーに関する声明。

フィードバックをいただき、ありがとうございます。

×