アプリケーションの稼働状況およびパフォーマンスの監視

目次
apmdevops97jp
目次
3
サンプル ダッシュ ボードでアプリケーションを監視する方法
ダッシュボードは、パフォーマンスおよび可用性のメトリックの現在の状態または履歴をグラフィカルに表示する設定済みのウィンドウです。アプリケーション所有者は、Enterprise Manager からのアプリケーションの稼働状況およびパフォーマンスのデータを監視するために、WebView のコンソール ダッシュボードを使用します。これらのダッシュボードは、ステータスの概要ビュー、問題の迅速な特定、およびパフォーマンスの詳細情報を提供します。
ホームは WebView のデフォルト ビューです。アプリケーションを監視および管理するために、日常的に以下のサンプル ダッシュボードを使用できます。
監視環境に応じて、その他のダッシュボードを利用できます。たとえば、以下のダッシュボードが WebSphere 監視環境で利用可能です。
  • WebSphere メッセージ ブローカ - 概要
  • WebSphere MQ クライアント/サーバ - 概要
  • Websphere MQ CPT - 稼働状況と可用性
以下の図は、一般的なワークフローを示しています。
This diagram shows how to monitor application health and performance.
システムの稼働状況の監視
システムの概要ステータスを確認します。
以下の手順に従います。
  1. WebView の[コンソール]タブで、ドロップダウン リストから以下のサンプル ダッシュボードを選択します。
     
    Introscope の紹介(*SuperDomain* 内のサンプル)
    システム概要アラートは、赤、黄、緑の 3 つのステータス インジケータのいずれかを表示します。灰色のアラートはデータをレポートしません。
  2. システムの状態を表示するには、アラートをダブルクリックします。
    [概要]ダッシュボードが開き、環境の全体的なステータスが表示されます。
[概要]ダッシュボードからのアプリケーションの稼働状況およびパフォーマンスの監視
[概要]サンプル ダッシュボードを使用して、キー パフォーマンス インジケータを監視し、アプリケーション パフォーマンスの問題がいつ存在するのかを特定できます。アプリケーション パフォーマンスの問題を視覚的に通知できます。たとえば、ダッシュボードには以下の情報がグラフで表示されます。
  • 3000 ミリ秒の警告しきい値を示す黄色のライン
  • 4000 ミリ秒の危険しきい値を示す赤色のライン
以下の手順に従います。
  1. WebView の[コンソール]タブで、ドロップダウン リストから以下のサンプル ダッシュボードを選択します。
    概要(*SuperDomain* 内のサンプル)
    ダッシュボードのData Viewerでは、データを視覚的に表示します。
  2. キー パフォーマンス インジケータが表示されます。これらは、環境の全般的な稼働状況とパフォーマンス ステータスを表示します。キー パフォーマンス インジケータにはすべて、対応するヒューリスティック メトリックがあります。
    ヒューリスティック メトリックを表示するには、アラートを右クリックします。すると、ポインタが手の形に変わります。[リンク]ドロップダウン リストから、管理モジュール エディタ内の対応するメトリックに移動します。正しいしきい値が設定されていることを確認します。
  3. さまざまな時点のデータの表示。データのデフォルトのビューは[ライブ]です。
  4. 各グラフに標準メトリックを表示します。グラフには、監視対象のアプリケーションの平均応答時間、処理能力、CPU 使用率、およびエージェントの接続状態が表示されます。[概要]ダッシュボードには、以下のグラフが含まれます。
    • ユーザ エクスペリエンス
      監視対象のアプリケーションの平均応答時間の合計、およびアプリケーションの処理能力(間隔ごとの応答数)を表示します。間隔は 15 秒です。間隔ごとに 45 個の応答は、1 秒に 3 ヒットの処理能力があると計算されます。
    • バックエンド
      接続されたバックエンド システムの平均応答時間および処理能力を表示します。監視対象のアプリケーションが接続するものであれば何でもバックエンド システムと考えられます。たとえば、データベース、LDAP サーバ、メール サーバなどが含まれます。
      Introscope は、自動的に接続したシステムを識別し、その性能を監視します。ほとんどの場合、応答が不良なのは、そのバックエンド システムの 1 つに直接の原因がある可能性があります。
    • キー リソース
      Introscope が監視する .NET プロセスおよび Java プロセスの CPU 使用率を表示します。
      このグラフは、サーバ上の全体的な CPU 使用率を表していません。これは、.NET プロセスまたは Java プロセス自体の CPU 使用率を表します。
    • エージェント
      エージェントの接続状態を表示します。Introscope は、接続されたエージェントの状態を、1 または 3 の値を持つメトリックとして以下のようにレポートします。
      • 1 の場合は、エージェントが Enterprise Manager に接続されていることを表します。
      • 3 は、エージェントが Enterprise Manager から接続解除されていることを表します。
      グラフは、接続されたエージェントの上位 10 個を表示します。接続が解除されたエージェントのほうが、接続しているエージェントの値よりも大きいため、接続が解除されたエージェントが最初に表示されます。
    : グラフは 15 秒の精度で表示されます。精度は設定可能ではありません。
  5. Average Response Time (平均応答時間)をほかのメトリックの変化と組み合せて、傾向を分析することで、パフォーマンスの問題を識別します。
  6. 情報を確認し、問題が存在するかどうかを特定します。
アプリケーション パフォーマンスの問題の分析
[問題分析]サンプル ダッシュボード内のアラート インジケータおよび基になるメトリックを確認することにより、アプリケーション パフォーマンスの問題を分析できます。
以下の手順に従います。
  1. WebView の[コンソール]タブで、ドロップダウン リストから以下のサンプル ダッシュボードを選択します。
    問題分析(*SuperDomain 内のサンプル)
  2. [時間ウィンドウ]ドロップダウン リストから時間範囲オプションを選択します。
  3. 環境全体の稼働状況を示すアラート インジケータを確認します。
  4. 以下のグラフに表示されるメトリックを確認します。
    • アプリケーション平均応答時間
      監視対象のアプリケーションの合計応答時間を表示します。Average Response Time (平均応答時間)をほかのメトリックの変化と組み合せて、傾向を分析することで、問題を識別することができます。
    • 間隔ごとの応答数
      監視対象のアプリケーションの処理能力を表示します。
    • アプリケーションのストール数
      バックエンド システムを含む、アプリケーションの全コンポーネントにおけるストールを表示します。
      ストールは、実運用アプリケーションの多くの問題の原因を特定するための重要なメトリックです。監視対象のアプリケーションにリクエストが行われたけれども、アプリケーションが 30 秒以内に応答しない場合にストールが発生します。実運用環境で発生するストールの原因のほとんどは、リクエストに対して、バックエンド システムが応答を停止したことにあります。
      Introscope は、アプリケーションが接続するバックエンド システムを自動的に識別し、それらのシステムでストールが発生していないかどうかを監視します。ただし、バックエンド システムが見つからない場合は、そのシステムが監視されないままになります。
      監視されていないバックエンド システムでストールが発生すると、アプリケーションで派生的に発生したストールによって、ストールが発生していることは認識されますが、原因を特定できません。このような場合は、[上位並行処理ソケット通信数]グラフを使用して、問題の原因を特定できます。
    • 上位並行処理ソケット通信数
      ソケット並行処理メトリックの結果を表示します。
      ソケット並行処理メトリックには、リーダおよびライタの 2 種類があります。リーダ メトリックとは、バックエンド システムがソケットを介してデータを返信するのを待っているアプリケーション内のリクエストの数のことです。ライタ メトリックとは、バックエンド システムがソケットを介してデータを受信するのを待っているアプリケーション内のリクエストの数のことです。
      アプリケーション内のストールが、Introscope で認識されないバックエンド システムによって引き起こされた場合は、並行処理ソケットのリーダまたはライターの概要を確認すると、原因システムを特定できることがよくあります。
  5. 問題を切り分けるには、データをレポートするエージェントのメトリック データをフィルタします。
  6. エラーとストールの頻度および性質を確認します。
  7. 問題の根本原因を特定します。
  8. 開発者に問題を報告します。
