サービス指向アーキテクチャの監視

SOA Performance Management (SPM)では、Web サービス クライアントとプロバイダに関する情報およびそれらの基盤となるオペレーションの表示により、SOA インフラストラクチャを監視できます。たとえば、プロセス依存関係、クリティカルなオペレーション、プロセス フロー、SOAP 障害などが表示されます。
apmdevops104jp
SOA Performance Management (SPM)では、Web サービス クライアントとプロバイダに関する情報およびそれらの基盤となるオペレーションの表示により、SOA インフラストラクチャを監視できます。たとえば、プロセス依存関係、クリティカルなオペレーション、プロセス フロー、SOAP 障害などが表示されます。
このセクションでは、SOA インフラストラクチャを監視するためのデフォルトのダッシュボードおよびメトリックについて説明します。また、クライアントおよびサーバ オペレーションに関する SOA 固有の情報にアクセスする方法についても説明します。
CA Introscope での SOA 固有情報の表示
SOA Performance Management では、Workstation および SOA 固有のダッシュボード、タブ、メトリックを使用して、Web サービス クライアントおよびプロバイダに関する情報を表示することにより、SOA インフラストラクチャを監視できます。
以下のリストでは、SOA 環境を監視するために Workstation に何が追加されるかを要約しています。
  • SOA パフォーマンス ダッシュボードでは、展開したエージェントにわたって SOA 環境全体の稼働状況をひとめで監視できます。
  • SOA 依存マップでは、SOA コンポーネント間の依存関係の視覚的な表示が可能であり、Web サービスおよびオペレーションが相互にどのように関連するかを理解するのに役立ちます。
  • [依存]タブでは、特定のサービスが直接または間接依存するクリティカルなオペレーションの数のような、依存関係メトリックを表示できます。
  • [偏差]タブでは、特定のネームスペースまたはオペレーションについて、平均応答時間からの偏差のような偏差メトリックを表示できます。
  • [クリティカル(上位)]タブでは、依存するオペレーションが最も多いオペレーションを表示できます。
  • [最も依存度が高い]タブでは、そのほかのオペレーションへの依存度が最も高いオペレーションを表示できます。
  • [エラー]タブでは、Web サービス オペレーションにより発生した SOAP 障害エラーに関する追加の情報が表示されます。
また、Investigator を使用して標準および SOA 固有のメトリックにドリル ダウンして SOA 固有のコンポーネントに関する詳細情報を表示することもできます。トランザクション追跡ビューアを使用して、JVM または CLR の境界にまたがる SOA 関連のトランザクションを監視することもできます。
クライアントおよびサーバの Web サービスとオペレーションについて
アプリケーション サーバを再起動すると、エージェントは、ディレクティブ ファイルの一覧で定義されたディレクティブに基づいて見つかるアプリケーションをインスツルメントします。このプロセスの一部として、エージェントは、オペレーションを呼び出すために使用されたリモート プロシージャ コールまたは SOAP メッセージから、Web サービス オペレーション(メソッドの呼び出しに相当)を識別します。 各 Web サービス内の個々のオペレーションは、クライアント(アウトバウンド)要求またはサーバ応答として識別され、エージェント アプリケーションの[WebServices]|[Client]または[WebServices]|[Server]ノードの下で表示されます。
ほとんどの場合、Web サービスのクライアントとサーバは、個別の Java 仮想マシン(JVM)または Microsoft Common Language Runtime 環境(CLR)で実行されています。したがって、[Client]および[Server]ノードは多くの場合、個別のエージェントの下で一覧表示されます。同じ JVM または CLR が要求と応答の両方を処理する場合、[Client]および[Server]ノードの両方はそのエージェントの[WebServices]ノードの下で一覧表示されます。たとえば、クライアントとサーバが同じ JVM を使用する場合、Investigator ツリーでは、<ホスト名>|<プロセス名>|<エージェント名>|[WebServices]の下で[Client]および[Server]ノードの両方が表示されます。
サービスのネームスペースおよびオペレーション名について
Investigator で、[Client]および[Server]ノードを展開すると、個々の Web サービスが Web サービスのネームスペースに表示されます。 Web サービスのネームスペースは Web サービスの Uniform Resource Identifier(URI)の修正されたバージョンです。URI には、以下の 2 つのタイプがあります。
  • Uniform Resource Locator(URL)
  • Uniform Resource Name(URN)
Investigator に表示されるネームスペースは、URL 内のコロン(:)のような、予約された意味のある文字を置き換えるように修正されます。しかし、それ以外の点は Web サービスの URL または URN と同じです。たとえば、標準のネームスペースは次のようになる場合があります。
http_//CreditManagement.demobank.ca.com
任意の Web サービスのネームスペースを展開して、そのオペレーションを表示できます。Web サービスでのオペレーション名はメソッド名に相当します。そのため、アプリケーションで最低レベルにドリル ダウンして、低下したパフォーマンスを分析できます。たとえば、標準のオペレーション名が
getSmallBusinessAcctBalance
または
isAcctNumberValid
のように、実行される詳細なアクティビティを説明する場合があります。
未確認のサービスおよびオペレーションについて
場合によって、SOA エージェントの拡張機能は Web サービスのネームスペースまたはオペレーションを識別できないことがあります。Web サービスの名前またはオペレーションを識別できないと、レポートされるメトリックおよびデータの集約に影響が出る場合があります。たとえば、Investigator ツリーで、ネームスペースの代わりに UnknownService、またはオペレーション名の代わりに UnknownOperationName が表示される場合があります。
WebServices クライアントまたはサーバについて UnknownService または UnknownOperationName が表示される場合は、以下を確認します。
  • 使用中のプロトコル、API、およびアプリケーション サーバ バージョンに対する Web サービスの実装
  • 受信および送信メッセージの構成
