アプリケーション診断を使用したイベントの操作

アラートの操作は、System Center - Operations Manager の操作の標準的な部分です。 .NET アプリケーション監視のアラートには、一般的な情報や製品の知識など、他のアラートから認識される情報が表示されます。 ただし、.NET アプリケーションのアラートでは、アラートの説明にリンクが含まれています。 このリンクを使用すると、アラートが発生したイベントがアプリケーション診断に表示されます。 ここでは、問題のトラブルシューティングを行い、ソリューションを見つけるための情報を参照できます。

Note

アプリケーション パフォーマンス監視から詳細レベルのトラブルシューティングを行うには、アプリケーション ソース コードへのアクセスや、開発者からの情報の提供が必要となることもあります。 Team Foundation Server 作業項目同期管理パックをインストールして、開発チームが使用している Team Foundation Server にアラートを転送できます。 Team Foundation Server 作業項目同期管理パックは、Team Foundation Server の作業項目への変更および関連付けられた Operations Manager のアラートへの変更を追跡して同期します。

.NET アプリケーション アラートの調査

問題の特定、割り当て、解決にかかる時間を短縮することは、Operations Manager でのアプリケーション監視の中心的な目標です。 アラートを受け取ったら、その原因 (アプリケーションまたはコードをホストしているシステム) を把握し、その結論をバックアップするデータを表示し、問題を解決する必要があるユーザーを明確に確認する必要があります。 システムの問題かどうかを確認するには、イベントの発生時にシステムの状態を把握する必要があります。 問題の根本原因が発生した場所を調べるには、実行された呼び出しのチェーンを確認します。 さらに調査するには、同様のイベントと同時に発生した関連イベントを比較する必要があります。 また、イベントの詳細、パフォーマンス カウンター、および分散チェーンの情報を使用すると、この問題に最初に対処する担当者を決めるために役立ちます。 システム エラーの場合は、ホスト システムの使用可能なリソースまたは構成を調整し、ホスト レベルで問題に対処できます。 アプリケーションの障害である場合、問題は、エラーが発生したコード行と共にアプリケーション チームに移動する必要があります。 根本原因を特定し、解決方法を見つけて、問題解決にあたる担当者を決定するために、アプリケーション診断のビュー、フィルター、および設定を使用する方法を次に示します。