ダッシュボード データの表示および解釈
ダッシュボード データは、さまざまな方法で表示および解釈できます。
Data Viewer の種類
Data Viewer は、Investigator のプレビュー ペイン、またはコンソール ダッシュボードにあるオブジェクトです。このオブジェクトは、管理対象アプリケーションのデータを見やすい形で示します。Data Viewer は、メトリック、リソース、またはエレメント(アラート)のデータを表示できます。データが存在しない場合、ビューアは種類別にラベルを表示します(例: テキスト ビューア: データがありません)。
: Workstation コンソール ダッシュボードに表示されるウィジェットのいくつかは、WebView ではサポートされていません。たとえばゲージ、矢印線、またはイコライザ ウィジェットなどは表示されません。
以下の表に、Data Viewer の種類を示します。
Data Viewer
内容
アラート
アラートに定義された状態に応じて、以下の 3 つのインジケータのいずれかが表示されます。
緑色の円形 -- アラート設定で指定した警告または危険しきい値に違反しているメトリックはありません。
黄色の菱形 -- 警告。アプリケーションまたはコンポーネントを使用すると、満足できない結果になる可能性が高いことを示します。
赤色の八角形 -- 危険。直ちに対応する必要がある問題です。
灰色 -- データ レポートなし。
グラフ
グラフでは、時間の流れに沿って値が示されます。リアルタイム ビューでは、グラフに収まる範囲で、直前の一定期間のデータが動的に表示されます。アラートをグラフで表示した場合、警告しきい値と危険しきい値がそれぞれ黄色の線と赤色の線で表示されます。
棒グラフ
現在のデータ値が水平方向の棒で表されます。棒グラフは、上位 N 件を示すフィルタされたビューに対応するデフォルトの表示方法です。
アラートを棒グラフで表示した場合、棒の色は、緑、黄、または赤です。棒グラフは、ライブ データの表示にのみ使用できます。
ダイヤル メータ
ダイヤル メータでは、現在の値が半円ダイヤル上の位置で示されます。時間範囲を選択して履歴データを表示すると、ダイヤルは時系列グラフに変換されます。ダイヤル メータはダッシュボードに表示されます。
ストリング ビューア
ストリング ビューアでは、値を 1 行のテキストで示すことができます。ストリング ビューアを使用すると、複数の値を比較的小さいエリアに表示できます。また、変化しない単純な値(起動時間または IP アドレスなど)を表示する場合にもストリング ビューアを使用することができます。
テキスト ビューア
テキスト ビューアは、システム ログや例外ログなど、古い値に新しい値が追加されるデータのテキストを表示します。
: グラフィック イコライザおよびアプリケーション問題切り分けマップ Data Viewerはサポートされていません。
さまざまな時点のデータの表示
ライブ データを表示できます。また、時間範囲を選択して、さまざまな時点のデータを表示できます。データのデフォルトのビューは[ライブ]です。
ブラウザの上部にある[時間ウィンドウ]を確認することで、WebView がライブ モードであるかどうかを確認できます。
ダッシュボードでさまざまな時点を表示するには、以下のタスクを実行します。
履歴データの表示
アプリケーションを監視する場合、ライブ データ ビューが変化し、常に最新のデータが表示されます。ライブ データはデフォルト ビューです。時間範囲を選択すると、履歴データを表示できます。履歴データでは、問題が発生した時刻を特定できます。
以下の手順に従います。
  1. WebView の[コンソール]タブで、[ダッシュボード]ドロップダウン リストから履歴データを表示するダッシュボードを選択します。
  2. [時間ウィンドウ]ドロップダウン リストから、履歴ビュー用の時間範囲([24 時間]など)を選択します。
    選択した時間範囲([24 時間]など)を使用して、その範囲のダッシュボードのデータが表示されます。終了時刻は現在の時刻に設定されます。
  3. 開始時刻を変更する場合は、[時間ウィンドウ]の横にある進む矢印および戻る矢印をクリックします。
  4. 範囲の終了時刻を現在時刻にリセットする場合は、[ウィンドウの終端を現在の時刻に設定]をクリックします。
カスタム時間範囲の定義
コンソール内のデータを表示するカスタム時間範囲を定義できます。
以下の手順に従います。
  1. 履歴データを表示する対象となるメトリックまたはダッシュボードを選択します。
  2. [時間ウィンドウ]ドロップダウン リストから[カスタムの範囲]を選択します。
  3. [カスタムの範囲]ウィンドウが開き、現在の日付(今日)がシルエットで強調された状態で表示されます。
  4. カレンダ コントロールを使用して開始日と終了日を選択します。
  5. [OK]をクリックします。
    カスタム範囲のデータが設定されます。
ダッシュボードでより多くの情報を提供
ダッシュボードに示されたデータに関してより詳細な情報を必要とする場合は、以下のショートカットを使用します。
  • ハイパーリンクを持つダッシュボード オブジェクトの上にマウス カーソルを合わせます。すると、ポインタが手の形に変わります。オブジェクトのデフォルト ターゲットへのリンクに移動するには、オブジェクトをクリックします。
  • Data Viewer内のダッシュボード オブジェクトを右クリックします。すると、ポインタが手の形に変わります。[リンク]ドロップダウン リストから、管理モジュール内の対応するオブジェクトに移動します。Data Viewerが、基となるメトリック グループに自動的にリンクされます。
  • エレメントの上にマウス ポインタを置いて、ステータスを確認します。
  • エレメントの上にマウス カーソルを合わせて、ヒントを表示します。ヒントは、[問題切り分けマップ]タブと[メトリック ブラウザ]タブの両方に存在する階層ツリーおよび[ビューア]ペイン内のメトリック パスおよび値を識別します。ツリー内のメトリックを表示するには、ヒント内のハイパーリンクをクリックします。