仮想エージェントについて
デフォルトでは、メトリックはエージェントごとに独立して表示されます。複数のエージェントにわたって、またはクライアントとサーバのネームスペースにわたって集約された Web サービスに関するメトリックを表示する場合は、仮想エージェントを定義する必要があります。 たとえば、Web サービスのクライアントとサーバの両方が同じ JVM を使用する場合、クライアントとサーバの両方が含まれる集約されたデータとして、Web サービスに関するメトリックが表示されるように、仮想エージェントを定義することをお勧めします。
エージェントのレポート先となる Enterprise Manager の
<EM_Home>/config/agentclusters.xml
ファイルを変更することにより、仮想エージェントを定義できます。
agentclusters.xml
ファイル内では、集約されたデータとして表示するエージェントおよびメトリックを指定します。たとえば、すべてのサーバ側 Web サービスにわたって Average Response Time (平均応答時間) に関するデータを収集して集約するか、サーバ側とクライアント側の両方の Web サービスにわたって[Average Response Time (平均応答時間)]メトリックを組み合わせるように、仮想エージェントを設定できます。
以下の例では、すべての非カスタム エージェントにわたってサーバ メトリックを集約する、WebServicesVirtualAgent という名前の仮想エージェントを定義する方法を示しています。
<agent-cluster name="WebServicesVirtualAgent" domain="SuperDomain" > <agent-specifier>(.*)\|[^Custom.*](.*)\|(.*)</agent-specifier> <metric-specifier>WebServices\|Server\|(.*):Average Response Time \(ms\)</metric-specifier> <metric-specifier>WebServices\|Server\|(.*):Concurrent Invocations</metric-specifier> <metric-specifier>WebServices\|Server\|(.*):Errors Per Interval</metric-specifier> <metric-specifier>WebServices\|Server\|(.*):Responses Per Interval</metric-specifier> <metric-specifier>WebServices\|Server\|(.*):Stall Count</metric-specifier> <metric-specifier>WebServices\|Server\|(.*):SOAP Faults Per Interval</metric-specifier> </agent-cluster>
その後、WebServicesVirtualAgent ノードを展開して、集約されたサーバ メトリックを表示できます。以下の図では、agentclusters.xml ファイルで定義された仮想エージェントが Investigator ツリーでノードとして表示されていることを示しています。
Virtual agent data is displayed under the WebServicesVirtualAgent node in the Investigator.
SOA パフォーマンス ダッシュボードの使用
SOA Performance Management には、SOA 環境全体の稼働状況を監視するために使用できる、事前設定されたダッシュボードが含まれています。ダッシュボードは、複数のエージェントにわたってデータを集約し、パフォーマンスおよび可用性の情報を要約して、潜在的な問題への高レベルの可視性を提供します。
通常、ダッシュボードは以下の機能を備えているため、環境を監視するための起点として使用されます。
  • SOA インフラストラクチャの重要なコンポーネントの全般的な稼働状況、パフォーマンス、可用性、およびステータスをひとめで監視する。
  • 低いレベルのメトリックによって警告しきい値や危険しきい値を超えたことが示されたときに、実運用アプリケーション環境に発生する可能性がある問題の通知を早めに取得する。
  • パフォーマンス情報にドリルダウンして、どの Web サービス クライアント、プロバイダ、またはオペレーションが原因で遅延またはエラーが発生しているかを切り分けて特定する。
以下の手順に従います。
  1. Enterprise Manager を起動します(現在実行されていない場合)。
  2. Workstation を起動し、SOA 拡張機能がインストールされている Enterprise Manager にログインします。
  3. [Workstation]-[新規コンソール]を選択します。
  4. [ダッシュボード]ドロップダウン リストから SOA パフォーマンスのダッシュボードの 1 つを選択します。
    たとえば、Web サービスを監視する開始点として、[SOA パフォーマンス - 概要]ダッシュボードを選択します。[SOA パフォーマンス - 概要]ダッシュボードには、展開したサービス全体の稼働状況に関する情報が表示されます。
    [SOA パフォーマンス - 概要]ダッシュボードから、以下のダッシュボードを操作して、クライアントまたはサーバ オペレーションに関するより詳細な情報を表示できます。
    • クライアント稼働状況
    • サーバ稼働状況
    • 最もクリティカルなオペレーション
    • 最も依存度が高いオペレーション
    • 最も稼働率が高いオペレーション
    たとえば、その問題がクライアント側の平均応答時間であるように見える場合は、[クライアントの稼働状況]タブをダブルクリックして、最も遅いクライアント オペレーション、平均応答時間、1 間隔あたりの応答、および 1 間隔あたりの SOAP 障害に関する詳細をダッシュボードに表示できます。
  5. 任意のダッシュボードから、サービスまたはオペレーション名をダブルクリックして、さらなる分析のために Workstation Investigator を開くことができます。たとえば、[クライアントの稼働状況]ダッシュボードで遅いサービスを選択する場合は、Investigator が開き、そのクライアント サービスに関するメトリックが表示されます。
