サービスマップ入門

サービスマップは、視覚的に、カスタマイズ可能な形であなたのアプリケーションアーキテクチャを表示します。マップは、自動的にアプリの間(データベースや外部サービスなどの)の連携や依存関係を表現します。ヘルスインジゲーターやパフォーマンスメトリクスは、全体のアーキテクチャから個々のコンポーネントレベルまで現在の動作状態を確認できます。

サービスマップの利点:

  • アプリやサービスがアーキテクチャ上、お互いどのような繋がりがあるのか理解できる。
  • アプリ全体の現在の健康状態や稼働状態を素早くチェックできる。
  • 運用上の問題のトラブルシューティングや問題の影響範囲を理解できる。
  • アーキテクチャにおける共通の理解を推進できる。

サービスマップを表示する手順は以下の通りです。

  • rpm.newrelic.com から、APM > Service maps へアクセスする。
    もしくは
  • 特定のアプリで、rpm.newrelic.com、から APM > (選択したアプリ) > Monitoring > Service maps へアクセスする。
サービスマップは、PRO プラン以上での利用可能です。

要件

New Relic APM サービスマップ機能の使用可否は、New Relic のエージェントのバージョンに依存します。

機能 利用要件
アプリの可視化 サービスマップに表示するには、アプリが、アプリの相互追跡に必要な最小限のエージェントバージョンを利用している必要があります。
ホストとインスタンスの可視化 特定のホスト、インスタンス、およびデータベース情報のタイプを表示するには、エージェントが APM データベース とインスタンス機能が利用できるの最低限のエージェントバージョンであり、互換性のあるデータベースドライバを使用していなくてはなりません。
データベース専用の可視化 New Relic APM のサービスマップ機能を使って、ホスト、インスタンスレベルのビューをより深く知ることができます。機能が含まれています。ただし、インスタンスレベルの詳細を含まないでサービスマップにデータベース情報を表示するには、データベースおよびスロークエリ機能が利用できる最低限のエージェントバージョンを利用しいてる必要があります。

サービスマップは、トランザクションマップとトレースマップと同じ最少のエージェントバージョンが必要です。

サービスマップにおいてデータベースを表示するには、新規の Database ページの機能と同様に、同じ最小のエージェントバージョンが必要です。

アーキテクチャの理解

サービスマップにより、何と何が関連しているのかを視覚化できます。マップに意味のあるアプリを追加するところからはじめましょう。アーキテクチャの例は以下です。

  • 関連の強い監視対象のアプリ/サービス(最も興味のあるアプリやサービス)
  • 中間に位置づけられるアプリ/サービス(接続の多いアプリ)
  • 最高トラフィックのアプリやサービス (最高のスループットを持つアプリ)

マップ上でアプリのノードを取得したら、Browser アプリ、データベース、外部サービス(例えば、サードパーティの API)を含むアプリやサービスの接続をマップへ追加できるようになります。追加したノードはすべて自動的にマップに接続されますのでアプリのアーキテクチャの形を確認できます。

ノードをマウスオーバーすると、エンティティ間に接続されているパスが強調表示されます。ノードを選択すると、パフォーマンスメトリクスや接続している外部サービスを含む該当ノードの全接続を確認できます。

screen-service-maps-v3.png
APM > Service Maps > (選択したマップ): サービスマップを使うと、システムのアーキテクチャの外観を視覚化でき、各エンティティの健康状態をひと目で確認できます。

機能

サービスマップにあるクエスチョン question-circle アイコンを選択すると、サービスマップの最新機能の導入チュートリアルを表示します。

サービスマップを使うと複雑なアーキテクチャも視覚化、監視できます。

ノード
ノードは、マップの基本的な構成要素です。以下のようなノートタイプを追加できます。