ダッシュボードに関する全体的なステータス インジケータ
ダッシュボード上のアラート インジケータは、環境の全体的な状態、およびキー パフォーマンス インジケータの環境への影響を表示します。
インジケータ
内容
全体
アプリケーションのユーザに対する全体的なエクスペリエンスは?
応答時間
アプリケーションに関する応答時間は?
エラー
アプリケーションのユーザにエラーが発生しているか?
ストール
アプリケーションがストールしていることがあるか?
CPU
アプリケーションによる CPU の消費率は正常か?
スレッド プール
アプリケーションのスレッド プールには十分な数のスレッドがあるか?
JDBC プール
アプリケーションの接続プールには、十分な JDBC 接続があるか?
 
アラート ヒューリスティック メトリック
サンプル ダッシュボード上のアラートのキー パフォーマンス インジケータにはすべて、対応するヒューリスティック メトリックがあります。ヒューリスティック メトリックの値は、1、2、または 3 です。
  • 1 という値は、キー パフォーマンス インジケータの現在の状態が正常であることを示します。
    たとえば、全体的な応答時間が通常は 600 ~ 1000 ミリ秒の間で変化し。現在の値が 835 ミリ秒だとします。応答時間のヒューリスティック メトリックは 1 とレポートされます。
  • 2 という値は、キー パフォーマンス インジケータの現在の状態が正常な状態から外れていることを示します。
    たとえば、CPU 使用率が通常は 30 ~ 60% で現在の値が 75% の場合、ヒューリスティックの値は 2 になります。
  • 3 という値は、キー パフォーマンス インジケータの現在の状態が正常な状態から大きく外れていることを示します。
    たとえば、アプリケーションが通常はストールがまったくないか、アプリケーションのデータベースが要求への応答を停止した場合などです。ストールの数は、10 などの比較的大きな数に増える可能性があります。このような場合、アプリケーションのストール ヒューリスティックは、値 3 をレポートします。
標準メトリック
WebView は、エージェントがメトリックとしてリモートおよびローカル システムから収集するアプリケーション パフォーマンス データを表示します。監視対象のフロントエンドおよびバックエンドのアプリケーション コンポーネント、およびその他の多くのアプリケーション コンポーネントについては、以下の標準メトリックが表示されます。
  • Average Response Time (ms) (平均応答時間(ミリ秒))
    -- 基準となるアプリケーション応答速度。
  • Concurrent Invocations (同時進行中の呼び出し)
    -- 一定の時間に処理される要求の数。
  • Errors Per Interval (間隔ごとのエラー数)
    -- 指定した時間スライス中に発生するエラーの数。
  • Responses Per Interval (間隔ごとの応答数)
    -- 指定した時間スライス中に完了する要求の数。
  • Stall Count (ストール数)
    -- ストールの数。ストールは、指定した時間しきい値内に完了しなかった要求です。
Average Response Time の傾向
Average Response Time をほかのメトリックの変化と組み合せて、傾向を分析することで、問題を識別し、診断できます。詳細については以下の表を参照してください。
Average Response Time の傾向
定義
継続的な問題
Available Thread Count の値が低く、Average Response Time の値が一貫して高い場合は、以下の問題を示している可能性があります。
非効率なコード
外部システムの過剰使用
バックエンドが遅い
レイヤが多すぎる
一貫した問題が常に存在し、改善することも悪化することもありません。
定期的な問題
Average Response Time が定期的に高くなり、定期的に急増した後、通常に戻るというようなグラフで示されます。
Available Thread Count の値が低く、Average Response Time の値が定期的に高くなる場合は、以下の問題を示している可能性があります。
GC リークが頻繁に発生
負荷に関連するバックエンドのボトルネック
CPU Utilization の値が低く、Average Response Time の値が定期的に高くなる場合は、以下の問題を示している可能性があります。
内部問題
定期的な問題が発生し、一定の間隔で収まります。
進行的な問題
Average Response Time が長期にわたって着実に増加しており、Responses Per Interval の値が低い場合は、以下の問題を示している可能性があります。
メモリ リーク
段階的な問題は時間と共に減少します。
Data Viewer の使用方法
Investigator Viewer ペインまたはコンソール ダッシュボード内の Data Viewer では、インスツルメントされたアプリケーションのデータを視覚的に表示します。Data Viewer には、メトリック、リソース、またはエレメント(アラートなど)のデータを表示できます。データが存在しない場合、ビューアは種類別にラベルを表示します(例: テキスト ビューア: データがありません)。
メトリックまたはエレメントの種類に応じて、Data Viewer 内にデータを、以下のオブジェクトとして表示します。
  • グラフ
    : 時間の経過と共に値をプロットします。リアルタイム ビューでは、グラフに収まる範囲で、直前の一定期間のデータが動的に表示されます。アラートをグラフで表示した場合、警告しきい値と危険しきい値がそれぞれ黄色の線と赤色の線で表示されます。
  • ストリング ビューア
    : テキストの行として値を表示します。ストリング ビューアを使用すると、複数の値を比較的小さいエリアに表示できます。また、変化しない単純な値(起動時間または IP アドレスなど)を表示する場合にもストリング ビューアを使用することができます。
  • 棒グラフ
    : 現在のデータ値を水平方向の棒で表示します。棒グラフは、上位 N 件を示すフィルタされたビューに対応するデフォルトの表示方法です。アラートを棒グラフで表示した場合、棒の色は、アラートのステータスに応じて、緑、黄、赤のいずれかになります。棒グラフは、ライブ データの表示にのみ使用できます。
  • テキスト ビューア
    : システム ログや例外ログなど、古い値に新しい値が追加されるデータのテキストを表示します。
  • ダイヤル メータ
    : 現在のデータ値をダッシュボード内の半円ダイヤル上の位置で表します。
  • アラート ステータス インジケータ
    : アラートに定義された状態に応じて、以下の 3 つのインジケータのいずれかが表示されます。
    • 緑色の円形: ステータスは正常です
    • 黄色い菱形: 警告しきい値を超えました
    • 赤色の八角形: 危険しきい値を超えました
    • 灰色の円形: アラート データはありません 
以下の例は、グラフとしての Data Viewer を示しています。
data viewer
Investigator またはコンソール ダッシュ ボードで Data Viewer を操作するには、以下のタスクを実行します。
ヒントを使用した、メトリック名および値の表示
Data Viewer またはメトリック ツリーで、グラフ上の 1 点にカーソルを置くと、ヒントが表示されます。
以下の手順に従います。
  1. グラフ上の 1 点など、Data Viewer の任意のエレメントにマウス カーソルを合わせます。各データ ポイントには、以下の情報が表示されます。
    • メトリック名
    • メトリックの正確な値
    • データ ポイントで表される期間中のメトリックの最小値と最大値 1,000 を K で、または 100 万を M で表した近似値ではなく、正確な値がヒントには表示されます。
    • データ ポイントで表される 15 秒間隔のカウント
    • グラフ内のデータ ポイントの日付と時刻
  2. 詳細を表示するには、ヒントのメトリック ハイパーリンクを選択します。
    メトリックは、Investigator の Data Viewer に表示されます。
