SOA 依存マップの使い方
目次
apmdevops104jp
目次
SOA 依存マップでは、SOA 環境で展開した Web サービスまたはビジネス プロセス ワークフローの視覚的な表示が可能です。このマップを使用して、コンポーネント間のリアルタイムの依存関係を表示および操作したり、関連するコンポーネントにわたる重要なメトリックを監視したり、トランザクション追跡を開始したり、問題のサービスを探して依存関係にドリルダウンしたりできます。
SOA 依存マップの使い方について
標準の SOA 環境では、使用可能な Web サービスまたはビジネス プロセス間に複雑な関係があります。ただし、それらのサービスが疎結合であるため、コンポーネントの関係は追跡または理解するのが通常は難しくなります。SOA 依存マップでは、展開したサービスの視覚的な表示が可能であり、さまざまなコンポーネントが相互にどのように関連するかを監視および理解するのに役立ちます。
SOA 環境の課題について
ほとんどの組織では、サービスの開発および展開には複数のグループがかかわり、通常は、サービスがどのように利用されているかを要約する単一のアーキテクチャ図はありません。場合によって、展開したサービスを記録するレジストリがあることがありますが、その一覧が必ずしも最新であるとは限りません。サービスのレジストリが適切に維持される環境でさえ、そのレジストリは場合によって、適切な担当者から容易に使用可能でなかったり、サービスの複雑な関係について正確に説明していなかったりします。
たとえば、アプリケーションにはさまざまなグループによって開発されている複数レイヤのサービスが埋め込まれていることがよくあります。これらの追加のサービス レイヤは視覚的に表示するのが難しく、アプリケーション開発者が全容を把握していない場合があります。しかし、それらのサービスのパフォーマンスは、依存するアプリケーションに関するミッション クリティカルな問題になることがあります。これらの「非表示の」サービスを視覚的に表示することにより、問題を特定し、切り分けて、解決するための追加のレベルの可視性が提供されます。
SOA 依存マップで提供される情報について
SOA 環境の課題に取り組むために、自動および適時の方法で SOA 環境内のすべてのサービスを認識している必要があります。また、コンポーネント間の関係を操作して、あるサービスが他のサービスによってどこでどのように使用されるか、潜在的なボトルネックがどこにあるかを把握することも必要です。リアル タイムおよび実運用環境ですべてのサービスの稼働状況および可用性を監視する場合、この情報は重要です。
SOA 依存マップでは、この可視性が提供されます。依存マップを使用して、リアル タイムで以下のことをひとめで確認できます。
- どのようなサービスが実際にデプロイされているか
- いつ新しいサービスが展開されるか、依存関係が変更されるか
- どのようにサービスが相互に関連しているか
- どのようにクライアント側要求およびサーバ側応答が実行されているか
依存関係および SOA 用語について
SOA 依存マップのコンテキスト内では、サービスという用語は、特定の結果を得るために設計された一連のオペレーションを表すために、一般的に使用されます。 サービスのコンポーネントに関する詳細は環境によって異なり、さまざまな環境で個別に定義できます。たとえば、依存マップの[サービス]ビューを選択すると、Web サービス、ビジネス プロセス、アダプタ、またはメッセージ サービスに関する情報が表示される場合があります。
1 つのオペレーションの実行により、後続のオペレーションが起動されるとき、依存関係が存在します。後続のオペレーションはまったく別のサービスに属していたり、異なるアプリケーション サーバ上で実行されたりする場合があります。たとえば、旅行代理店 Web サイトにアクセスするユーザは、フライトを予約するトランザクションを開始できます。旅行代理店 Web サイトの予約サービスは、座席を予約するために航空会社予約サービスを呼び出す場合があり、その後、チケットを購入するためにクレジット カード処理サービスを呼び出す場合があります。この例では、トランザクションを開始した旅行 Web サイト上のサービスは、トランザクションを完了するために、航空会社予約サービスおよびクレジット カード処理サービスへの依存関係があります。
依存関係は多くの場合、低レベルのサービスを組み合わせて、より高レベルのサービスが形成されることにより生じます。たとえば、旅行代理店 Web サイトの予約サービスは、正常に処理を完了するために、航空会社予約サービスおよびクレジット カード処理サービスへの依存関係があります。それらのいずれかのサービスで障害またはパフォーマンスの問題が発生すると、旅行代理店 Web サイトの予約サービスの動作に影響が出ます。
選択するコンテキストに応じて、SOA 依存マップには、展開したトップレベルのサービスのすべてが表示されます。あるいは、個々のサービスの詳細な構造が、依存度が高いオペレーションの依存関係およびパフォーマンス情報と共に表示されます。表示される範囲および詳細を変更できるため、SOA 依存マップでは、SOA 環境での問題を分析するための優れた柔軟性が提供されます。プロセス フロー内でのサービスおよびオペレーション間の依存関係を追跡できます。それらの情報は、遅い応答時間、SOAP 障害などの問題の根本原因を特定するのに役立ちます。
SOA 依存マップで可能なことについて
SOA 依存マップを使用して次の重要なタスクを達成できます。
- 設計対象ではなく展開対象のサービスに関する最新の正確な情報を表示する。
- サービスの依存関係を表示し、マップ ノードをクリックして、Investigator ツリーでコンポーネントに関する詳細にドリル ダウンすることにより、サービスの問題を調査および解決する。
- アプリケーションの依存関係の[物理モード]および[論理モード]ビューの両方を提供することにより、IT アーキテクトと連携して企業規模の SOA イニシアチブを計画し、それに基づいて行動する。
- マップのスナップショット画像を作成して、サービスの依存関係および問題に関する情報を組織内の他の関係者と共有する。
- アプリケーション エキスパートのサポートを必要とせずに、監視対象のエージェント、サービス、オペレーションの依存関係を理解し、それらの依存関係がサービスのパフォーマンスにどのように影響を与えているかを把握する。
- 問題のサービスについて、手動によるトランザクション追跡をセットアップせずに、SOA 依存マップから直接、トランザクション追跡を開始して、その問題の診断を開始する。
SOA 依存マップがデータを取得する仕組みについて
最初にアプリケーション サーバを起動すると、エージェントは見つかった Web サービスまたはビジネス プロセスのすべてを自動的に検出し、その情報を Enterprise Manager に送信します。
これらのサービスが起動され実行されると、エージェントはプロセスにわたって呼び出しのシーケンスを追跡し、この情報を Enterprise Manager に渡します。Enterprise Manager は、呼び出しのシーケンスの情報を使用して、サービス間の依存関係を識別します。Enterprise Manager は、検出された依存関係をファイルに保存し、マップ データを表示用に Workstation に送信します。
最初の検出後、エージェントは新しいアプリケーションについて、および以前に検出された依存関係に対する変更について定期的に確認します。新しいサービスが検出された場合、エージェントはサービスの呼び出しに関する詳細を Enterprise Manager に送信します。Enterprise Manager は、Workstation に新しいマップ データを送信します。それにより、以前に不明だったサービスを使用して、または既知のサービスについては新たに検出された依存関係を使用して、SOA 依存マップを更新します。
新しい SOA 依存関係が検出された場合、Enterprise Manager は論理等価物ルールが有効になっているかどうかを確認します。有効になっている場合は、新しい依存関係が既存の依存関係と論理的に等価かどうかを判断します。新しい依存関係が一意である場合、それらは Enterprise Manager 上で保存された依存関係の永続データに追加されます。Workstation は 15 秒に 1 回、データ ストアをチェックして、SOA 依存マップのデータが変更されたかどうかを確認します。その後、表示された SOA 依存マップを必要に応じて更新します。
SOA 依存マップの永続データについて
Enterprise Manager は検出された SOA 依存関係をローカル データ ストアに保存することにより、再検出を必要とせずにそのデータが使用可能になるようにします。SOA 依存関係のデータ ストアは、
/data/d
ependencymap ディレクトリ内の以下のファイルで構成されます。- dependencymap.sav には、最新に保存された依存関係データが含まれます。
- dependencymap.bak は、以前に保存された SOA 依存関係のバックアップ コピーです。
Enterprise Manager は、検出された依存関係のすべてを dependencymap.sav ファイルに保存します。この処理を毎時に 1 回、および Enterprise Manager の手動シャットダウンのたびに行います。Enterprise Manager は、dependencymap.sav ファイルの保存間で、SOA 依存マップ内の現在検出されている依存関係をメモリに保持します。
Enterprise Manager は起動時、dependencymap.sav ファイルから依存関係をロードすることにより、SOA Peformance Management (SPM)が以前に検出された依存関係を再検出する必要がないようにします。dependencymap.sav ファイルの新しいコピーを保存せずに、Enterprise Manager が突然停止した場合、dependencymap.sav ファイル内のデータは 1 時間前までのデータです。dependencymap.sav ファイルが見つからない場合、Enterprise Manager は、エージェントがサービス依存関係を再検出するまで待機し、その後、このファイルを再作成します。
Enterprise Manager による依存関係の再検出を強制する
ほとんどの場合、
dependencymap.sav
ファイルからの永続データのロードによって再検出なしで最新の情報が提供されます。ただし起動時に、Enterprise Manager が以前に保存された依存関係を無視し、すべての依存関係を再検出するようにする場合があります。たとえば、以下の通りです。- 論理等価物のヒューリスティックを有効または無効にする場合、Enterprise Manager がすべての依存関係を再検出して、依存関係に新しいルールを適用するようにすることもできます。論理等価物のヒューリスティックの詳細については、「論理等価物ルールについて」を参照してください。論理等価物のヒューリスティックのプロパティの設定の詳細については、「Enterprise Manager プロパティの構成」を参照してください。
- Enterprise Manager の停止中にエージェントを切断する場合、期限切れになるまで(デフォルトでは 60 日間)、そのエージェントに対応するマップ ノードおよび依存関係がマップに表示され続けることがあります。期限切れになるのを待たずに、Enterprise Manager が依存関係を再検出して、切断されたエージェントのデータを依存マップから削除するようにすることもできます。
保存された依存関係データを無視または削除する
起動時に Enterprise Manager が保存された依存関係データを無視し、依存関係を再検出するようにする場合は、
dependencymap.sav
と dependencymap.bak
の両方のファイルを削除、移動、名前変更する必要があります。保存された SOA 依存マップ ファイルを削除、移動、名前変更するには、以下の手順に従います。
- Enterprise Manager を停止します。
- /data/dependencymap ディレクトリに移動します。
- dependencymap.savファイルを削除、移動、または名前変更します。たとえば、ファイルの名前をold_dependencymap.savedcopyに変更して、Enterprise Manager がこのファイル内のデータを使用して依存マップを表示できないようにします。
- dependencymap.bakファイルを削除、移動、または名前変更します。たとえば、ファイルの名前をold_dependencymap.backupcopyに変更して、Enterprise Manager がこのファイルを使用して依存マップを表示できないようにします。
- Enterprise Manager を起動します。これにより、現在の依存関係が再検出され、新しい依存マップおよびdependencymap.savファイルが作成されます。
エージェントを切断および再マウントする
Enterprise Manager の動作中にエージェントが Enterprise Manager から切断される場合、そのエージェントに対応するマップ ノードおよび依存関係は非アクティブになります。Workstation からエージェントをマウント解除する場合、マウント解除イベントでは、そのエージェントに対応するマップ ノードおよび依存関係のすべてがマップから削除されます。たとえば、削除されたサービスから開始する依存関係や、そのサービスで終了する依存関係も削除されます。
エージェントが再マウントされると、Enterprise Manager はその依存関係のすべてを再検出し、それらをマップに追加します。
新しいサービスおよびオペレーションを使用して依存マップを更新する
エージェントは新しいサービスまたはオペレーションを検出するたびに、更新した情報を Enterprise Manager に送信します。Enterprise Manager は依存マップ ストアを更新し、新しいデータが SOA 依存マップ上で表示可能になったことを Workstation に通知します。Workstation がこの通知を受け取ると、「利用可能なデータが変更されました」というメッセージが表示されます。その後、Workstation で、依存マップを再ロードして、新しいサービスまたはオペレーションを表示できます。
SOA 依存マップを再ロードするには、以下の手順に従います。
- [SOA 依存マップ]ツール バーの下に「利用可能なデータが変更されました」というメッセージが表示されているかどうかを確認します。
- [ここをクリックします]を使用して依存関係を再ロードし、新しいサービスまたはオペレーションおよび関連するメトリックを表示します。たとえば、再ロード後、「利用可能なデータが変更されました」というメッセージが消えて、新しく検出されたサービスおよび依存関係がマップに含まれています。
依存マップの再ロード時に表示されるビューは、最後にクリックした Investigator ツリー ノードに関連付けられたデフォルトのビューです。たとえば、[WebServices]ノードを選択し、マップを再ロードする場合、マップはサービスの[物理モード]ビューに表示されます。
コンテンツ タイプを変更し、「利用可能なデータが変更されました」というメッセージを確認し、マップを再ロードした場合、マップはサービスの[物理モード]ビューで表示されます。そのビューが[WebServices]ツリー ノードのデフォルトのビューであるためです。Investigator ツリーで別のノード、たとえばエージェント ノードをクリックし、マップを再ロードした場合、マップはエージェントの[物理モード]ビューに表示されます。
使用されなくなったマップ ノードのエイジングおよび削除を行う
Enterprise Manager は検出された各依存関係の経過期間を追跡します。そして定期的に依存関係を再検出して、依存関係がまだ存在するかどうかを確認します。特定のエージェント、サービス、またはオペレーションのマップ ノードが、一定期間再検出されない場合、その項目は期限切れになり、依存マップから削除されます。削除されたエージェント、サービス、またはオペレーションが後でもう一度呼び出される場合、Enterprise Manager は依存マップにもう一度その項目を追加します。
デフォルトでは、Enterprise Manager は 6 時間ごとに依存関係の最新の検出があるかどうかを確認し、60 日間検出されていない依存関係を削除します。
Enterprise Manager が検出された依存関係の有効期間をチェックする頻度、および再検出されないときに期限切れになるまで依存関係をマップに残す期間を設定できます。そのためには、
IntroscopeEnterpriseManager.properties
ファイル内のプロパティの値を設定します。Enterprise Manager のプロパティの設定の詳細については、「Enterprise Manager プロパティの構成」を参照してください。依存マップに不完全なデータが表示される場合の処置
ほとんどの場合、サービスおよび依存関係の最初の検出は完了までに時間がかかります。エージェントが情報を収集し、Enterprise Manager に提供する必要があるためです。最初の検出の後、サービスおよび依存関係に対する変更はすぐに表示されるとは限りません。通常、スタンドアロンで Enterprise Manager を実行している場合は、変更が表示されるまでに数分程度かかります。クラスタ上で Enterprise Manager を実行している場合は、それよりも若干長くかかることがあります。
ただし、エージェントがすべてのノードおよび依存関係に関するデータを収集するためには、サービスが実行されているか、アクティブに実行されている必要があります。呼び出されたことのないサービスおよびオペレーションは呼び出されるまでマップに表示されません。
依存マップにデータが表示されないか、不完全なデータが表示される場合、以下のような理由が考えられます。
- 監視中のアプリケーション サーバまたはサービスがアクティブに実行されていないか、まだ呼び出されていない。サーバが実行されており、サービスが呼び出し可能であることを確認します。
- 非クラスタ化(MOM のない)環境で、実行されているエージェントと Enterprise Manager との接続が失われた。新しいまたは再起動された Enterprise Manager に情報を送信できるように、エージェント キャッシュをフラッシュして、以前に検出された依存関係をエージェントが再検出するようにします。
- エージェント キャッシュのフラッシュにより、サービスおよび依存関係のデータのすべてが削除された。キャッシュ フラッシュ後にエージェントが情報を収集して Enterprise Manager に提供するまでの時間を考慮に入れてください。
- 依存マップに必要なマップ トレーサがエージェントのプロファイルで無効になっている。IntroscopeAgent.profileファイル内の com.wily.introscope.agent.transactiontrace.boundaryTracing.enable プロパティが false に設定されていないことを確認します。
- エージェントの名前を変更したため、結果として関連付けされているマップ ノードのデータが存在しない。エージェントが新しいエージェント マップ ノードについて表示するデータを収集する時間を見越します。
- 見つからないサービスが、エージェントによって監視されていないアプリケーション サーバ上で実行されている。
- 見つからない Web サービスが、サポートされていないプラットフォーム、またはサポートされていない SOAP エンジン上で実装されている。
論理等価物ルールについて
SOA Performance Management (SPM)では、サービスおよびオペレーションに関する論理等価物を決定するための 3 つのヒューリスティックが提供されます。これらのヒューリスティックは組織の環境に対して必要に応じて有効または無効にできます。デフォルトでは、SOA Performance Management は、以下のルールを使用して、クライアント側およびサーバ側の論理等価物を決定します。
- クライアント側サービスについて、サービスが複数のサーバ側サービスに依存している場合、すべてのサーバ側サービスは論理的に等価である。
- サーバ側のサービスについて、サービスが複数のクライアント側 Web サービスに依存している場合、すべてのクライアント側 Web サービスは論理的に等価である。
- 名前の一致について、2 つの物理サービス オペレーションのメトリック パスがエージェント指定子の削除後に同じになる場合、これらのオペレーションは論理的に等価であると見なす。
論理等価物のヒューリスティックを設定するために使用されるプロパティについては、「Enterprise Manager プロパティの構成」を参照してください。
SOA 依存マップでのコンテキストについて
SOA 依存マップで表示される情報は以下の順で 2 つの要因によって決まります。
- 選択する SOA 依存マップのコンテンツ タイプ。
- 情報の表示対象となる Investigator ツリー ノード。
コンテンツ タイプおよび Investigator ツリー ノードによって SOA 依存マップのコンテキストが決まります。 別のデータを選択すると、このコンテキストは変わります。
コンテンツ タイプによる表示への影響について
SOA 依存マップに何が表示されるかを決定する最初の要因は、SOA 依存マップのコンテンツ タイプです。 選択できるコンテンツ タイプは以下のとおりです。
- エージェント
- サービス
- オペレーション
[エージェント]の選択により、たとえば、エージェントにわたって高レベルの依存関係を表示できます。これに対して、[オペレーション]の選択では、オペレーション間の低レベルの依存関係を表示できます。該当するコンテンツ タイプの選択により、SOA トポロジ全体でどこを表示しているかを見失わずに、依存関係の特定の部分にドリルダウンできます。
選択したノードを変更せずに、コンテンツ タイプを変更する
[サービス]を選択し、Investigator ツリーでエージェント ノードをクリックする場合、SOA 依存マップには、すべてのサービス、およびそのエージェントに関連付けられたサービス レベルの依存関係が表示されます。
同じ Investigator ツリー ノードで他のコンテンツ タイプ、たとえば[エージェント]を選択すると、SOA 依存マップには、選択したエージェント ノードへの依存関係のあるすべてのエージェントが表示されます。たとえば、エージェント Tomcat01 上のサービスに、エージェント WebLogic02 上で実行されているサービスへの依存関係がある場合、SOA 依存マップには、WebLogic02 エージェント アイコンを指し示す依存関係の矢印と共に、Tomcat01 エージェント アイコンが表示され、エージェント レベルの依存関係が示されます。
コンテンツ タイプの変更をマップ内のすべてのオブジェクトに適用する
コンテンツ タイプとして[エージェント]が表示されており、依存マップに 2 つのエージェント(たとえば Tomcat01 と WebLogic02)の間の依存関係が表示されている場合、[サービス]へのコンテンツ タイプの変更により、Tomcat01 と WebLogic02 の両方のエージェントへのサービス レベルの依存関係のすべてが表示されます。コンテンツ タイプを変更するたびに、変更は SOA 依存マップに現在表示されているあらゆるものに適用されます。この場合、[エージェント]から[サービス]へ変更することにより、マップに現在表示されているエージェント上のすべてのサービスが表示されるように、コンテキストが設定されます。
Investigator ノードの表示への影響について
SOA 依存マップに何が表示されるかを決定する 2 番目の要因は、選択した Investigator ツリー ノードです。コンテンツ タイプによって、表示される依存関係のタイプが決まりますが、Investigator ノードによって、マップに含まれる情報の範囲が決まります。トップレベルのマップ ノードおよびその下の依存関係は常に、現在選択した Investigator ツリー ノードに基づきます。 別の Investigator ツリー ノードを選択すると、関連する SOA 依存マップの表示が大きく変わる場合があります。
ただし、現在選択している Investigator ツリー ノードに対して表示されたマップ ノードを使用して、新しい Investigator ツリー ノードに移動することもできます。たとえば、SOA 依存マップを使用して、広範囲のサービスのネットワークを展開します。次に、マップ ノードをクリックして新しい Investigator ツリー ノードにジャンプし、そのノードを開始点としてマップを再表示できます。これにより、ワンクリック操作で特定の Investigator ツリー ノードまたは SOA 依存マップ ノードに絞り込んで、関係のない不要なネットワーク ブランチを除外できます。
SOA 依存マップを表示する
Investigator ツリー ノードを選択し、[SOA 依存マップ]タブをクリックすることにより、SOA 依存マップを表示できます。エージェントに対して SOA Performance Management が有効になっている場合、Investigator でエージェントまたは任意の[WebServices]ノードを選択して、SOA 依存マップを表示できます。CA APM for Oracle Service Bus や CA APM for TIBCO BusinessWorks などそのほかの SOA プラットフォームを監視する場合、拡張機能に関連付けられた Investigator ツリー ノードを選択しても、SOA 依存マップを表示できます。たとえば、Oracle Service Bus を監視している場合、Investigator ツリーで[Proxy Services]ノードまたは特定のプロキシ サービス名を選択して、すべてのプロキシ サービスまたは特定のプロキシ サービスについて依存マップを表示できます。
SOA 依存マップを表示するには、以下の手順に従います。
- Investigator ツリーで該当するノードを選択します。
- [ビューア]ペインで[SOA 依存マップ]タブをクリックします。
SOA 依存マップが、選択した Investigator ノードに基づいてデフォルト ビューで表示されます。たとえば、以下の通りです。
- エージェント ノードの場合、SOA 依存マップには、エージェント レベルの依存関係の[物理モード]ビューが表示されます。
- [WebServices]、[Client]、または[Server]ノードの場合、SOA 依存マップには、サービス レベルの依存関係の[物理モード]ビューが表示されます。
- ノードの場合、SOA 依存マップには、サービス レベルの依存関係の[物理モード]ビューが表示されます。
- ノードの場合、SOA 依存マップには、オペレーション レベルの依存関係の[物理モード]ビューが表示されます。
たとえば、Investigator ツリーで[WebServices] - [Server]を選択し、[SOA 依存マップ]タブをクリックする場合、マップには、サーバ側サービスのすべてと共に、他のサービスへの 1 レベルのダウンストリームの依存関係が表示されます。
Investigator ツリー ノードおよびマップ ノードについて
Investigator ツリーでノードを選択すると、そのノードが SOA 依存マップの開始点になります。選択したノードから開始される依存関係のみが SOA 依存マップに表示されます。
SOA 依存マップ上の各項目はマップ ノードと考えられます。 表示されるマップ ノードは選択したコンテンツ タイプによって異なります。たとえば、エージェント、クライアント側またはサーバ側サービス、または個々のオペレーションを表すマップ ノードがあります。
スタンドアロンのマップ ノードおよび依存関係のあるマップ ノードについて
エージェント、サービス、またはオペレーションに依存関係がない場合、それはスタンドアロンのマップ ノードとして表示されます。設定したコンテキストに応じて、SOA 依存マップには、スタンドアロンのマップ ノードのみ、スタンドアロンのマップ ノードへの依存関係のあるマップ ノードの組み合わせ、または依存関係のあるマップ ノードのみが表示される場合があります。たとえば、コンテンツ タイプとして[サービス]を選択し、Investigator ツリーで[Client]または[Server]ノードを選択する場合、SOA 依存マップには、選択したノードに関連付けられたスタンドアロンのサービスおよび依存関係のあるサービスが表示されることがあります。
Investigator ノードを変更せずに、コンテンツ タイプを[エージェント]に変更する場合、エージェント レベルの依存関係がないと、1 つのスタンドアロンのエージェント マップ ノードのみが表示されることがあります。
ただし、コンテンツ タイプを[オペレーション]に変更する場合、マップには、選択した Investigator ツリー ノードに関連付けられた依存度が高いオペレーションのすべてについて、1 レベルの依存関係が表示されます。依存度が高いオペレーションには、クライアント側オペレーションまたはサーバ側オペレーションが含まれる場合があります。
オペレーションに対するマップ ノードについて
コンテンツ タイプを[オペレーション]に設定するか、サービスを右クリックして[すべてのオペレーションを表示]を選択する場合、SOA 依存マップには、次の規則を使用してオペレーション レベルの依存関係が表示されます。
- クライアント側サービスのネームスペースは緑色のボックスでマップ ノードとして表示される。
- サーバ側サービスのネームスペースは青色のボックスでマップ ノードとして表示される。
- エージェント名は灰色のボックスでマップ ノードとして表示される。
ボックスの色に関するのこれらの規則は、特定のオペレーションが属するサービスおよびエージェントの識別に役立つように使用されています。
[物理モード]または[論理モード]ビューを選択する
SOA 依存マップでは、組織の環境内の SOA コンポーネントが 2 通りの方法で表示されます。
- [物理モード]ビューは、エージェントで検出されるサービスおよびオペレーションの物理的な場所に基づいた表示形式です。
- [論理モード]ビューは、物理的な場所に関係なく、類似の名前の付いたサービスおよびオペレーションのグループに基づいた表示形式です。
[物理モード]ビューと[論理モード]ビューとの違い、およびそれらの切り替えがどのように問題の解決に役立つかを示すために、以下の例を考えます。
サービスの問題を分析すると、根本原因としてあるサービスを特定しましたが、特定したサービスが分散サービスであることがわかりました。ロード バランサは 5 つの別個のアプリケーション サーバにサービスの要求を分散させています。
このシナリオでのその問題の原因を見つけるには、次のことを把握する必要があります。
- あるサービスが別のサービスをいつ呼び出すかを決定する論理インスタンス間の関係。
- どの物理インスタンスが実際に呼び出されるか(サービス A のどのインスタンスがサービス B のどのインスタンスを呼び出すか)を決定する物理インスタンス間の関係。
- パフォーマンスは物理インスタンス間でどの程度異なるか。
- サービスへのトラフィックはそのインスタンス間でどの程度分散されているか。
たとえば、論理サービスで 1 分間につき 100 回の呼び出しがあったが、5 つのインスタンスしか作成されなかった場合、この 100 回の呼び出しが個々のインスタンスにどのように対応しているのかを理解しておくことが重要です。100 回の呼び出しの 90 回が単一のインスタンスに偏っていることがわかった場合、そのインスタンスに問題を切り分けて、問題を解決し、さらに、インスタンス上で増加した負荷の理由を分析できます。
SOA 依存マップでは、[表示]ドロップダウン リストを使用して、[物理モード]ビューと[論理モード]ビューを切り替えることができます。これにより、サービスの論理および物理インスタンスを区別して、特定の物理インスタンスの問題がどのように論理サービスのパフォーマンス全体に影響を与えている可能性があるかを判断できます。
SOA 依存マップの[物理モード]または[論理モード]ビューを選択するには、以下の手順に従います。
- [SOA 依存マップ]ツール バーで[表示]ドロップダウン リストをクリックし、[物理モード]または[論理モード]のいずれかを選択します。
SOA 依存マップがリフレッシュされ、選択したビューに基づいて SOA 環境が表示されます。たとえば、[物理モード]ビューでオペレーションが表示されていて、[論理モード]ビューに切り替えた場合、SOA 依存マップはリフレッシュされ、SOA 依存マップの論理表示に基づいてオペレーションが表示されます。
デフォルトでは、Investigator ツリーで仮想エージェントのノードを選択しない場合、SOA 依存マップには[物理モード]ビューが表示されます。[Virtual Agent]ノードおよびそのサブノードの場合、[論理モード]ビューがデフォルトで表示されます。
コンテンツ タイプの選択
コンテンツ タイプは表示に影響を及ぼすため、オペレーション、サービス、またはエージェントに対する依存関係のマップを表示できます。デフォルトのコンテンツ タイプは、Investigator ツリーで選択したノードによって異なります。コンテンツ タイプを変更することにより、別の視点から依存関係にドリル ダウンできます。ビューを切り替えれば、問題サービスの診断に役立ちます。
以下の手順に従います。
- [SOA 依存マップ]ツールバーで、コンテンツ タイプのドロップダウン リストをクリックします。
- [エージェント]、[サービス]、または[オペレーション]を選択します。注:[論理モード]ビューを表示しているか、カスタム仮想エージェントを選択した場合は、[オペレーション]または[サービス]のみを選択できます。SOA 依存マップがリフレッシュされ、そのコンテンツ タイプの依存関係が表示されます。
依存マップ ノードについてプライマリ メトリックを設定する
SOA 依存マップ上で標準メトリックおよび SOA 固有のメトリックの両方を表示できます。SOA 依存マップの各サービスおよびオペレーション ノードの下で、
プライマリ メトリック
には、最も注目度の高い標準メトリックが表示されます。また、SOA 依存マップのエージェント、サービス、またはオペレーション ノードの上にマウス ポインタを置くと、ヒントには、表示するように選択したメトリックが表示されます。SOA 依存マップでエージェントおよびサービスについて表示されるメトリックは、そのエージェントまたはサービスの下にあるすべてのオペレーションの集計値です。SOA 依存マップで現在選択または表示されているマップ ノードのみの集計値ではありません。たとえば、サーバ側サービスのマップ ノードの上にマウス ポインタを置くと、ヒントには、表示するように選択したメトリックが表示されます。ただし、マップ ノードに関するメトリックには、依存しているクライアント ノードおよび監視対象外のクライアントの呼び出しが含まれることがあります。または、SOA 依存マップに表示されていないクライアント(たとえば C++ クライアント)の呼び出しが含まれることがあります。クライアントの起動はすべて、サーバ側のメトリック計算に影響を与えます。
以下の手順に従います。
- [SOA 依存マップ]ツールバーで、[プライマリ メトリック]ドロップダウン リストをクリックします。
- あらゆる依存マップ ノードに表示する標準メトリックを以下のいずれかから選択します。
- Average Response Time (平均応答時間)
- Responses Per Interval
- Errors Per Interval
- Concurrent Invocations
- Stall count
プライマリ メトリックを設定した後、依存マップ内のマップ ノードのすべてには、そのメトリックの現在の値が表示されます。
マップ ノードの上にマウス ポインタを置くと、ヒントには、追加の情報が表示されます。たとえば、収集されたデータポイントの数について最小、最大、現在の値が表示されます。
依存マップ ノードについてヒント メトリックを選択する
マップ ノードをポイントするたびに、SOA 依存マップにヒントが表示されます。ヒントにはデフォルトではプライマリ メトリックのデータが表示されます。ヒントに SOA 固有のメトリックを表示することもできます。たとえば、ヒントに直接および間接依存関係メトリックまたは偏差メトリックが表示されるように選択できます。
SOA 依存マップのヒント メトリックを設定するには、以下の手順に従います。
- [SOA 依存マップ]ツール バーで[ヒント]ボタンをクリックして、[メトリックの選択]ダイアログ ボックスを表示します。
- SOA 依存マップのヒントとして表示するメトリックを選択します。たとえば、[Dependency Direct]および[Critical Direct]メトリックのような、SOA 固有のメトリックを選択できます。
- [OK]をクリックします。
選択した Investigator ノードに対応する SOA 依存マップ ノードにマウス ポインタを置くと、Enterprise Manager がその Investigator ツリー ノードにレポートするメトリックに応じて SOA 依存マップに、選択したメトリックのすべてまたは一部が表示されます。たとえば、関連する[Dependency Direct ToolTips]メトリックが表示されるように SOA 依存マップを設定する場合、オペレーション ノードをポイントすると、ヒントにこのメトリックに関するデータが表示されます。