[SOA パフォーマンス - 概要]ダッシュボード
[SOA パフォーマンス - 概要]ダッシュボードは、監視対象の Web サービスの概要を、クライアント側とサーバ側のサービス オペレーションに分けて表示します。
概要ダッシュボードには、以下の情報が含まれます。
  • 最も遅いクライアントおよびサーバ サービスの一覧
  • クライアントおよびサーバ サービスに関する平均応答時間のグラフ
  • クライアントおよびサーバ サービスに関する応答時間、SOAP 障害、エラー、ストールを対象とするアラート インジケータ
このダッシュボードを使用して、監視中の Web サービスについて要約された情報を表示できます。
[SOA パフォーマンス - クライアント稼働状況]ダッシュボード
[SOA パフォーマンス - クライアント稼働状況]ダッシュボードは、クライアント側の Web サービス オペレーションに関する詳細情報を表示します。
[クライアント稼働状況]ダッシュボードには、以下の情報が含まれます。
  • 低速のクライアント オペレーション 10 件の一覧
  • 各クライアント側オペレーションについて集約された平均応答時間
  • 各クライアント側 Web サービスのすべてのオペレーションについて集約された平均応答時間
  • 1 間隔あたりに各クライアント側 Web サービスについて集約された SOAP 障害の合計数
  • 1 間隔あたりに各クライアント側 Web サービスについて集約された応答の合計数
監視中のクライアント側 Web サービスについて問題を警告された場合、このダッシュボードを使用して、クライアント側オペレーションに関する追加の詳細情報を表示できます。
[SOA パフォーマンス - サーバ稼働状況]ダッシュボード
[SOA パフォーマンス - サーバ稼働状況]ダッシュボードは、サーバ側の Web サービス オペレーションに関する詳細情報を表示します。
[サーバ稼働状況]ダッシュボードには、以下の情報が含まれます。
  • 低速の Web サービス オペレーション 10 件の一覧
  • 各サーバ側オペレーションに関する平均応答時間
  • 各サーバ側 Web サービスのすべてのメソッドまたはオペレーションについて集約された応答時間の平均
  • 1 間隔あたりに各サーバ側 Web サービスについて集約された SOAP 障害の合計数
  • 1 間隔あたりに各サーバ側 Web サービスについて集約された応答の合計数
監視中のサーバ側 Web サービスについて問題を警告された場合、このダッシュボードを使用して、サーバ側オペレーションに関する追加の詳細情報を表示できます。
[SOA パフォーマンス - 最もクリティカルなオペレーション]ダッシュボード
[SOA パフォーマンス - 最もクリティカルなオペレーション]ダッシュボードには、依存度が高いオペレーションが最も多いオペレーションの偏差メトリックが示されます。クリティカルなオペレーションはほかのオペレーションが成功するか失敗するかどうかに影響を与える可能性が最も高いため、これらのオペレーションを緊密に監視します。
[最もクリティカルなオペレーション]ダッシュボードには、依存度が高いオペレーションが最も多いオペレーションの一覧、および以下のグラフが含まれています。
  • 平均応答時間偏差
  • 間隔偏差ごとのエラー数
  • 間隔ごとの応答数偏差
高い偏差値は、クリティカルなオペレーションが確実に実行されていないか、ダウンストリーム オペレーションが正常に実行されていないことを示す場合があります。
CA APM for TIBCO BusinessWorks のような、そのほかの SOA プラットフォームの監視を有効にする場合、このダッシュボードには、拡張機能の最もクリティカルなプロセスに関する情報も含まれることがあります。
[SOA パフォーマンス - 最も依存度が高いオペレーション]ダッシュボード
[SOA パフォーマンス - 最も依存度が高いオペレーション]ダッシュボードには、ほかのオペレーションへの依存度が最も高いオペレーションの偏差メトリックが示されます。
[最も依存度が高いオペレーション]ダッシュボードには、ほかのオペレーションへの最も依存度が高いオペレーションの一覧、および以下のグラフが含まれています。
  • 平均応答時間偏差
  • 間隔偏差ごとのエラー数
  • 間隔ごとの応答数偏差
高い偏差値は、アップストリーム オペレーションが確実に実行されていないことを示す場合があります。
CA APM for TIBCO BusinessWorks のような、そのほかの SOA プラットフォームの監視を有効にする場合、このダッシュボードには、拡張機能の最も依存度の高いプロセスに関する情報も含まれることがあります。
[SOA パフォーマンス - 最も稼働率が高いオペレーション]ダッシュボード
[SOA パフォーマンス - 最も稼働率が高いオペレーション]ダッシュボードには、クライアント側とサーバ側に分類された、1 間隔あたりの最も稼働率の高い Web サービスに関する詳細情報が示されます。
[最も稼働率が高いオペレーション]ダッシュボードには、以下の情報が含まれます。
  • 最も稼働率が高いクライアントおよびサーバ オペレーションの一覧
  • すべてのクライアント側オペレーションに関する 1 間隔あたりの応答の合計
  • すべてのサーバ側オペレーションに関する 1 間隔あたりの応答の合計