グラフでの最小/最大メトリック値の表示
平均応答時間などの標準メトリックの時系列グラフで最小および最大のデータ ポイント値を表示できます。このグラフ作成オプションでは、不完全なデータまたはエラーを示すメトリック スパイク内の外れ値を識別できます。
以下の手順に従います。
  1. [ホーム]ページで、グラフ(たとえば、低速のフロントエンド 25 件: 平均応答時間(ミリ秒))を見つけます。
  2. [時間ウィンドウ]から時間範囲(たとえば、24 時間)を指定します。
  3. グラフにマウス カーソルを合わせ、グラフの右上隅にある矢印ボタンをクリックし、[最小/最大を表示]を選択します。
    グラフには、以下の例に示すように、最小/最大メトリック値の 2 本の短い水平線が各データ ポイントの上と下に表示されます。
    APMOP--min_max_values_OTH
  4. グラフのデータ ポイントにマウス カーソルを合わせ、ヒントのメトリック ハイパーリンクを選択します。
    メトリックの時系列グラフが、Investigator の Data Viewer に表示されます。
  5. 最小/最大メトリック値にマウス カーソルを合わせます。
  6. メトリック スパイクのデータ ポイントの外れ値を識別します。
  7. (オプション)表示を非表示にするには、グラフの右隅にある矢印をクリックし、[最小/最大を非表示]を選択します。
注:
このオプションは、Investigator で別の Data Viewer を表示している間有効です。[コンソール]タブまたは[管理]タブからアクセスした場合には、この設定がデフォルトの設定に戻り、最小値または最大値は表示されなくなります。
[最小/最大を表示]オプションの無効化
[最小/最大を表示]グラフ作成オプションの場合、ダッシュ ボードに複数のグラフが表示されるとブラウザのパフォーマンスが低下する可能性があります。Introscope.webview.linechart.minmax.timeseries プロパティでは、グラフ内の時系列メトリックの数が定義済みの制限を超えた場合に[最小/最大を表示]メニュー オプションを無効にします。
: このアクションには、<
install_home
> ディレクトリへの読み取りおよび書き込み権限が必要です。
以下の手順に従います。
  1. <
    Install_home
    > ディレクトリから IntroscopeWebView.properties ファイルをテキスト エディタで開きます。
  2. Introscope.webview.linechart.minmax.timeseries プロパティを見つけて、値を設定します。
    デフォルト: 50
    Example: introscope.webview.linechart.minmax.timeseries=40
  3. WebView を再起動します。
グラフからのデータのエクスポート
折れ線グラフに現在表示されているデータのスナップショットをコンマ区切り値 CSV ファイルにエクスポートすることができます。このエクスポート機能により、以下の操作を実行できます。
  • 対話型のスプレッドシート アプリケーションでデータを分析する。
  • 各ユーザおよび顧客とデータを共有する。
以下の手順に従います。
  1. 折れ線グラフにマウス カーソルを合わせ、右上隅の矢印ボタンをクリックし、[CSV へエクスポート]を選択します。
  2. [ダウンロード]フォルダから export.csv ファイルを開きます。
    表形式のスプレッドシートにデータが表示されます。
  3. 場所にファイルを保存します。
コンソール レンズを使用したエージェントのフィルタ
コンソール レンズを使用して、データをレポートするエージェントに対してメトリック データをフィルタできます。複数のエージェントのデータを表示するダッシュボードでは、コンソール レンズを使用して、選択した エージェント のデータのみを表示できます。このフィルタ オプションでは、問題を素早く切り分けることができます。
以下の手順に従います。
  1. [コンソール]リストからダッシュ ボードを選択します。
  2. [時間ウィンドウ]から時間範囲を選択します。
  3. [コンソール レンズ]ボタン APMOP--consolelens_OTH (右上隅)をクリックします。
    [フィルタ用エージェントの選択]ダイアログ ボックスには、現在接続されているエージェントが表示されます。過去の時間範囲を設定した場合(24 時間など)、選択した時間範囲のエージェントがダイアログ ボックスに一覧表示されます。列には、以下の情報が表示されます。
    • ドメイン
      Enterprise Manager にメトリックをレポートするエージェントのドメインを表示します。メトリックは、[ホスト|プロセス|エージェント]階層で編成されます。
    • ホスト
      エージェントをホストするコンピュータを表します。
    • プロセス
      監視対象のアプリケーションのインスタンスのプロセスが表示されます。
    • エージェント名
      アプリケーション サーバ ホストにインストールされているエージェント名が表示されます。
  4. フィルタリングするエージェントを 1 つ以上選択します。
    以下のオプションを選択できます。
    • 履歴エージェント用の最初と最後のタイムスタンプを表示するには、[詳細表示]をクリックします。
    • 変更を保存するには、[OK]をクリックします。
    • 設定をクリアするには、[レンズの削除]をクリックします。
    • 変更を戻すには、[キャンセル]をクリックします。
ダッシュ ボードへの図形と接続線の追加
ダッシュボードでデータを説明して図示するために、図形、線、および接続線を追加することができます。たとえば、簡単なフロー チャートを作成するためにオブジェクト間に接続線を描画できます。
: この手順では、Workstation ダッシュボード エディタを使用してオブジェクトを操作します。このツールの詳細については、「CA APM Workstation ユーザ ガイド」を参照してください。
以下の手順に従います。
  1. Workstation コンソールで、[ダッシュボード]-[編集]を選択して、編集するダッシュボードを開きます。
  2. 描画ツールを選択します。
    • 直線
    • 直線接続線
    • カギ線接続線
    • 多角形
    • フリーハンド(フリーフォーム描画ツール)
  3. 配置位置を作成するには、ビューアの任意の場所をクリックします。
  4. 図形、線、または接続線を描画します。
  5. データを説明または強調するために、以下の操作を実行できます。
    • 直線、接続線、およびフリーハンドに矢印を追加する。
    • 多角形に塗りつぶしの色または Web リンクを追加する。
    • ダッシュボード オブジェクトを前面から背面に移動する。
  6. [ファイル]-[保存]の順に選択します。
    変更を表示するには、WebView または Workstation でダッシュ ボードを開きます。
以下の手順に従います。
  1. Workstation で、ダッシュボードを作成するか、または編集モードで既存のダッシュボードを開きます。
  2. WebView で、[Investigator]-[メトリック ブラウザ]をクリックします。
  3. [Custom Metric Agent]ノードの下の[Enterprise Manager]など、ツリーでメトリックまたはリソースを選択します。
  4. ビューア ペインで、(XML で定義された)内容をダッシュボードに追加するタブ、たとえば、[概要]タブをクリックします。
  5. 内容をダッシュボードにドラッグ アンド ドロップします。
  6. サイズを調節するには、以下の手順に従います。
    1. [編集]-[ダッシュボード プロパティを変更]の順に選択します。
    2. フィールドに、幅および高さの値(ピクセル単位)を入力します。
  7. [ファイル]-[保存]の順に選択します。
    変更を表示するには、WebView でダッシュ ボードを開きます。