[Dependency Direct]および[Critical Direct]は SOA 固有のメトリックです。
ただし、サービス ノードをポイントする場合、サービスが[Dependency Direct]メトリックを計算するためのデータを生成しないため、[Dependency Direct]メトリックは表示されません。
表示される依存関係のレベルを変更する
Investigator ツリーでノードを選択し、[SOA 依存マップ]タブをクリックすると、SOA 依存マップにはデフォルトで、選択したノードに関する依存関係と、追加の 1 レベルの依存関係が表示されます。依存関係が以下のいくつかの方法で表示されるように修正できます。
- マップで個々の項目について追加の依存関係を表示する。
- マップで個々の項目についてより低いレベルの依存関係を非表示にする。
- マップであらゆる項目についてすべてのレベルの依存関係を展開する。
- マップであらゆる項目について最低レベルの依存関係を非表示または折りたたむ。
マップ ノードについて追加の依存関係を確認する
デフォルトでは SOA 依存マップに 1 レベルのみの依存関係が表示されます。特定のマップ ノードに関心のある場合は、他のマップ ノードについてより低レベルの依存関係を展開せずに、そのエージェント、サービス、またはオペレーションについて追加のより低レベルの依存関係を確認できます。
マップで項目について追加の依存関係を確認するときは、一度に 1 レベルずつ依存関係を展開します。 追加の依存関係を確認するたびに、依存関係の次の最低レベルがマップに追加されます。次のレベルを確認し、追加の依存関係が見つからない場合は、マップには「追加可能な依存関係はありません」というメッセージが表示されます。
特定のマップ ノードについて追加の依存関係を確認するには、以下の手順に従います。
- マップで個々の項目を右クリックし、メニューから[次の依存関係を表示]を選択します。
選択したマップ ノードについてのみ、次のレベルの依存関係が SOA 依存マップに展開されます。たとえば、サーバ側のオペレーションが展開された場合、展開される次の依存関係のレベルは、関連するクライアント側のオペレーションです。
マップ ノードについて依存関係を非表示にする
特定のエージェント、サービス、またはオペレーションについて依存関係の多くのレベルを展開している場合、その項目について依存関係の一部のレベルを非表示にすることもできます。マップで項目について依存関係を非表示にするときは、一度に 1 レベルずつ依存関係を折りたたみます。 依存関係を非表示にするたびに、依存関係の次の最低レベルがマップから削除されます。
特定のマップ ノードの依存関係を削除するには、以下の手順に従います。
- マップで個々の項目を右クリックし、メニューから[依存関係を非表示にする]を選択します。
SOA 依存マップでは、選択したマップ ノードについて依存関係のすべてのレベルがロール アップされます。
マップですべての項目について追加の依存関係を確認する
デフォルトでは SOA 依存マップに 1 レベルのみの依存関係が表示されます。現在のマップですべての項目について追加のより低レベルの依存関係を確認するには、マップ全体について一度に 1 レベルずつ依存関係を展開できます。 追加の依存関係を確認するたびに、依存関係の次の最低レベルがマップに追加されます。次のレベルを確認し、追加の依存関係が見つからない場合は、マップには「追加可能な依存関係はありません」というメッセージが表示されます。
マップであらゆる項目について依存関係を展開するには、以下の手順に従います。
- [SOA 依存マップ]ツール バーで[次の依存関係を表示します]ボタンをクリックします。
SOA 依存マップにあらゆる項目の最低レベルの依存関係が展開されます。最初のマップ ノードに 3 つの依存関係が表示されている場合、このボタンをクリックすると、3 つの各項目に依存関係の新しいレベルが追加されます。
マップですべての項目について依存関係を非表示にする
マップで、すべてのエージェント、サービス、またはオペレーションについて多くのレベルの依存関係を展開している場合、マップ全体から一部の依存関係レベルを削除することもできます。マップですべての項目について依存関係を非表示にするときは、一度に 1 レベルずつ依存関係を折りたたみます。 依存関係を非表示にするたびに、依存関係の次の最低レベルがマップから削除されます。
マップであらゆる項目について依存関係を非表示にするには、以下の手順に従います。
- [SOA 依存マップ]ツール バーで[最終レベルの依存項目を非表示にする]ボタンをクリックします。
SOA 依存マップでは、最低レベルの依存関係がロール アップされます。
SOA 依存マップを展開して複数のレベルの依存関係を表示する場合や、組織に特に複雑な SOA インフラストラクチャがある場合は、SOA 依存マップで移動することや、検索対象の情報を見つけることが難しくなっていることがあります。SOA 依存マップには、マップ内での移動、マップと Investigator との間の移動、情報のすばやい表示/非表示に役立つ複数のツールが含まれています。
SOA 依存マップをパン、ズーム、調整する
表示している依存マップが大きい場合、特定のセクションに移動したり、見やすくなるように部分のサイズを変更したりすることもできます。SOA 依存マップでは、タブ内で SOA 依存マップを移動、拡大、調整する次のツールが提供されます。
- パン
- 選択領域の拡大
- ズーム イン/ズーム アウト
- ウィンドウに合わせる
タブ ビューで SOA 依存マップを移動するには、以下の手順に従います。
- [SOA 依存マップ]ツール バーで[パン]ツール ボタンをクリックします。[パン]ツール ボタンをクリックすると、手のアイコンが表示されます。
- SOA 依存マップ内でクリックします。
- タブ内でマップを中央にドラッグして、目的の領域を確認します。
SOA 依存マップの領域を拡大するには、以下の手順に従います。
- [SOA 依存マップ]ツール バーで[選択領域の拡大]ツール ボタンをクリックします。[選択領域の拡大]ボタンをクリックすると、選択領域の内部に虫眼鏡が表示されます。
- SOA 依存マップ内でクリックします。
- ドラッグして、拡大する長方形の領域を選択します。
SOA 依存マップをズーム イン/アウトするには、以下の手順に従います。
- [SOA 依存マップ]ツール バーで[ズーム イン/ズーム アウト]ツール ボタンをクリックします。[Zoom in and out]ボタンをクリックすると、虫眼鏡と共に上向きおよび下向きの矢印が表示されます。
- SOA 依存マップ内でマウス ボタンをクリックして押したままにします。
- SOA 依存マップで、マウスのホイールを前方に回すと拡大し、後方に回すと縮小します。
タブに収まるように SOA 依存マップのサイズを変更するには、以下の手順に従います。
- [SOA 依存マップ]ツール バーで[タブに合わせる]ツール ボタンをクリックします。これにより、虫眼鏡とグリッド線が表示されます。SOA 依存マップはタブ内に収まるようにサイズが変更されます。
- [選択領域の拡大]または[ズーム イン/ズーム アウト]ツールを使用して、読みやすいようにマップをカスタマイズします。
マップ ノードから関連する Investigator ツリー ノードにジャンプする
[物理モード]ビューで SOA 依存マップ ノードを表示している場合、任意のマップ ノードをクリックして、Investigator ツリー内の該当するコンポーネントに移動できます。新しい Investigator ツリー ノードにジャンプすると、SOA 依存マップはその新しい Investigator ツリー ノードを開始点として再表示されます。これにより、選択したマップ ノードの場所に基づいて現在の位置を再確認できます。
マップ ノードから新しい Investigator ツリー ノードへジャンプし、マップを再表示するには、以下の手順に従います。
- SOA 依存マップが[物理モード]ビューで表示されていることを確認します。
- SOA 依存マップでマップ ノードを選択します。
- 右クリックし、[ツリー内のこの場所にジャンプ]を選択します。新しい Investigator ツリー ノードが選択され、SOA 依存マップの新しい開始点になります。
サービスのすべてのオペレーションを表示する
[サービス]コンテンツ タイプを選択している場合、SOA 依存マップを展開して、特定のサービスのすべてのオペレーションを表示できます。
サービスのすべてのオペレーションを表示するには、次の手順に従います。
- Investigator ツリーで、[Client]または[Server]ノードの下のサービスの個々のオペレーションを選択します。
- [SOA 依存マップ]タブをクリックします。SOA 依存マップで、対応するクライアントまたはサーバ オペレーションと、その第 1 レベルの依存関係が、対応するサービスおよびエージェントを表すボックス内に表示されます。
- サービス マップ ノードを選択して右クリックし、[すべてのオペレーションを表示]を選択します。クライアント側またはサーバ側サービスのすべてのオペレーションが SOA 依存マップに表示されます。
エージェントのすべてのサービスを表示する
[エージェント]コンテンツ タイプを表示するように選択している場合、SOA 依存マップを展開して、指定したエージェントのすべてのサービスを表示できます。
エージェントのすべてのサービスを表示するには、次の手順に従います。
- Investigator ツリーで、[Client]または[Server]ノードの下の個々のサービスを選択します。
- [SOA 依存マップ]タブをクリックします。SOA 依存マップで、対応するクライアントまたはサーバ サービスと、その第 1 レベルの依存関係が、対応するエージェントを表す 1 つ以上のボックス内に表示されます。
- SOA 依存マップで、関連するエージェントを選択して右クリックし、[全てのサービスを表示]を選択します。エージェントのすべてのサービスが SOA 依存マップに表示されます。
SOA 依存マップ画像を保存する
さまざまな形式で SOA 依存マップのすべてまたは一部を保存して、以下のことが可能です。
- 問題の解決に役立つように同僚と情報を共有する。
- 組織の環境のスナップショットとして現在のマップを保存して後で確認できるようにする。
SOA 依存マップの共有
サービスの問題の解決では、多くの場合、SOA 環境に慣れていない同僚と共同作業を行うことが必要になります。たとえば、アラートに対応する場合、アプリケーションの問題を解決するために、別のサービスを担当する開発者と連携することが必要になることがあります。画像として依存マップを保存することにより、サービスと現在のメトリックとの関係に関する価値のある情報をこれらの同僚と共有できます。
また、エージェント、サービス、またはオペレーション レベルの依存関係を表示する依存マップを、それらの依存関係の[物理モード]または[論理モード]ビューと共に保存することもできます。サービス依存関係のグラフィカルなビューの提供により、コミュニケーションが容易になります。そのような情報は組織で問題をより効果的に解決するのに役立ちます。
スナップショットとして SOA 依存マップを保存する
SOA 依存マップには常に、監視対象のサービス間の最も最近に検出された依存関係が反映されます。データは定期的に確認されリフレッシュされますが、依存関係情報は履歴目的で保存されません。
ほとんどの場合、SOA 依存マップで依存関係は非常に静的です。これは、ほとんどの組織で運用環境内のアプリケーションの展開、修正、または削除は頻繁に行われないためです。ただし場合によって、後日に確認できるように、依存関係データの「スナップショット」として実際の環境の画像を保存しておくことが、有用であるとわかります。
画像として SOA 依存マップのすべてまたは一部を保存するには、以下の手順に従います。
- [SOA 依存マップ]ツール バーで[画像として保存]ボタンをクリックすると、[画像のエクスポート]ダイアログ ボックスが表示されます。[画像として保存]ボタンをクリックすると、ディスクのアイコンが表示されます。
- 出力ファイルの以下の設定を選択します。
- タイプ画像に使用するファイル形式を選択します。JPEG、GIF、PDF、PNG、または SVG ファイルとして依存マップを保存できます。
- ファイル名出力画像ファイルの出力先パスおよびファイル名を入力します。
- イメージ コンテンツ画像ファイルに SOA 依存マップの特定の部分を保存するオプションを選択します。
- 可視ウィンドウのみこのオプションは、[現在のズーム レベル]サイズ オプションを選択する場合のみ使用できます。現在のウィンドウで表示可能なマップの一部のみを保存する場合は、このオプションを選択します。たとえば、現在 SOA 依存マップに 100 のノードが表示されていて、拡大表示により、そのうち 10 のノードのみを表示している場合、このオプションを選択すると、その 10 のノードのみの画像が作成されます。
- グリッドを描画このオプションは有効ではありません。
- 選択したオブジェクトのみこのオプションは、マップ ノードが選択されている場合のみ使用できます。マップで選択したオブジェクトのみを保存する場合は、このオプションを選択します。たとえば、クライアントの Web サービス マップ ノードを選択した場合、このオプションを選択すると、クライアントの Web サービスの画像が作成されます。
- イメージ特性スライダ バーを動かすか、1 から 100 までの数字を選択して、画質とファイル サイズを指定します。100 は画像出力の最高画質を示します。画像の品質が高くなるほど、保存される画像のファイル サイズが大きくなります。
- サイズ画像のサイズを制御する以下のオプションの 1 つを選択します。
- 現在のズーム レベルマップの領域を拡大している場合は、このオプションを選択します。拡大された領域のみを画像に表示する場合は、この[可視ウィンドウのみ]オプションを使用します。
- 実際のサイズその実際のサイズでマップ全体を保存するには、このオプションを選択します。このオプションを選択すると、マップは縮小されません。
- 画面に合わせるウィンドウに収まるようにマップ全体を保存するには、このオプションを選択します。必要に応じてこのオプションを選択すると、ウィンドウに収まるようにマップが縮小されます。
- カスタムピクセル単位で画像の幅および高さの設定を選択するには、このオプションを選択します。
- [OK]をクリックして、ファイルを作成します。ファイルが指定した場所に保存されます。
マップ ノードからトランザクション追跡を開始する
マップ ノードから直接トランザクション追跡セッションを開始することができます。これにより、サービスの関係の高レベルのビューから、そのサービスを通過する実際のトランザクションの詳細ビューへすばやく移動できます。
たとえば、特定のサービスの問題を解決しようとしているとします。調査対象のサービスが重要なビジネス トランザクションによって使用されているため、そのサービスに関連付けられたトランザクションをできるだけすばやく表示することが重要です。
この場合、トランザクション追跡セッションを手動で開始し、フィルタ基準を入力する必要はありません。SOA 依存マップ上のサービスについて、マップ ノードから新しいトランザクション追跡セッションを直接開始することにより、時間を節約できます。
マップ ノードからトランザクション追跡セッションを開始する方法
- 任意のマップ ノードを右クリックし、[トランザクション追跡の起動]を選択して、トランザクション追跡セッションを開始します。依存マップ ノードからトランザクション追跡を開始すると、自動的に選択されたマップ ノードに基づいて、デフォルト フィルタを使用して[新規トランザクション追跡セッション]ダイアログが開きます。
- [追加]をクリックしてフィルタの一覧にデフォルト フィルタを追加するか、必要に応じてフィルタ基準を修正して[追加]をクリックします。
- [フィルタを設定]をクリックし、[OK]をクリックして、トランザクション追跡ビューアを開きます。トランザクション追跡ビューアでは、選択したマップ ノードにかかわるトランザクションに関連付けられた追跡のすべてが収集され、表示されます。
注:
SOA 環境でのプロセスにまたがるトランザクション追跡の使い方、およびフィルタの操作の詳細については、「SOA 環境でトランザクション追跡を使用する」を参照してください。クラスタの SOA 依存マップ
クラスタ化された環境の場合、SOA 依存マップに、MOM の配下のコレクタのサービスおよび検出された依存関係が表示されます。たとえば、3 つのコレクタ Enterprise Manager がある環境の場合は、エージェント間または個別のコレクタ上で実行されているサービス間の依存関係を表示できます。依存関係は、アプリケーション サーバの場合と同様、コンテンツ タイプと Investigator ツリー ノードに基づいて表示されます。
SOA 依存マップ データはコレクタでのみ保存されます。MOM はコレクタからそのデータを受信します。MOM は SOA 依存マップ データを保存しません。