このダッシュボードを使用して、監視中のクライアントおよびサーバ Web サービスについて現在のスループットに関する追加の詳細情報を表示できます。
Investigator を使用して SOA パフォーマンス メトリックを表示する
ダッシュボードで、クライアントとサーバの稼働状況の概要、および最もクリティカルまたは高稼働率のオペレーションのような潜在的な障害点を表示した場合は、Investigator により、問題の根本原因の特定に役立つ、SOA 環境に固有の詳細情報にドリル ダウンできます。
Investigator により、個々のサービス内の個々のオペレーションについて、アプリケーションの概要レベルのメトリックから詳細レベルのメトリックまで集約されたメトリックを分析して、パフォーマンス低下やエラー アクティビティの原因を見つけることができます。
利用可能なメトリック
監視対象の各
オペレーション
または
サービス ネームスペース
用の CA Introscope 標準メトリックに加えて、SPM では、いくつかの SOA 固有のメトリックが提供されます。個々のオペレーションに関するメトリックは、個々の Web サービスに関するメトリックに集約され、アプリケーションのクライアント側およびサーバ側パフォーマンスを評価するために使用できます。
通常は、以下の標準および SOA 固有のメトリックが、Web サービスとして実装されているアプリケーションで利用可能です。
  • Average Response Time (ms)
    - 15 秒の期間内に呼び出されたメソッド、オペレーション、またはサービスが完了するのにかかった平均時間(ミリ秒単位)。
  • Average Response Time Deviation
    - 1 間隔あたりの平均応答時間について平均値からの偏差。
  • Concurrent Invocations
    - 15 秒の期間の終了時に進行中だが完了していない同時進行中の要求の数。
  • Errors Per Interval
    - 15 秒の期間内に発生した例外、HTTP エラー、または SOAP 障害の数。
  • Errors Per Interval Deviation
    - 1 間隔内に発生した例外、HTTP エラー、または SOAP 障害の数について平均値からの偏差。
  • Responses Per Interval
    - 15 秒の期間内に完了したオペレーション要求またはサービス要求の数。
  • Responses Per Interval Deviation
    - 1 間隔内に終了した呼び出しの平均値からの偏差。
  • Stall Count
    - 30 秒の期間の終了時に完了していない要求の数。
  • SOAP Faults Per Interval
    - 15 秒の期間内に SOAP エンジンによって生成または消費された SOAP メッセージ エラーの数。
  • Critical Direct
    - 正常に実行されている現在のオペレーションに直接依存するダウンストリーム オペレーションの数。
  • Critical Indirect
    - 正常に実行されている現在のオペレーションに直接または間接依存するダウンストリーム オペレーションの数。
  • Dependent Direct
    - 現在のオペレーションが直接依存するアップストリーム オペレーションの数。
  • Dependent Indirect
    - 現在のオペレーションが直接または間接依存するアップストリーム オペレーションの数。
[概要]タブで要約されたメトリックを表示する
一般的に、Investigator を使用して問題の根本原因を探す開始点となるのは[概要]タブです。[概要]タブに表示される情報は、選択した Investigator ノードによって異なります。たとえば、エージェント ノードを選択すると、[概要]タブにはエージェント上でインスツルメントされたすべてのアプリケーションの高レベルの稼働状況インジケータが表示されます。この[概要]タブは、Workstation ではデフォルトで表示されます。SOA Performance Management では、さらに以下の[概要]タブが提供されます。
  • [WebServices]ノード - [WebServices]ノードを選択すると、[概要]タブには、選択したエージェント アプリケーションに関連付けられたクライアントまたはサーバ Web サービスのネームスペースのすべてが表示されます。エージェントにクライアント Web サービスとサーバ Web サービスの両方がある場合、[概要]タブには、クライアントとサーバのネームスペースが別々の一覧に表示されます。
  • [Client]ノード - [Client]ノードを選択すると、[概要]タブには、選択したエージェント アプリケーションのクライアント側オペレーションに関連付けられた Web サービスのネームスペースが一覧表示されます。
  • [Server]ノード - [Server]ノードを選択すると、[概要]タブには、選択したエージェント アプリケーションのサーバ側オペレーションに関連付けられた Web サービスのネームスペースが一覧表示されます。
  • <
    web_service_namespace
    >
    ノード - 個々の Web サービスのネームスペースを選択すると、[概要]タブには、選択した <
    web_service_namespace
    > によって識別されるクライアントまたはサーバ Web サービスに属するオペレーションが一覧表示されます。
  • <
    operation_name
    >
    ノード -- 個々のオペレーションを選択すると、[概要]タブには、選択した <
    operation_name
    > によって識別されるオペレーションについて、CA Introscope の標準メトリックと[SOAP Faults Per Interval]を使用して、アクティビティの現在のレベルを示すグラフが表示されます。
以下の手順に従います。
  1. Investigator を開き、エージェントのノードを選択し、[ビューア]ペインで[概要]タブをクリックします。
    [概要]には、選択したエージェント上でインスツルメントされた各 Web サービスのアラート インジケータが表示されます。
  2. エージェント ノードを展開して、Investigator ツリーで[WebServices]を選択します。[概要]タブをクリックします。
    クライアントおよびサーバ Web サービスのメトリックが別々のリストに表示されます。以下のオプションがあります。
    • クライアントまたはサーバの表のいずれかで特定のサービスのネームスペースを選択します。
      そのサービスの Average Response Time (平均応答時間)のグラフが表示されます。
    • 表示されるグラフを変更するには、表示したいメトリックに対応するメトリック列ヘッダをクリックします。たとえば、Errors Per Interval (間隔ごとのエラー数) のグラフを表示するには、[Errors Per Interval (間隔ごとのエラー数)]メトリック列ヘッダをクリックします。
  3. [WebServices]ノードを展開し、Investigator ツリーで[Client]または[Server]ノードを選択します。[概要]タブをクリックします。
    クライアント ネームスペースのリストまたはサーバ ネームスペースのリストのみが表示されます。
  4. [Client]または[Server]ノードを展開し、Investigator ツリーで特定の <
    web_service_namespace
    > を選択します。[概要]タブをクリックします。
    選択した Web サービスのネームスペースのオペレーションおよび関連するメトリックが表示されます。
  5. <
    web_service_namespace
    > ノードを展開し、Investigator ツリーで <
    operation_name
    > を選択します。[概要]タブをクリックします。
    そのオペレーションのメトリックのグラフが表示されます。