アプリケーションの問題を見つける方法
アプリケーションの問題切り分け担当者は、アプリケーションまたはアプリケーション環境内で問題が発生していることが分かった場合、その問題がどこで発生しているかを特定することから調査を始めます
以下の図は問題の場所を特定する方法を示します。
How to Locate an Application Problem
以下の手順に従います。
問題が発生している場所が確定したら、以下のシナリオを使用して、根本原因を特定します。
[ホーム]タブからのアプリケーション稼働状況およびパフォーマンスの監視
アプリケーション稼働状況およびパフォーマンスの監視を定期的に行うことによって、通常のパフォーマンスがどのようなものであるかを知ることができます。典型的な環境状態を知っておくと、問題が発生したときにアプリケーション環境内の問題や異常な変化を迅速に特定することができます。
アプリケーションの監視には[ホーム]タブを使用します。[ホーム]タブには稼働状況やステータスの概要が表示されます。
以下の手順に従います。
  1. 必要に応じて、WebView の[ホーム]タブをクリックします。
    : SAP WebView ユーザは、[ホーム]タブを利用できません。この場合、ユーザはダッシュボードから開始することができます。シナリオ「サンプル ダッシュボードを使用したアプリケーションの稼働状況およびパフォーマンスの監視方法」を参照してください。
  2. (オプション)まず、アプリケーション問題切り分けマップ、または WebView Console ダッシュボードから問題の場所を調査します。
標準メトリック
WebView は、エージェントがメトリックとしてリモートおよびローカル システムから収集するアプリケーション パフォーマンス データを表示します。監視対象のフロントエンドおよびバックエンドのアプリケーション コンポーネント、およびその他の多くのアプリケーション コンポーネントについては、以下の標準メトリックが表示されます。
  • Average Response Time (ms) (平均応答時間(ミリ秒))
    -- 基準となるアプリケーション応答速度。
  • Concurrent Invocations (同時進行中の呼び出し)
    -- 一定の時間に処理される要求の数。
  • Errors Per Interval (間隔ごとのエラー数)
    -- 指定した時間スライス中に発生するエラーの数。
  • Responses Per Interval (間隔ごとの応答数)
    -- 指定した時間スライス中に完了する要求の数。
  • Stall Count (ストール数)
    -- ストールの数。ストールは、指定した時間しきい値内に完了しなかった要求です。
ビジネス トランザクションおよびアプリケーション コンポーネント稼働状況の表示
ビジネス トランザクションおよびアプリケーション コンポーネント稼働状況のサマリを表示することにより、パフォーマンス稼働状況での問題を特定および診断できます。
アプリケーション コンポーネントもフロントエンドと呼ばれます。これは受信トランザクションを最初に処理するアプリケーション コンポーネントです。最も一般的な J2EE のアプリケーションでは、サーブレットや JSP がこれにあたります。Java インスタンスによっては EJB やその他のコンポーネントのこともあります。Introscope はサーブレットと JSP をフロントエンドとして自動認識しますが、その他のコンポーネントの場合、自動的には認識しません。
以下の手順に従います。
  1. 必要に応じて、WebView の[ホーム]タブをクリックします。
  2. ビジネス トランザクション サマリやアプリケーション コンポーネント サマリに表示される正常なパフォーマンスおよび異常なパフォーマンスを監視し、状態を把握します。
    • ステータス
      アラート インジケータを表示します。このステータスは以下のいずれかのメトリックを使用します。
      • Average Response Time
      • Concurrent Invocations (同時進行中の呼び出し)
      • Errors per Interval
      • Responses per Intervals
      • Stalls Count
    • R/T (秒)
      応答時間を表示します。応答時間は、要求が完了するまでにかかる時間(秒単位)です。
      • 応答時間が短いのが望ましい状態です。
      • 長い応答時間は、問題があることを示しています。
      Average Response Time(平均応答時間)メトリックは、間隔中に完了したすべての要求の応答時間の平均を示します。このメトリックが警告ステータス(黄)または危険ステータス(赤)を示した場合、セルの色はステータスに対応した色になります。
    • エラー
      JVM および HTTP エラー コードでレポートされる例外の数を表示します。ストール数の傾向を他のメトリックの変化と組み合せて、問題を識別し、診断できます。
  3. 現在の傾向または履歴傾向を調査します。
    • ライブ データおよび履歴データの表示。
      [時間ウィンドウ]ドロップダウン リストから時間範囲を選択します。
    • 目的のビジネス トランザクションまたはアプリケーション コンポーネントの名前をクリックします。
      問題切り分けマップ ツリー内の対応するビジネス サービスまたはフロントエンドによって表示が切り替わります。自動検出されたアプリケーション コンポーネントおよびそれらの依存関係が、[概要]タブのアプリケーション問題切り分けマップに表示されます。マップ エレメントにマウス カーソルを合わせて、フロントエンドのパフォーマンスを監視しながらメトリックを表示および確認できます。
最も遅い、または最も非効率的なパフォーマンスのフロントエンドおよびビジネス トランザクションの表示
CA APM 環境の要約された稼働状況を表示できます。このサマリには、最も遅いパフォーマンスおよび最も非効率的なパフォーマンスの上位 25 件のビジネス トランザクションおよびフロントエンドが表示されます。
以下の手順に従います。
  1. 必要に応じて、WebView の[ホーム]タブをクリックします。
  2. 以下のグラフを分析して問題の特定および診断を行い、これらのメトリックスを監視して、常に速度が遅くエラーが起こりやすいのがどのトランザクションであるかを把握します。
    • 最も遅いものから 25 件
    • エラー数およびストール数の最も多いものから 25 件
    エラーおよびストールについてさらに知るには以下を参照してください。
  3. (オプション)ライブ データおよび履歴データを表示します。
    [時間ウィンドウ]ドロップダウン リストから時間範囲を選択します。
アプリケーション層稼働状況のリスクの表示
アプリケーション層(バックエンド呼び出し、CPU、およびメモリ)の稼働状況を表示し、問題の根本原因を特定できます。バックエンドは最も一般的なデータベースですが、メール サーバなどの任意の外部システムである可能性もあります。
以下の手順に従います。
  1. 必要に応じて、WebView の[ホーム]タブをクリックします。
  2. [他の層からのリスク]ペインを表示します。
    [バックエンド コール]には、triage map backends calls で定義されたアラートのステータスが表示されます [CPU]には、ホストの CPU 使用率に対して定義されたアラートのステータスが表示されます。[メモリ]には、ガベージ コレクションに費やされた時間の割合に対して定義されたアラートのステータスが表示されます。
    • 警告状態(黄)または危険状態(赤)のアラート インジケータを探します。
  3. 目的のアプリケーション層をクリックします。
    表示が、管理モジュール ツリーのアラートに切り替わります。[プレビュー]ペインにアラートの設定が表示されます。
    注意
    : アラートの設定については、イカのシナリオを参照してください。
    アラートの作成および設定方法
    サマリ アラートの作成および設定方法
    危険アラートおよび警告アラートのアクションを作成および編集する方法
  4. グラフでしきい値を超えているメトリックにマウス カーソルを合わせると、役に立つ詳細情報が表示されます。
    • 関心のあるメトリック リンクをクリックすると、メトリック ブラウザ ツリーで詳細を確認できます。