ノードタイプ 説明
New Relic APM が監視するアプリ データベース、Browser アプリ、外部アプリやその他の監視対象のアプリとの接続を表示するには、マップにアプリの追加をします。
New Relic Browser アプリ 各アプリは自動的に検出され、内部の接続ウィジェット経由で追加されます。APM アプリと関連している Browser アプリのみ表示されます(スタンドアロンの Browser アプリはサポートされていません)
New Relic Mobile [英語] アプリ 自動的に検出され、アプリ/サービス一覧のパネル経由で追加されます。
データベースを含むプラグイン [英語] アプリごとに自動的に検出され、connections widget接続ウィジェット経由で追加されます。サービスマップのデータベースでは、新規の DataBase ページ機能と同様に同じエージェントバージョンが必須です。
外部サービス アプリの外部との依存関係を追跡し、その接続の健康状態を監視するために、サービスマップは、外部サービスは自動的に検出(接続ウィジェット内に表示)します。
カスタムノード アプリ/サーバー一覧パネルカスタムノードを追加します。 そうすることで、New Relic の監視、計測対象外のアプリやサービスの可視化が可能となります。(例えば、ロードバランサーや実行計画など)
グループノード グループノード には、複数のその他のノードを含むことができます。アプリの場合は、グループノードには、グループ内の全ノードの健康状態を要約したインジゲーター [英語]を表示します。
ノード配置とグループ化
お使いのアーキテクチャに合わせてマップをカスタマイズするために、マップ上のノードを自由に動かし、配置できます。

プリのノードは、関連の強いアプリ/サービスでまとめるのに、1つのノードにグループ化できます。グループ化されたノードは、グループ内の全ノードをまとめた健康状態のインジゲーターを表示します。グループからアイテムを削除するには、グループをマウスオーバーし、鉛筆 pencil アイコンを選択し、マイナス minus-circle アイコンを選択します。

crop-service-map-app-group.png

送信/受信の接続
サービスマップは、エンティティ間の HTTP ベースの送信/受信の接続を自動的に検知します。ノードの上にマウスを置いた際、接続経路は強調表示されます。各ノード終端のウィジェットは、ノートの接続数を表示します。そのウィジェットをクリックすると、マップに関連したエンティティを追加できます。

crop-incoming-outgoing-service-maps.png

パフォーマンス概要の表示

アプリをクリックすると、直近30分のパフォーマンスを表示します。チャートはデフォルトで、レスポンスタイムを表示しますが、ApdexThroughputError rate リンクを選択して、他のメトリクスも見ることができます。チャートでは、直近30分のパフォーマンスデータを表示しますが、サービスマップは直近5分のデータにもとづいて表示しています。

View the app in APM や Browser のアプリを表示します。また、オーバーフロー ellipsis-v アイコンを押すと、ラベルを表示します。再度アプリ名をクリックすると、概要チャートは非表示なります。また、オーバーフロー ellipsis-h アイコンを再度クリックすると、他の詳細を非表示にします。

crop-app-details-service-maps.png

アプリやサーバーの一覧とマップ一覧のパネル

Map list パネルでは以下のことが行えます。

  • マップの検索、表示、他のメンバー共有しているマップへのアクセスできます。
  • マップの新規作成できます。

App/Service List パネルでできること:

健康状態とパフォーマンスメトリクス
ほとんどのノードの健康状態のインジゲーターを確認できます。外部サービス以外のエンティティは、New Relic Alerts が使用している健康状態のインジゲーター [英語]を使います。

外部サービスの場合、健康状態のインジゲーターは、外部サービスとの接続の健全性を測定します。

接続済みの全アプリとサービスの表示
Discover your environment [環境の発見]機能を使うと、ワンクリックで、アプリ、サービス、や依存関係をまとめて表示できます。この機能により、接続している全アプリ、サービス(外部サービス、データベース含む)を検知し、環境全体のアーキテクチャに関する理解を促進します。