[依存]タブで依存関係メトリックを表示する
SOA Performance Management では、CA Introscope の標準メトリックに加えて、Web サービス トランザクションで最もクリティカルで最も依存度が高いオペレーションを特定するためのメトリックが提供されます。これらのメトリックは、各オペレーションの直接的および間接的な依存関係の数に基づきます。
[依存]タブでこれらの依存関係ベースのメトリックを表示するには、該当する Investigator ノードを選択します。
[依存]タブに表示される情報は、選択する Investigator ノードによって異なります。たとえば、以下のようになります。
  • [WebServices]ノード。[依存]タブには、選択したエージェント アプリケーションに関連付けられたクライアントおよびサーバ Web サービスのネームスペース、オペレーション、依存関係メトリックが表示されます。
  • [Client]ノード。[依存]タブには、選択したエージェント アプリケーションのクライアント側オペレーションに関連付けられた Web サービスのネームスペース、オペレーション、依存関係メトリックが表示されます。
  • [Server]ノード。[依存]タブには、選択したエージェント アプリケーションのサーバ側オペレーションに関連付けられた Web サービスのネームスペース、オペレーション、依存関係メトリックが表示されます。
  • 個々の
    <
    web_service_namespace
    >
    ノード。[依存]タブには、選択した <
    web_service_namespace
    > によって識別される選択されたクライアントまたはサーバ Web サービスに関連付けられたオペレーションおよび依存関係メトリックが表示されます。
直接および間接オペレーションの依存関係について
Web サービスのトランザクションでは、別のオペレーションを呼び出すオペレーションも依存関係の連鎖を作成します。依存関係の連鎖では、呼び出されたオペレーションは呼び出したオペレーションに依存します。 呼び出されたオペレーションからさらに呼び出しや応答が行われると、追加の依存関係が作成されます。オペレーション間の依存関係は、オペレーションが依存関係の連鎖内のどこにあるかに基づいて、直接依存関係または間接依存関係のいずれかになる場合があります。
たとえば、オペレーション A がオペレーション B を呼び出し、オペレーション B がオペレーション C を呼び出す場合、トランザクションは以下のようになります。
A --> B --> C
このトランザクションの流れでは、
  • オペレーション A と B には直接依存関係があります。
  • オペレーション B と C には直接依存関係があります。
  • オペレーション A と C には間接依存関係があります。
あるオペレーションは、依存関係の連鎖内のどこに位置するかに応じて、別のオペレーションからアップストリームまたはダウンストリームで発生しているとして識別することも可能です。 複数のオペレーションで構成されるトランザクションで、直接依存関係にあるオペレーションは、相互に直接呼び出されるアップストリームまたはダウンストリーム オペレーションです。 上記の例で、オペレーション A はオペレーション B と C の両方からアップストリームにありますが、オペレーション B. からのみ直接的なアップストリームにあります。
同様に、間接依存関係は、直接呼び出されないオペレーションに対するアップストリームまたはダウンストリームで生じる場合があります。 たとえば、オペレーション A がオペレーションを B と呼び出し、オペレーション B がオペレーション C と D を呼び出す場合、C と D の両方にはオペレーション A に対するダウンストリームの間接依存関係があります。
クリティカルなオペレーションとそのメトリックについて
Web サービス内のオペレーションは、他のオペレーションとのそれらのインタラクションに基づいて、クリティカルであるか、依存関係があると考えられます。あるいは、クリティカルであり、かつ依存関係があると考えられます。
クリティカルなオペレーションとは、ダウンストリーム オペレーションが依存するオペレーションです。 ダウンストリーム オペレーションはクリティカルなオペレーションに対して直接依存関係を持つ場合と、間接依存関係を持つ場合がありますが、ダウンストリーム オペレーションを実行するには、クリティカルなオペレーションが正常に動作している必要があります。
依存度が高いオペレーションに関連付けられた以下の 2 つのメトリックがあります。
  • [Critical Direct]メトリックは、特定のオペレーションへの直接アップストリームにあるオペレーションの数のみを追跡します。オペレーションがどのアップストリーム オペレーションにも依存しない場合、つまり、オペレーションが他のオペレーションからのダウンストリームにない場合、その[Critical Direct]メトリックはゼロです。
  • [Critical Indirect]メトリックは、特定のオペレーションへの直接および間接アップストリームにあるオペレーションの数を追跡します。