アクティブなアラートの表示
ライブ モードと履歴モードのアクティブなアラート ステータスは[ホーム]タブに表示されます。
以下の手順に従います。
  1. 必要に応じて、WebView の[ホーム]タブをクリックします。
  2. [アクティブなアラート]ペインで、危険、警告、または正常のステータスを持ったすべてのアクティブなアラートのサマリ数を確認します。
  3. アクティブなアラート テーブルの[下位 10 件]ペインを表示します。
    • 警告状態(黄)または危険状態(赤)のアラート インジケータを探します。
  4. 何がアラートをトリガしたかを確認または分析するには、テーブルで関心のあるアラート名をクリックします。
    • 簡易アラート定義。
      [管理モジュール]ツリーのプレビュー ペインには、アラートの設定が表示されます。
    • 管理モジュール ツリーの簡易アラート定義。
      関連する簡易アラートすべてを含むサマリ アラート定義を表示します。
    • アラートを問題切り分けマップ ツリーで定義するときの基準となるメトリック。
  5. 関連するメトリックがアラートしきい値を超えたときに調査することにより、アラートを検査します。
最近のアラート通知メッセージの表示
[ホーム]タブには、常に 5 つの最新のアラート通知メッセージが自動的に表示されます アラートおよびアラート通知の定義の詳細については、シナリオ「危険および警告アラートのアクションの作成と編集」を参照してください。
以下の手順に従います。
  1. [最近の通知]アラート リストを表示し、警告(黄)または危険(赤)アラート インジケータを探します。
  2. 何がアラートをトリガしたかを確認または分析するには、関心のあるアラート通知をクリックします。
    • 簡易アラート定義。
      [管理モジュール]ツリーのプレビュー ペインには、アラートの設定が表示されます。
    • アラートを問題切り分けマップ ツリーで定義するときの基準となるメトリック。
    • Application Behavior Analytics 分析ワークベンチのアラート通知。
      詳細については、「APM Application Behavior Analytics インストールおよび設定CA APM Application Behavior Analytics インストールおよび設定ガイド」を参照してください。
  3. アラートを調査するには、そのアラートをクリックし、なぜ変更がトリガされたかを判断します。
メトリック ブラウザについて
[メトリック ブラウザ]タブには、メトリックとほかの情報がツリー形式で表示されます。ドメインのすぐ下の高レベル ノードは、個々のアプリケーション サーバ ホストまたは同等のものにインストールされているエージェントを表します。
高レベル ノードが表す各種コンポーネントには、次のものがあります。
  • サーブレット、EJB、ASP ページなど、J2EE または.NET アプリケーションのコンポーネント
  • アプリケーション サーバを実行するホスト、および CA APM を実行するホスト コンピュータを含むシステム ノード
Investigator では、ライブ データを表示するか、時間範囲を選択して履歴データを表示できます。
以下の手順に従います。
  1. WebView で、[Investigator]-[メトリック ブラウザ]をクリックします。
  2. 使用している環境に応じて、メトリック ブラウザ ツリーの SuperDomain または Domains ノードを展開します。
    ノードは、特定のメトリック情報が収集され、エージェント中心のツリー ビューに表示される場所です。たとえば、バックエンド ノードや CPU 使用状況ノードがあります。ノードを展開すると、より詳細なメトリック情報を表示し、検索できます。
    エージェント、リソース、およびメトリックのツリー ビューは、15 秒ごとに更新されて最新のメトリック データを表示します。このツリーには以下のノードが含まれます。
    • SuperDomain
      -- このノードには、Enterprise Manager にレポートするすべてのエージェントのメトリックが含まれています。メトリックは、[ホスト|プロセス|エージェント]階層で編成されます。
      • Custom Metric Host (Virtual)
        -- このノードは、特定の個別のエージェントがレポートしないメトリックが含まれている仮想ホストを表します。たとえば、カスタム メトリックまたはカスタム集約エージェントは、このノードの下に表示されます。(このノードは、物理ホスト コンピュータに対応していません。)
      • Hosts
        -- このノードは、エージェントをホストするコンピュータを表します。各ホスト ノードには、モニタ対象のアプリケーションのインスタンスのプロセス ノードが含まれています。また、プロセス ノードには Agent ノードが含まれます。Agent ノードには、メトリックを含むアプリケーションおよびシステム リソースに対応するノードが含まれています。Agent ノードに表示されるアプリケーション リソースは、Agent の種類が Java か .NET かによって異なります。
    • Domains
      -- Enterprise Manager にレポートするエージェントが複数ドメインに分けられている場合は、各ドメインのサブノードがこのノードに含まれます。各サブノードはそれぞれ、個々のアプリケーション サーバ ホストまたはそれに準ずるものにインストールされているエージェントを表します。
  3. ホストの下にあるエージェント ノードをクリックし、展開します。
  4. イベントなどのデータを調査するには、右ペインのタブをクリックします。
    たとえば、[エラー]タブをクリックしてアプリケーション エラーを検出します。エラー診断の詳細については、シナリオ「エラーを分析する方法」を参照してください。
アプリケーションのバイタル サイン
一部のメトリックは、アプリケーションのパフォーマンスの監視に特に有用です。以下のメトリックは、アプリケーションのバイタル サインと見なすことができます。
使用するメトリックの多くは標準的なメトリックです。
  • Average Response Time
  • Concurrent Invocations (同時進行中の呼び出し)
  • Errors Per Interval (間隔ごとのエラー数)
  • Responses per Interval(間隔ごとの応答)
  • Stall Count (ストール カウント)
これらのメトリックやその他のメトリックの詳細については、「CA APM メトリック」を参照してください。
アプリケーションの問題の傾向タイプ
Average Response Time をほかのメトリックの変化と組み合せて、傾向を分析することで、問題を識別し、診断できます。
Average Response Time の傾向
定義
継続的な問題
Available Thread Count の値が低く、Average Response Time の値が一貫して高い場合は、以下の問題を示している可能性があります。
  • 非効率なコード
  • 外部システムの過剰使用
  • バックエンドが遅い
  • レイヤが多すぎる
一貫した問題が常に存在し、改善することも悪化することもありません。
定期的な問題
Average Response Time が定期的に高くなり、定期的に急増した後、通常に戻るというようなグラフで示されます。
Available Thread Count の値が低く、Average Response Time の値が定期的に高くなる場合は、以下の問題を示している可能性があります。
  • GC リークが頻繁に発生
  • 負荷に関連するバックエンドのボトルネック
  • CPU Utilization の値が低く、Average Response Time の値が定期的に高くなる場合は、以下の問題を示している可能性があります。
  • 内部問題
定期的な問題が発生し、一定の間隔で収まります。
進行的な問題
Average Response Time が長期にわたって着実に増加しており、Responses Per Interval の値が低い場合は、以下の問題を示している可能性があります。
  • メモリ リーク
段階的な問題は時間と共に減少します。
 