接続済みの全アプリとサービスの表示する方法は以下の通りです。

  1. APM のおいて、New Relic のメニューバーから、Service maps を選択します。
  2. Map list から、Discover your environment を選択し、全ノードを表示します。
  3. 依存関係を表示し、それがサービスマップの他の部分とどのように接続しているかを知るには、任意のノードにカーソルを合わせます。個々のノードをクリックすると、ノードがズームして、その詳細が表示されます。
古いバージョンの New Relic エージェントを使っている場合は、Discover your environment機能を利用できないことがあります。バージョン情報については、クロスアプリケーショントレースのトラブルシューティングを参照してください。この機能は、多くのアプリや外部サービス、データベースのある非常に複雑なマップではうまく機能しないことがあります。
Select discover your environment to view all your nodes and their dependencies

Service maps > Map list > Discover your environment Discover your environment [ご使用環境の発見]選択することで、ノードとその依存関係をすべて一緒に表示できます。

トラフィックライトモード
traffic lights モードを使うことで、アーキテクチャ全体の健康状態を一目で確認できます。これにより、たくさんのノードのある複雑な環境であっても、問題のあるサービスやアプリを素早く検知できます。このモードを切り替えるには、Views タブを選択し、Traffic light mode を選択します。

トラフィックライトモードがオンの場合、サービスマップ上でズームアウトしていくと、ノードはテキスト情報の表示から健康状態の色のみの表示に切り替わります。個々のノードをクリックすると、詳細を表示します。トラフィックライトモードはデフォルトでオンになっています。

トラフィックライトモードがオフの場合、サービスマップのノードはテキスト情報を保持し、ズームアウトしても、健康状態の色のみに表示を切り替えることはありません。

Zoom out of your service map to view in traffic lights mode

APM > Service maps > Views > Traffic light mode: トラフィックライトモードが有効の場合、サービスマップをズームアウトすると、ノードは健康状態の色の表示に切り替わります。

ミッドナイトモード [深夜モード]
Midnight mode は、画面の背景色を、白から暗い色に反転させます。深夜モードは、特に低照度の環境において目の緊張を軽減します。
このモードを切り替えるには、Views タブを選択し、Midnight mode モードを選択します。

運用上の問題を特定する

健康状態インジゲーターにより、お使いの環境における現在の状態を素早く確認できます。マップ上のノードを選択すると、パフォーマンス情報や各ノードの接続先の健康チェックや完全なリストを見れます。密着して監視したいアプリやサービスにノードの接続を追加します。マップは、自動的にマップにノードを接続します。そのため、マップ上でどのアプリが関係しているのかを把握できます。

ホストやインスタンスレベルの問題を特定する

サービスマップを使用して、呼び出し元のアプリケーションと特定のデータベースインスタンス間のパフォーマンスに関する問題に対してのトラブルシューティングと評価を行うことができます。

特定のホスト、インスタンス、そしてデータベース情報のタイプを表示するには、エージェントが APM データベースとインスタンス機能が使える最低限のエージェントバージョンの要件を満たしており、互換性のあるデータベースドライバを使用する必要があります。

外部サービスの問題を特定する

お使いのアプリが、New Relic の監視対象外(サードパーティの API など)の外部サービスに接続している場合、New Relic は、1週間の間サービスを監視し、レスポンスタイムのベースラインとします。統計的に有意な数のデータポイント(100 以上)を集めることができた場合、その後、現在のレスポンスタイムとベースラインのレスポンスタイムを比較し、健康状態のインジケーターのセットにこの値を使います。

  • square 緑色: サービスからのレスポンスタイムが、ベースラインの 1.75倍未満。
  • square 黄色: サービスからのレスポンスタイムが、ベースラインの 1.75倍以上。
  • square 赤: サービスからのレスポンスタイムが、ベースラインの 2.5倍以上
  • square 灰色: 健康状態を決定するのに十分なデータがないアラート状態。
  • square 紫色: 健康状態を決定するのに十分な情報があるかどうかが、まだ分からない状態。

関連情報

関連情報は以下のとおりです。