たとえば、
getAccountNum
オペレーションについて[Critical Indirect]メトリック値が 5 である場合、
getAccountNum
オペレーションの実行前に実行する必要のある直接または間接オペレーションが 5 個あることを示します。
依存度が高いオペレーションとそのメトリックについて
依存度が高いオペレーションとは、アップストリーム オペレーションの実行に依存しているオペレーションです。 依存度が高いオペレーションはアップストリーム オペレーションに対して直接依存関係を持つ場合と、間接依存関係を持つ場合がありますが、依存するオペレーションを実行するには、アップストリーム オペレーションが正常に動作している必要があります。
依存度が高いオペレーションに関連付けられた以下の 2 つのメトリックがあります。
  • [Dependency Direct]メトリックは、特定のオペレーションからの直接ダウンストリームにあるオペレーションの数を追跡します。オペレーションに依存度が高いオペレーションがない場合、つまり、オペレーションが他のオペレーションからのアップストリームにない場合、その[Dependency Direct]メトリックはゼロです。
  • [Dependency Indirect]メトリックは、特定のオペレーションからの直接および間接ダウンストリームにあるオペレーションの数を追跡します。
たとえば、
sendConfirmation
オペレーションについて[Dependency Indirect]メトリック値が 8 である場合、
sendConfirmation
オペレーションの実行前に実行する必要のある直接または間接オペレーションが 8 個あることを示します。
クリティカルなオペレーションおよび依存度の高いオペレーションに関する依存関係メトリックをより詳細に理解する
[Critical Direct]、[Critical Indirect]、[Dependency Direct]、および[Dependency Indirect]メトリックがどのように機能するかをより詳細に理解するために、4 つの sayHello クライアント オペレーションを呼び出す
Test
サーバ オペレーションの例を考えます。その後、以下のサンプル依存マップで示しているように、各クライアント オペレーションは 1 つのダウンストリーム
sayHello
サーバ オペレーションを呼び出します。
The sample dependency map illustrates direct and indirect metrics between clients and servers.
この例では、クリティカルなオペレーションおよび依存度の高いオペレーションに関する依存関係メトリックの値は以下のように適用されます。
  • Test サーバ
    アップストリーム オペレーションはありません。したがって、クリティカルなオペレーションに関する依存関係メトリックの値は、Critical Direct = 0 および Critical Indirect = 0 です。
    4 つの直接ダウンストリーム オペレーションおよび 4 つの追加の間接ダウンストリーム オペレーションがあります。したがって、依存度が高いオペレーションの依存関係メトリックの値は、Dependency Direct = 4 および Dependency Indirect = 8 です。
  • sayHello クライアント
    直接アップストリーム オペレーションがあります。したがって、クリティカルなオペレーションに関する依存関係メトリックの値は、Critical Direct = 1 および Critical Indirect = 1 です。
    直接ダウンストリーム オペレーションがあります。したがって、依存度の高いオペレーションに関する依存関係メトリックの値は、Dependency Direct = 1 および Dependency Indirect = 1 です。
  • sayHello サーバ
    Test サーバ上に sayHello へのアップストリームの直接および間接依存関係があります。したがって、クリティカルなオペレーションの依存関係メトリックの値は、Critical Direct = 1 および Critical Indirect = 2 です。
    直接または間接ダウンストリーム オペレーションはありません。したがって、依存度が高いオペレーションの依存関係メトリックの値は、Dependency Direct = 0 および Dependency Indirect = 0 です。
[依存]タブで依存関係メトリックを表示するには、以下の手順に従います。
  1. エージェント ノードを展開し、Investigator ツリーで[WebServices]を選択します。次に、[ビューア]ペインで[依存]タブをクリックして、クライアントとサーバの依存関係メトリックを別々の一覧に表示します。
    オペレーションごとに、[依存]タブには[Critical Direct]、[Critical Indirect]、[Dependency Direct]、および[Dependency Indirect]メトリックの値が表示されます。
  2. [WebServices]ノードを展開し、Investigator ツリーで[Client]または[Server]ノードを選択します。[ビューア]ペインで[依存]タブをクリックして、クライアントのネームスペースのみまたはサーバのネームスペースのみ、および関連する依存関係メトリックを表示します。
  3. [Client]または[Server]ノードを展開し、Investigator ツリーで特定の <
    web_service_namespace
    > を選択します。次に、[ビューア]ペインで[依存]タブをクリックして、選択した Web サービスのネームスペースについて、オペレーションおよび関連する依存関係メトリックの一覧を表示します。
[偏差]タブで偏差メトリックを表示する
SOA Performance Management では、[平均応答時間]、[間隔ごとのエラー数]、および[間隔ごとの応答数]について、平均値からの偏差を監視するためのメトリックが提供されます。低い偏差値は、[Average Response Time (平均応答時間)]のようなメトリック データが平均値の周りに密集していることを示します。高い偏差値は、メトリック データが平均値から上下に広範囲にわたって分散していることを示します。
注:
オペレーションが間隔内に呼び出されなかった場合、Average Response Time メトリックの値は 0 (ゼロ)になります。メトリック値が 0 の場合は、平均応答時間の計算に含まれていません。そのため、[偏差]タブでは、監視が停止しているように見えることがあります。この外見上の一時停止は正常です。
偏差メトリックを表示するには、Investigatorのノードを選択し、[偏差]タブをクリックします。たとえば、以下の通りです。
  • [WebServices]ノードには、選択したエージェント アプリケーションに関連付けられたクライアントおよびサーバ Web サービスのネームスペース、オペレーション、および偏差メトリックが表示されます。
  • [Client]ノードには、クライアントに関連付けられた Web サービス ネームスペース、オペレーション、および偏差メトリックが表示されます。
  • [Server]ノードには、サーバに関連付けられた Web サービス ネームスペース、オペレーション、および偏差メトリックが表示されます。
  • 個々の <web_service_namespace> ノードには、選択したクライアントまたはサーバ Web サービスに関連付けられたオペレーションおよび偏差メトリックが表示されます。