エージェントからのメトリックの分析
アプリケーションの問題を表示するメトリックを分離して、特定のメトリックを分析し、さらに多くの情報を収集します。
エージェントによってレポートされる以下の情報を分析します。
  • サーブレット、EJB、ASP ページなどの、J2EE または .NET アプリケーションのコンポーネント。
  • アプリケーション サーバを実行するホスト、および CA APM を実行するホスト コンピュータを含むシステム ノード。
  • イベント、障害、漏洩、およびその他の特殊な状況の発生。
以下の手順に従います。
  1. [ホーム]タブのチャート、ダッシュボード、またはアラート定義でデータ ポイントをクリックします。
    メトリック ブラウザ ツリーにメトリックが表示されます。
  2. 何がメトリック値変更のトリガになったかを判断します。
    1. メトリック値がいつ変わったかを確認するために時間ウィンドウで時間範囲を変更します。
    2. 時間範囲内の 1 つ以上のチャートを確認し、その問題が継続的か、定期的か、進行的か、突発的かを判断します。
  3. 他のメトリックのデータを確認すると、問題の場所の特定に役立ちます。
    1. メトリック ブラウザ ツリーで、検査しているメトリックの親ノードをクリックし、次に[概要]タブをクリックします。
      たとえば、Average Response Time (ms) を確認している場合は、平均応答時間のメトリックと、その他の標準的なメトリックを含むアプリケーション ノードをクリックします。
    2. 初期メトリック値が変わったときにその他の変更が発生したかどうかを判断するには、[概要]タブのチャートに表示されたメトリックを検査します。
フロントエンド メトリックによるパフォーマンスの調査
フロントエンドのメトリックおよびタブを使用して、アプリケーション コンポーネントおよび標準的なメトリックを監視することで、パフォーマンスの問題を調査できます。
以下の手順に従います。
  1. WebView で、[Investigator]-[メトリック ブラウザ]をクリックします。
  2. メトリック ブラウザ ツリーで Frontends|Apps|
    Frontend_Namen
    に移動します。
    右ペインで選択したノードに対応するパフォーマンス メトリック情報が表示されます。
    注:
    同じメトリックが、[問題切り分けマップ]ツリーの By Frontend|
    Frontend_Name
    |Health に表示されます。
  3. ツリーでメトリックを確認します。
    1. 異常に高い平均レスポンス時間を探します。
    2. Concurrent Invocations (同時進行中の呼び出し)を探します。
      同時進行中の呼び出しは、同じ間隔中に終了を待たずに起動します。メソッドをできるだけ早く終了するためには、同時進行中の呼び出しが異常に多いのは望ましくありません。複数の呼び出しが同時に進行中のときは、一時的に値が急増する可能性がありますが、メトリックは毎回、ゼロに戻ります。ゼロに戻らない場合は、スレッド、データベース接続の数、またはその他の共有リソースのボトルネックを示している可能性があります。
  4. [全般]タブを使用して調査します。
    1. Frontends|Apps|<
      App_Name
      >|URLs に移動して、[全般]タブをクリックします。
      上位 10 件の URL が表示されます。
    2. この上位 10 件が、最も遅いトランザクション上位 10 件のいずれかを表している場合は、遅いトランザクションに関連するメトリックを検査します。
  5. [全般]タブを使用して調査します。
    1. [概要]タブをクリックします。
      このタブには、そのノード下にあるアプリケーション コンポーネントが表示されます。最も値が高い[応答時間](R/T)コンポーネントがリストの一番上に表示されるように、コンポーネント テーブルが並べ替えられます。
    2. アプリケーション パフォーマンス データをグラフで表示するには、以下の手順を実行します。
      • テーブルの最初の列で、1 つ以上のチェック ボックスをオンにします。
      • [グラフ化する列の選択]をクリックします。ドロップダウン リストから、列([エラー]など)を選択します。一度に選択できるのは、1 つの列のみです。
      • [グラフを描画]をクリックします。
        下部ペインのグラフには、選択した項目の現在のデータ ビューが表示されます。データ ポイントにマウス カーソルを合わせると、詳細情報を含むヒントを表示できます。
      • 履歴データを表示するには、[時間ウィンドウ]ドロップダウン リストから時間範囲オプションを選択します。選択した時間範囲がステータス バーに表示されます。
    3. 問題のコンポーネントがあるかどうかを判断するには、以下の手順を実行します。
      • テーブルの 2 列目にある青色ボックスの右向き矢印 The button is a blue box containing a right-facing white arrow. をクリックし、メトリック ブラウザ ツリーのデフォルト位置までコンポーネントを追跡します。
        [概要]タブには、選択したコンポーネントの全体的なパフォーマンス メトリックのグラフ ビューが表示されます。Average Response Time の傾向を利用して、問題の特徴を明らかにします。
    4. [概要]タブの[Average Response Time]メトリックをクリックします。
      メトリックのグラフ ビューが[全般]タブに表示されます。チャートとグラフは、時間範囲を反映します。
  6. (オプション)遅いトランザクションをさらに詳しく調査します。
    詳細については、次のシナリオを参照してください。
バックエンド メトリックによるパフォーマンスの調査
メトリック ブラウザ ツリーの[Backends]ノードには、接続された各バックエンド システムの標準的なメトリックが表示されます。IBM WebSphere MQ、ミドルウェアおよび Web サービスはバックエンド システムです。
たとえば、[SQL]ノードには、基準パフォーマンスを認識するのに役立つメトリックが表示されます。バックエンド アプリケーションのパフォーマンスを調査するには、遅い、またはエラーを生成している SQL ステートメントを表示するといいでしょう。
以下の手順に従います。
  1. WebView で、[Investigator]-[メトリック ブラウザ]をクリックします。
  2. メトリック ブラウザ ツリーで、[Backends]-[Application_Name]-[
    SQL
    ]に移動します。
    [概要]タブに標準メトリックが表示されます。
  3. クエリ テーブルで[R/T](応答時間)列ヘッダをクリックして、テーブル内の項目を並べ替えます。
  4. 最も遅い SQL クエリに注意してください。
  5. 他の列を並べ替えて、他にも問題がないかどうかを調査します。
システム リソースの調査。
GC ヒープや CPU メモリなどのシステム リソースの使用率の高さが、アプリケーションのパフォーマンス低下の原因になることがあります。アプリケーションの問題の根本な原因の究明には、関連するメトリックの評価が役立つでしょう。
GC ヒープ メトリックによるパフォーマンスの調査
ガベージ コレクション(GC)はオブジェクトが使用しなくなったメモリを解放するプロセスです。GC Heap (Garbage Collection Heap) メトリックは、アプリケーションのパフォーマンスを監視および理解する場合に有効なツールとなります。
JVM に割り当てたメモリの量が少なすぎる、または多すぎる場合は、パフォーマンスの問題が発生する可能性があります。これらのガイドラインを使用します。
  • 割り当てたメモリが少なすぎると、より頻繁に GC プロセスが実行されるため、短期間ですが頻繁にパフォーマンスが低下するという問題が発生します。
  • 割り当てたメモリが多すぎると、GC プロセスの実行時に、その所要時間が比較的長くなるため、その間のパフォーマンスが低下します。