アラートからアプリケーション診断を開く

  1. 構成した特定のアプリケーション グループに関連するアラートに応答するため、アクティブなアラートのスコープを設定し、アプリケーション グループごとに表示すると便利です。 オペレーション コンソールのナビゲーション ウィンドウで、 Monitoring を選択し、 Application Monitoring.NET Monitoring を展開し、調査するアラートを監視するように構成したアプリケーション グループの名前を持つフォルダーを選択し、 アクティブアラートを選択します。

  2. 表示するアラートをダブルクリックします。

  3. [ Alert プロパティ ページで、 Alert Description ペインのリンクを選択します。 これにより、Web ブラウザーの Operations Manager の新しい監視機能であるアプリケーション診断が開きます。 ここでは、 Event のプロパティ タブで、パフォーマンス メトリック、呼び出し履歴、アラートに関するコレクション ノートなどの情報を確認できます。 このタブを使用すると、類似イベント、関連イベント、イベントのチェーン、およびパフォーマンス カウンターを表示できます。 これは、アプリケーションで発生したパフォーマンス イベントまたは例外イベントに関する詳細な情報であり、問題がアプリケーション自体、Web サービスへの呼び出し、またはデータベースへの呼び出しのいずれに由来するものなのかを診断するために役立ちます。 [イベントのプロパティ] タブの詳細については、「パフォーマンス イベントの詳細」をご覧ください。 [ Yes を選択して、イベント情報が読み込まれたらメイン ウィンドウを閉じます。

    Note

    この Application Diagnostics へのリンクは、[アラートのコンテキスト] タブにもあります。

次の手順を使用して、アラートを調査します。 IT 担当者は、通常、[イベントのプロパティ]、[パフォーマンス カウンター]、および [分散チェーン] タブの情報を使用して発生した事象を確認し、問題の原因がシステムの問題であるかどうかを判断し、根本原因が発生した場所を調査します。 開発者は、通常、コードの問題に関連する具体的なコンテキストを理解するために、[分散チェーン]、[類似イベント]、および [関連イベント] タブの情報を必要とします。

アプリケーション診断で例外イベントのプロパティを使用してトラブルシューティングを行う

  1. 調査中の例外アラートの [アプリケーション診断] ウィンドウで、 Event プロパティ タブを選択して、アラートに関する重要な詳細を表示します。 アラートの問題が明らかなものかどうかを確認するには、この情報を最初に確認します。 [イベントのプロパティ] ページに表示される情報の主なカテゴリは次のとおりです。

    • ソース アプリケーションの読み込みと応答時間を表示するには、左上隅にある Source リンクを選択します。 この情報は、システムが例外イベントのエラーのコンテキストの状況であったときの負荷を示します。 パフォーマンス カウンターを表示し、システムの状態をさらに評価するには、[ソース] ページで Trend レポート タブを選択します。このアプリケーションが動作しているコンピューターを確認し、コンピューター間で負荷分散の問題が発生している可能性があるかどうかを確認するには、[ コンピューター ] タブを選択します。関連する呼び出しの内訳、またはチェーンに基づいてイベントが発生している場所を確認するには、[ Topology ] タブを選択します。

    • 例外チェーン : これは、例外イベントを表示します。 実際に発生した例外を表示するには、[例外チェーン] を展開します。

    • 例外データ : これは、例外イベントの場合に表示され、例外に関連するクラスに設定されているパラメーターおよび変数を示します。

    • スタック : これは、コール スタック (呼び出しが発生した順序) です。 [実行ツリー ビュー] では、ノードを展開して、呼び出しを調査できます。 リソース グループ ビューオプション ボタンを選択すると、時間が費やされた場所の概要が表示されます。 これにより、システム内で問題が存在している階層、または問題が発生している場所がわかります。

    • モジュール一覧 例外イベントが表示され、例外時に読み込まれたモジュールが表示されます。

    • 収集のメモ : これは、イベントに関するメモを表示します。

    ヒント

    [例外イベント] で使用したのと同じトラブルシューティングの手順を [パフォーマンス イベント]、[類似イベント]、[関連イベント]、[分散チェーン]、および [パフォーマンス カウンター] に対して使用します。

アプリケーション診断でパフォーマンス イベントのプロパティを使用したトラブルシューティング

  1. 調査中のパフォーマンス アラートの [アプリケーション診断] ウィンドウで、 Event プロパティ タブを選択して、アラートに関するキーの詳細を表示します。 アラートの問題が明らかなものかどうかを確認するには、この情報を最初に確認します。 [パフォーマンスのプロパティ] ページに表示される情報の主なカテゴリは次のとおりです。

    • ソース アプリケーションの読み込みと応答時間を表示するには、左上隅にある Source リンクを選択します。 この情報は、システムが例外イベントのエラーのコンテキストの状況であったときの負荷を示します。 パフォーマンス カウンターを表示し、システムの状態をさらに評価するには、[ソース] ページで Trend レポート タブを選択します。このアプリケーションが動作しているコンピューターを確認し、コンピューター間で負荷分散の問題が発生している可能性があるかどうかを確認するには、[ コンピューター ] タブを選択します。関連する呼び出しの内訳、またはチェーンに基づいてイベントが発生している場所を確認するには、[ Topology ] タブを選択します。

    • 最も遅いノード : これは、[実行ツリー ビュー] 内の最も遅いノードの一覧であり、アプリケーションのパフォーマンスの問題の原因である可能性があります。

    • スタック : これは、コール スタック (呼び出しが発生した順序) です。 [実行ツリー ビュー] では、ノードを展開して、呼び出しを調査できます。 リソース グループ ビューオプション ボタンを選択すると、時間が費やされた場所の概要が表示されます。 これにより、システム内で問題が存在している階層、または問題が発生している場所がわかります。

    • 収集のメモ : これは、イベントに関するメモを表示します。

パフォーマンス カウンターを使用してシステムの状態をトラブルシューティングする

  1. 主要なパフォーマンス カウンターの表または図を表示するには、 パフォーマンス カウンター タブを選択します。

    Note

    監視対象システムでは、15 分間のパフォーマンス データが収集およびキャッシュされます。 パフォーマンスまたは例外が発生すると、パフォーマンス データがイベントと共に Operations Manager に送り返されます。

  2. 情報に含めるパフォーマンス カウンターのパフォーマンス カウンターのチェック ボックスをオンにし、 Apply を選択します。

  3. この表示の情報を使用して、調査中のイベントに関するシステム パフォーマンスの状態を評価します。 たとえば、イベントが発生したときのパフォーマンスが一定して遅い場合は、アラートはシステムのパフォーマンスの問題が原因である可能性があります。

分散チェーンを使用して根本問題を見つける

  1. [分散チェーン] タブを選択して、呼び出しの順序 (イベントが含まれるイベントのチェーン) を表示します。 これは、調査中のイベントが、アプリケーションまたは関連アプリケーションからの他のイベントによってどのように影響を受けたかを理解するのに役立ちます。

  2. [分散チェーン] ビューで、チェーン内のいずれかの呼び出しまたはリンクを選択します。 同じオブジェクトに対して複数のイベントがある場合は、チェーン ウィザードが開きます。 このウィザードでは、候補となるイベントを選択して、イベントのチェーンに関連付けることができます。 ウィザードを開始するには、 [次へ] を選択します。

    Note

    これを次のページのイベントとペアリングするので、選択した呼び出しからタイムスタンプを取得します。

  3. 可能性のあるチェーン イベントの選択 ページで、調べるイベントを選択します。 理想的には、分散チェーン ビューで選択した呼び出しに最も近いタイムスタンプを持つイベントになります。

  4. 次に表示される内容は、調査中の問題の種類によって異なります。 たとえば、サーバーが見つからないトランザクションを選択した場合、そのイベントのイベント プロパティ ページに移動できます。 これにより、最初に調査していたイベントとサーバー エラーを関連付けることができます。 これはサーバー エラーであるため、問題はクライアント側ではなくサーバー側にあることがわかります。 選択したイベントのグラフが表示され、ページ読み込み時間の観点からパフォーマンス イベントを分解できる場合があります。

  5. イベントのプロパティからサーバー側の呼び出しを選択し、詳細については パフォーマンス カウンター タブを選択します。

同様のイベントを表示してトラブルシューティングを行う

  1. [類似イベント] タブを選択して、同様のアラートが複数回スローされたかどうかを確認します。これは、アプリケーションに問題があることを意味する可能性があります。

  2. 類似イベントをフィルター処理する方法はいくつかあります。 Similar by ドロップダウン メニューを選択して、問題、アクション、例外クラス、失敗した関数など、同様のイベントをグループ化する方法を選択します。 [開始] および [終了] テキスト ボックスで、類似イベントを表示する日付の範囲を設定できます。 [類似イベント] タブを使用して、同様のアラートが複数回スローされたかどうかを確認します。これは、アプリケーションに問題があることを意味する可能性があります。

    • 問題別のフィルタリング : 同じ種類の類似イベントを表示します。 たとえば、オブジェクト参照がオブジェクトのインスタンスに設定されていない同様のイベントをすべて表示できます。 [ ダイアグラム ビュー ] ボタンを選択すると、現在の問題のイベントの合計数と、他の問題からのイベントの合計数の比率を確認できます。 この情報により、特定のイベントの問題の重大性をおおまかにつかむことができます。 現在の類似イベントの合計数の多くが同じ問題を抱えている場合は、受信するアラートの数を減らすのに大きな影響を与えるので、解決する優先順位の高い問題である可能性があります。

    • アクション別のフィルタリング : 類似イベントを特性 (セキュリティ、パフォーマンス、接続、およびアプリケーションのエラー) ごとにグループ化します。 [ ダイアグラム ビュー ] ボタンを選択すると、これらのアスペクト カテゴリによって類似するイベントの数が表示され、問題が関連している可能性のあるイベントをより簡単に確認できます。

    • 例外クラス別のフィルタリング : 構成時の名前付け規則に従って類似イベントをグループ化します。 おそらく、これらの名前は、 System.NullReferenceException クラスなどの例外の種類を識別するのに役立ちます。

    • 失敗した関数別のフィルタリング : 例外をスローしている関数ごとに類似イベントをグループ化します。 これは、エントリ ポイントに問題があることを意味する可能性があります。

    これらはすべて同様のイベントであり、定義に関連しており、これらのフィルターは、それらがどのように関連しているかを正確に把握できる点に注意してください。 そのため、類似イベント フィルターを使用すると、表示しているイベントと同じ問題、パフォーマンスの問題、構成した例外クラスに属していること、同様のイベントの半分に同じ失敗した関数が含まれているという問題が発生する可能性があります。 アクション:関数により、関数コードを修正担当の開発者が特定されます。

  1. 関連付けられているイベントタブを選択して、時間別に関連するイベントを表示します。 これらは、問題に関する分析情報を提供する可能性のある他のイベントと関連付けられた例外です。

  2. 一覧でイベントのイベントの詳細を表示するには、 Description 列のリンクを選択します。

    関連するイベントでは、特定の時間内にすべてのイベントの応答時間が遅くなっていることに気付く場合があります。 これは、コードではなくシステムに問題があることを示している可能性があるため、ソリューションの IT 担当者にリダイレクトされる可能性があります。

次のステップ

  • アラートを表示し、発生した問題の調査を開始する方法については、.NET アプリケーションのアラートの表示と調査 確認してください