注:
デフォルトでは、偏差はネームスペースのレベルでのみ計算されます。[WebService]、[Client]、および[Server]ノードについて偏差を有効にするには、追加メトリックを計算するために com.wily.introscope.soa.deviation.metric.expressionlist プロパティを設定します。
偏差メトリックの計算
偏差メトリックでは、SOA Performance Management で平均値を計算する必要があります。この製品は、ローリングする「n」日の期間にわたるオペレーション メトリックに基づいた平均値を決定します。ローリングする平均が計算されるデフォルトの日数は 7 です。日数を調整するには、com.wily.introscope.soa.deviation.mean.days プロパティ値を設定します。
Enterprise Manager のパフォーマンスへの影響を最小限に抑えるために、SOA Performance Management では、偏差メトリックを計算できる対象となるオペレーションの数が制限されています。デフォルトでは、偏差メトリックは、各タイプの依存関係メトリックの上位 25 個のオペレーションについて計算されます。偏差が計算されるオペレーションの最大数を変更するには、Enterprise Manager のプロパティ ファイルで com.wily.introscope.soa.deviation.count.per.metric プロパティを修正します。
偏差メトリックの生成に関するパフォーマンスのオーバーヘッドを削減するために、特定のタイプの偏差メトリックを選択的に有効または無効にすることもできます。たとえば、Average Response Time Deviation メトリックのみを生成するように構成プロパティを設定できます。または、偏差メトリックを計算しないように、com.wily.introscope.soa.deviation.enable プロパティを false に設定します。
[クリティカル(上位)]タブでクリティカルなオペレーションに関するメトリックを表示する
SOA 環境で最もクリティカルなオペレーションとは、そのオペレーションに依存するオペレーションが最も多いオペレーションです。これらのオペレーションは最も重要な潜在的な障害点であり、Investigator の[最もクリティカルなオペレーション]ダッシュボードおよび[クリティカル(上位)]タブを通じて、緊密に監視する必要があります。Investigator で[WebServices]ノードを選択すると、最もクリティカルなオペレーションの一覧、およびそれらの偏差メトリックを[クリティカル(上位)]タブで表示できます。
以下の手順に従います。
  1. エージェント ノードを展開し、Investigator ツリーで[WebServices]を選択して、[ビューア]ペインで[クリティカル(上位)]タブをクリックします。
  2. クリティカルなオペレーションの一覧で個々のオペレーションを選択します。
[最も依存度が高い]タブで依存度が高いオペレーションを表示する
SOA 環境で最も依存度が高いオペレーションとは、他のオペレーションへの依存関係が最も多いオペレーションです。Investigator で[WebServices]ノードを選択すると、最も依存度が高いオペレーションの一覧、およびそれらの偏差メトリックを[最も依存度が高い]タブで表示できます。
以下の手順に従います。
  1. エージェント ノードを展開し、Investigator ツリーで[WebServices]を選択して、[ビューア]ペインで[最も依存度が高い]タブをクリックします。
  2. 依存度が高いオペレーションの一覧で個々のオペレーションを選択して、そのオペレーションについて偏差メトリックのグラフを表示します。
[エラー]タブで SOAP 障害およびエラーに関するメトリックを表示する
Investigator では、Investigator ツリーで選択したノードについて、エラー メッセージおよび詳細が表示されるデフォルトの[エラー]タブが提供されます。SOA 拡張機能がインストールされている場合、[エラー]タブには、クライアント側およびサーバ側の SOAP 障害に関する情報も表示されます。
[Errors Per Interval]メトリックは、エージェントによって生成される CA Introscope の標準メトリックです。[間隔ごとの SOAP 障害数]メトリックは、SOA エージェントの拡張機能によって生成される SOA 固有のメトリックです。これらのメトリックの間に直接の相関はありません。
SOAP 障害は、Web サービスが正常応答ではなく障害応答を返すときに、SOAP エンジンによって生成または消費されるメッセージです。SOAP 障害は、条件に応じて自動的に生成できるか、アプリケーションのロジックで明示的にコード化できます。障害がどのように収集されて処理されるかは、使用する SOAP エンジンによって異なります。
[Errors Per Interval]メトリックは、スローされた例外および HTTP エラーを追跡します。Web サービスのビジネス ロジックおよびアプリケーション サーバの動作に応じて、SOAP 障害が発行される場合に、[Errors Per Interval]メトリックに対応するエラーが記録されるかどうかが決まります。
アプリケーション サーバで問題が発生し、SOAP 障害が発行される場合、クライアントとサーバの両方の[SOAP Faults Per Interval]メトリックにその障害が記録されます。アプリケーション サーバが SOAP 障害に関連する例外をスローする場合、その Errors Per Interval (間隔ごとのエラー数) の数も更新されます。SOAP 障害を例外としてキャッチするコードがクライアント上にない場合、クライアントの Errors Per Interval メトリックは更新されません。
[間隔ごとのエラー数]メトリックが、SPM インスツルメントされたアプリケーション サーバまたは SOAP スタック メソッドでキャッチされた例外およびエラー コードのみを追跡するため、そのメトリックに SOAP 障害が含まれない場合があります。
以下の手順に従います。
  1. エージェント ノードを展開し、Investigator ツリーで[WebServices]を選択するか、[WebServices]ノードを展開し、[Client]または[Server]ノードを選択します。
  2. [ビューア]ペインで[エラー]タブを右クリックします。
    [エラー]タブの上部ペインに、各エラーの時間、説明、およびエラー メッセージが一覧表示されます。SOAP エンジンによって生成されたエラー メッセージには、その先頭に SOAP 障害が表示されます。
  3. 個々のエラーを選択して、そのエラーに関する詳細情報を表示します。
    SOAP 障害に関する詳細情報は、赤色で強調表示されたメッセージ テキストで、[スタック ビュー]タブに表示されます。