以下の手順に従います。
  1. WebView で、[Investigator]-[メトリック ブラウザ]をクリックします。
  2. エージェント セントリック ツリーの[GC Heap]ノードに移動します。
    • アプリケーションの問題の原因がメモリ リークにあるかどうかを判断するには、以下のメトリックを使用します。
      • GC Heap|Bytes In Use
        オブジェクトが使用しているメモリの量をレポートします。
      • GC Heap|Bytes Total
        JVM が割り当てるメモリの合計をレポートします。
    これらのメトリックを観察して、一定時間における基準パフォーマンスを把握します。[Bytes In Use]メトリックは定期的に増加および減少を示すはずです。ある程度の間、この変化が一定のパターンで繰り返されるようであれば、メモリ リークの兆候は示されていません。
CPU 使用率の評価
CPU 使用率の増大は、アプリケーションのパフォーマンスに問題を引き起こす可能性があります。
以下の手順に従います。
  1. WebView で、[Investigator]-[メトリック ブラウザ]をクリックします。
  2. エージェント セントリック ツリーの[CPU Heap]ノードに移動します。必要に応じて、サブノードを展開します。
    • CPU 使用率を判断するには、以下のメトリックを使用します。
      • CPU:Utilization % (process)
        ホストの処理能力の合計に対する割合(%)ですが、Introscope が監視する JVM プロセスにより利用される割合(%)に限定されます。
      • CPU:Utilization % (aggregate)
        個々のプロセッサの使用率。
(オプション)スレッド ダンプの収集および分析。
ブロックされたスレッドが多数存在することに気付いた場合は、スレッド ダンプを収集して調査します。thread_dump オプション権限を持つユーザは、スレッド ダンプを表示して JVM のパフォーマンスの問題の原因を特定できます。
注:
スレッド ダンプは JVM についてのみ収集できます。.NET CLR では収集できません。
注:
時間ウィンドウは[スレッド ダンプ]タブに影響しません。
スレッド ダンプ分析は以下のような場合に使用します。速度低下、サーバのハングアップ、または異常に高い CPU 使用率の原因を把握するには、エージェント JVM スナップショットを使用します。
  • トランザクション追跡セッションの実行時に、WebView にストール メトリックは表示されるが、トランザクションは表示されない。この状況は、トランザクションが終了しておらず、Enterprise Manager がエージェント サーバ ハングアップに関する不完全な情報を取得しているために発生することがあります。
  • アプリケーションの CPU 使用率が低いにもかかわらず、応答に長い時間がかかる。この状況は、操作中のスレッドがすべて、デッドロックしているか、ブロックされているか、待機中であることを示します。
  • あるメソッドでロードに長時間を要する場合、1 つのスレッドが CPU の大部分を使用していることがあります。その間、他のすべてのスレッドは、それらの次のタスクを開始する前に、単一のスレッドがそのタスクを完了するのを待機します。
: 連続してスレッド ダンプを実施すると、パフォーマンスが低下する場合があります。最高のパフォーマンスを得るには、各スレッド ダンプ間に多少の時間をあけます。
以下の手順に従います。
  1. WebView で、[Investigator]-[メトリック ブラウザ]をクリックします。
  2. メトリック ブラウザ ツリーのエージェント ノードを選択します。
  3. 右側のペインで、[スレッド ダンプ]タブをクリックします。
  4. [新規に収集]をクリックします。
  5. 表示されるメッセージで[はい]をクリックします。
    ヘッダは、スレッド ダンプ時間を表示します。スレッド ダンプ サマリ バーは、スレッドの総数、待機スレッドの数、ブロックされたスレッドの数、または実行中スレッドの数を表示します。右下隅にある円グラフは、スレッドのパーセンテージを状態別で表示します。
スレッド ダンプの調査
1 つのスレッドに関する情報を以下のように調査します。
  1. スレッド ダンプ テーブル内の行を選択します。
    各スレッドは、スタック トレースに関連付けられます。スタック トレースは、すべてのメソッドを呼び出された順にスレッド スタック トレース テーブルに一覧表示します。
  2. スレッド スタックト レース テーブル内の[重複を非表示にする]チェック ボックスをオンにします。同じクラスの複数のメソッドがスタック トレースで連続して呼び出される場合は、最初のメソッドのみが表示されます。チェック ボックスがオフにされた場合、スタック トレース内のメソッドはすべてスレッド スタック トレース テーブルに一覧表示されます。
    重複する呼び出しが非表示の場合、[スレッド ダンプ]タブには、非表示の呼び出し数が、メソッド名の隣に山かっこで囲まれて表示されます。
    たとえば、スレッドを選択しており、以下のメソッドがスタック トレース テーブルに表示されるとします。
    java.net.PlainSockettlmpl.SocketAccept(Native Method) java.net.PlainSockettlmpl.accept(PlainSockettlmpl.java:457) java.net.ServerSockettimpl.Accept(ServerSockettimpl.java:473) java.net.ServerSockettimpl.accept(ServerSocket.java:444) com.ibm.rmi.transport.ListenerThread.run(ListenerThread.java:166)
    [重複を非表示にする]チェック ボックスをオンにすると、上記のメソッドは以下のように表示されます。
    java.net.PlainSockettlmpl.SocketAccept(Native Method) <1> java.net.ServerSockettimpl.Accept(ServerSockettimpl.java:473) <1> com.ibm.rmi.transport.ListenerThread.run(ListenerThread.java:166)
    後の java.net.PlainSockettlmpl.SocketAccept メソッドと java.net.ServerSockettimpl.Accept メソッドの呼び出しは現在、追跡スタックで非表示です。これらの呼び出しは、<1> の非表示メソッド数として表されます。
  3. すべてのスレッド ダンプ情報内の特定の文字列を以下のように検索します。
    • [検索]フィールドで、単語または語句を入力します。
    • [フィルタの適用]をクリックします。
  4. すべてのスレッド、またはデッドロック、実行中、ブロック、または待機中の各状態のスレッドを以下のように一覧表示します。
    • [スレッド状態]ドロップダウン リスト([検索]フィールドの右側にある)をクリックして、状態を選択します。[フィルタの適用]をクリックします。
    • [スレッド状態]ドロップダウンを使用して、さらに検索をフィルタします。
  5. 前回のスレッド ダンプについて、スレッド ダンプの詳細を以下のように表示します。
    1. [以前のデータをロード]ボタンをクリックします。
    2. [前回のスレッド ダンプをロード]ダイアログ ボックスで 1 行を選択し、[OK]をクリックします。
    選択したスレッド ダンプのデータが表示されます。
    : 以前のすべてのスレッド ダンプから選択し、一度に 1 つの前回のスレッド ダンプを表示できます。アプリケーションがハングする原因となっている、アプリケーション コンポーネントを特定できます。
次に行う作業
問題の場所を特定し、関連する情報を収集しました。アプリケーションまたはコンポーネントの所有責任者に問題の診断を要求することができます。
以下のシナリオを使用して、根本原因をさらに詳しく調査できます。