Investigator での Boundary Blame
Boundary Blame は、Investigator ツリーにフロントエンドおよびバックエンド コンポーネントのみが含まれるように、メトリックを分離します。これは、応答時間の問題がアプリケーション サーバに対する内部の呼び出しの結果か、たとえば遅いサーブレットの結果か、データベース サーバのようなバックエンド システムに対する外部の呼び出しの結果かを判断するのに役立ちます。SOA Performance Management は、バックエンド システムに対する Web サービスの呼び出しを自動的に検出することにより、SOA コンポーネントにまでこの機能を拡張します。
フロントエンドおよびバックエンド コンポーネントに関するメトリックを分離するためのこの拡張機能は、デフォルトで有効になっています。
デフォルトの SOA 固有のメトリック グループを表示する
SOA Performance Management には、デフォルトのダッシュボードとアラートを定義するために使用されるデフォルト メトリック グループが含まれています。また、カスタム ダッシュボードまたはアラートでデフォルト メトリック グループを使用することもできます。デフォルトのメトリック グループは、Workstation の管理モジュール エディタを使用して表示できます。
以下の手順に従います。
  1. Investigator で、[Workstation]-[新規管理モジュール エディタ]の順にクリックします。
  2. [*SuperDomain*] - [管理モジュール] - [SOA Performance Management (*Super Domain*)]を展開します。
  3. [メトリック グループ]ノードを展開して、SOA パフォーマンス管理の管理モジュール用に定義されたメトリック グループのすべてを表示します。
  4. 特定のメトリック グループをクリックすると、[ビューア]ペインにその定義が表示されます。
任意のメトリック グループのデフォルト設定を修正するか、必要に応じて独自のカスタム メトリック グループを作成できます。
デフォルトの SPM アラートを表示する
SOA Performance Management には、事前設定済みのダッシュボードで使用されるデフォルト アラート定義が含まれています。
デフォルトのアラート定義は、Workstation の管理モジュール エディタを使用して表示できます。また、SOA Performance Management の管理モジュールを拡張して、カスタム アラート定義および通知タイプを含めるようにできます。カスタム ダッシュボードでデフォルト アラート定義を使用することもできます。
以下の手順に従います。
  1. Investigator で、[Workstation]-[新規管理モジュール エディタ]の順にクリックします。
  2. [*SuperDomain*] - [管理モジュール] - [SOA Performance Management (*Super Domain*)]を展開します。
  3. [アラート]ノードを展開して、SOA Performance Management の管理モジュール用に定義されたアラートのすべてを表示します。
  4. 特定のアラートをクリックすると、[ビューア]ペインにその定義が表示されます。
    特に、警告および危険しきい値のデフォルト設定を確認し、必要に応じて値を調整します。また、通知または処置を追加することもお勧めします。
以下の表では、事前設定された SOA Performance Management のアラート定義に関連付けられたデフォルトの警告および危険しきい値を要約しています。
アラート
警告
危険
クライアント オペレーションの平均応答時間
サーバ オペレーションの平均応答時間
サーバ サービスの平均応答時間
2000 ミリ秒
5000 ミリ秒
クライアント サービスの平均応答時間
2500 ミリ秒
5500 ミリ秒
クライアント オペレーションの Errors Per Interval (間隔ごとのエラー数)
クライアント サービスの Errors Per Interval (間隔ごとのエラー数)
サーバ オペレーションの Errors Per Interval (間隔ごとのエラー数)
サーバ サービスの Errors Per Interval (間隔ごとのエラー数)
10 エラー
15 エラー
クライアント オペレーションの Responses Per Interval (間隔ごとの応答数)
クライアント サービスの Responses Per Interval (間隔ごとの応答数)
サーバ オペレーションの Responses Per Interval (間隔ごとの応答数)
サーバ サービスの Responses Per Interval (間隔ごとの応答数)
5 応答
10 応答
クライアント オペレーションの間隔ごとの SOAP 障害数
クライアント サービスの間隔ごとの SOAP 障害数
サーバ オペレーションの間隔ごとの SOAP 障害数
サーバ サービスの間隔ごとの SOAP 障害数
10 障害
15 障害
クライアント オペレーションの Stall Count (ストール数)
クライアント サービスの Stall Count (ストール数)
サーバ オペレーションの Stall Count (ストール数)
サーバ サービスの Stall Count (ストール数)
1 ストール
2 ストール
SOA Performance Management によるエージェントのカスタム アラートを作成する方法
  1. 管理モジュール エディタで、[エレメント] - [アラートを新規作成]をクリックします。
  2. [名前]フィールドに、アラート名を入力します。
  3. [管理モジュール]ドロップダウン リストから[SOA パフォーマンス管理]を選択し、[OK]をクリックします。