エンド ユーザ エンドポイント監視

内容
apmdevops102jp
内容
エンド ユーザ エンドポイント監視は、互換性のあるエンド ユーザ監視コンポーネントによって異なります。互換性のあるコンポーネントは、CA APM が監視するアプリケーションへの各リクエストに対して CA APM ビジネス トランザクションのコンテキストおよびメタデータを外部に提供します。CA Mobile App Analytics (CA MAA)は、有効にすると CA APM にこのタイプの情報を提供するよう設計されています。CA MAA は、Android および iOS などのオペレーティング システムに対して、携帯情報端末などのコンピューティング デバイスでネイティブのモバイル アプリをインスツルメントする機能を提供します。ビジネス トランザクション コンテキストは、CA MAA から CA APM に移動し、発信元デバイス プラットフォームに基づいて、エンド ユーザ エクスペリエンスが APM WebView に表示されます。このデータを監視すると、モバイル アプリケーションのパフォーマンスに関する問題を実行中いつでも特定するのに役立ちます。問題を早期発見することにより、低下したパフォーマンスがエンド ユーザに影響を与える前に問題に対処することができます。
注:
CA MAA は、CA SaaS 製品として、または CA Mobile DevOps ポートフォリオに含まれるオンプレミス ソリューションとして提供されます。
アプリケーション所有者は、以下の手順に従います。
  1. CA MAA で統計、クラッシュなどのアプリケーション分析を表示します。
エンド ユーザ エンドポイント監視の前提条件の確認
エンド ユーザ エンドポイント監視を実装する前に、以下の前提条件を確認します。
  • CA MAA などの、互換性のある監視ソリューションを使用している。
    • CA MAA の CA SaaS 実装の場合は、テナント アカウントとCA MAA 管理者ログイン認証情報がある。
    • CA MAA オンプレミス ソリューションの場合は、CA MAA 管理者ログイン認証情報がある。
  • 監視対象のアプリケーションのモバイル オペレーティング システムが、「製品互換性マトリックス」にリスト表示されているバージョン要件を満たしている。
  • CA APM 実装に、以下のものが含まれている。
    • WebView
    • ネイティブ モバイル アプリケーションが通信するバックエンド アプリケーションを監視する、デプロイ済みの Java エージェント  
ビジネス トランザクションの命名の機能
エンド ユーザ監視ソリューションの CA MAA SDK は、ヘッダ パラメータを HTTP リクエストに挿入します。このパラメータによって、リクエストが属するモバイル ビジネス サービスおよびトランザクションが命名されます。「x-apm-bt」と命名される単一のヘッダ パラメータは、トランザクションに関連するデータをエンコードします。ヘッダ パラメータは、ドル記号($)で区切られた 2 つのセグメントで構成されます。この 2 つのセグメントは、セミコロンで区切られた複数の属性で構成されます。パラメータの 2 番目のセグメントには、トランザクションの識別属性が含まれています。また、このセグメントは、指定された順番に従います。パラメータ値の合計サイズには制限があります。エージェントは、制限を超えた、または正しくない形式の x-apm-bt パラメータを無視します。そのような無効なパラメータを含むリクエストは、APM ビジネス トランザクション(エージェントおよび CEM TIM が監視するトランザクション)として処理されます。
エージェントは、ヘッダ情報により、以下のアクションを実行します。
  1. x-apm-bt パラメータで注釈付けされた HTTP リクエストを受信します。
  2. リクエストを、一致したビジネス トランザクション コンポーネントとして処理します。
  3. 関連メトリックおよび APM データ モデル エレメントを作成または更新します。モバイル ソース関連属性は、セグメント化されたパラメータ値から解析され、ビジネス トランザクション プロパティとして保存されます。
ヘッダ パラメータ構造は次のとおりです。
x-apm-bt: t=<MAA-TenantID>;d=<UDID>;v=<MAA-SDK-Version>;n=<NetworkNAME>;l=<LinkType>;g=<GeographicalLocation>;a=<AppNAME>$bs=<BusinessServiceName>;bt=<BusinessTransactionName>;p=<PlatformNAME>;pv=<PlatformVersion>
例: HTTP ヘッダ パラメータ
x-apm-bt: t=4F2504E0-4F89-9B0C-0305E82C2301;d=2b6f0cc904d137be2e1730235f5664094b831186;v=1.0;n=ATT;l=3g;g=36.9125, 30.6897222;a=Trade App$bs=Trade App;bt=Buy Options;p=iOS;pv=7.1
属性名
説明
必須
t
CA SaaS テナントを示します。
いいえ
d
発信元デバイス/ハードウェアの一意の ID を保持します。
いいえ
v
このヘッダ パラメータを作成した監視ソリューション(つまり、CA MAA SDK)のバージョンを示します。
いいえ
n
リクエスト発信時に発信元デバイスが接続されるネットワーク プロバイダ(Verizon、AT&T、など)を示します。
いいえ
l
リクエスト発信時に発信元デバイスが使用していたネットワーク接続タイプ(WiFi、LTE、3 g など)を示します。
いいえ
xbtt
この外部ビジネス トランザクションのタイプを定義します。有効な値は、[t1、t2] です。
いいえ
p
デバイス/ハードウェアのオペレーティング システム(iOS7、Android など)を示します。
いいえ
pv
デバイス/ハードウェアのオペレーティング システムのバージョン(4、7.1 など)を示します。
いいえ
g
経度と緯度のカンマ区切り値(トランザクション発生元を示す)を指定します。
いいえ
bs
このリクエストの親ビジネス サービス名(ビジネス サービス名はCA MAA によって決定されるもので、使用される MAA インスツルメンテーション方式に応じて、モバイル アプリケーション名のコピーか、アプリケーション作成者を示すリテラル名のいずれか)を保持します。
はい
bt
このリクエストの親ビジネス トランザクション名を保持します。APM は、この名前、ビジネス サービス名、およびプラットフォームの詳細を使用して識別子を作成します。APMは、同じ識別子 {p、pv、bs、bt} の付いたすべてのリクエストのメトリックを集計します。
はい
a
アプリケーション名(CA MAA SDK によって指定されるアプリケーション名)を示します。
いいえ
注:
{p, pv, bs, bt} 属性は合同でビジネス トランザクションを示します。可能な場合はオペレーティング システムの詳細なバージョンが収集されますが、ビジネス トランザクションは、オペレーティング システムのメジャー バージョンに従って命名されます。ただし、オペレーティング システムの詳細なバージョンは、トランザクション追跡で使用できます。必須の属性がない場合、ヘッダは無視され、リクエストは、標準ビジネス トランザクションとして処理されます。
モバイル アプリケーションと CA MAA の統合
CA MAA は、モバイル アプリケーションによる HTTP コールに、外部 APM ビジネス トランザクションを示すヘッダ属性(x-apm-bt)を注釈付けします。その後、エンド ユーザ エンドポイント監視は、マークされている HTTP リクエストを処理して、これらのリクエストが属しているモバイル トランザクションを識別します。Introscope エージェントがこのヘッダ パラメータを受信すると、ヘッダ値により、モバイル ビジネス トランザクション識別子が識別されます。これにより、エージェントは、そのリクエストを、一致するビジネス トランザクションに属しているもののように処理します。
CA MAA SDK を、パフォーマンス監視対象のアプリケーションと統合します。CA MAA で、モバイル アプリケーションを登録し、CA MAA SDK を使用してネイティブ モバイル アプリケーションをインスツルメントします。
  • iOS アプリケーションと CA MAA を統合します。
  • Android アプリケーションと CA MAA を統合します。
以下の手順に従います。
  1. CA MAA 管理コンソールにログインし、アプリケーションを登録します。
    CA MAA は、iOS および Android SDK を提供します。これにより、iOS および CA MAA アプリケーション開発者は CA MAA をアプリケーションに統合できます。
  2. CA MAA の指示に従って以下タスクを実行します。
    1. デバイス プラットフォームに対応する CA MAA SDK をダウンロードします。
    2. CA MAA SDK をアプリケーション作成環境にインクルードします。
    3. アプリケーションをテストします。
注:
詳細については、「
CA Mobile App Analytics Integration Guide
」を参照してください。
エンド ユーザ エクスペリエンスの監視
すべてのエンド ユーザ ビジネス サービスおよびトランザクションは、WebView と同様の方式で表されます。この表現により、発生元から APM 監視対象バックエンドへのトランザクションの動作の包括的なビューが得られます。
以下の手順に従います。
  1. WebView で、[Investigator]-[問題切り分けマップ]をクリックします。
    ツリーには、以下の上位ノードを持ったシステムの階層ビューが表示されます。
    • By Business Service
      — ビジネス サービスおよびトランザクションのビジネス セントリック カタログ。
    • By Frontend
      — アプリケーションのフロントエンド セントリック カタログ。
      フロントエンドは、外部に公開されるアプリケーションのコンポーネントの論理グループです。フロントエンドは、バックエンド システムや、フロントエンドで取得されるパフォーマンス測定値に、頻繁にアクセスします。バックエンドシステムは、該当するフロントエンドの「バックエンド コール」の下に示されます。
      各アプリケーションには、次の 2 つの子ノードがあります。
      • Health
        — 複数の物理的な場所にわたるフロントエンドの集約メトリック。
      • Backend Calls
        — 選択したフロントエンドをサポートする他のエレメントへのコールのメトリック。
  2. 以下のノードをツリーに表示します。
    • ビジネス サービス(Book Store など)
    • モバイル ビジネス トランザクション名とオペレーティング システム名およびバージョン(Login via Android 4 など)
      モバイル アプリケーション ビジネス トランザクションが同じオペレーティング システムの定義を持つ場合、オペレーティング システムのマイナー バージョン番号が異なっていても、単一の番号として表示されます。マイナー バージョン番号は、単一の番号に統合されます。たとえば、4.1 と 4.2 は「4」と表示されます。
      ビジネス トランザクションごとに、標準メトリックが表示されます。モバイル ビジネス トランザクションについては、以下の追加メトリックが表示されます。
      ネットワーク プロバイダ
      間隔ごとの応答数
      — 以下のような、ネットワーク プロバイダごとの、指定されたタイム スライスにおいて完了したリクエストの数。
      Verizon の間隔ごとのモバイル応答数
      AT&T の間隔ごとのモバイル応答数
      注:
      EndUserEndpoints.pbd を使用して、メトリック命名方法と、個別の応答カウント メトリックの作成に使用される属性を設定できます。
  3. 目的のビジネス トランザクション ノードをクリックします。
    問題切り分けマップに、エージェントが監視している、自動検出されたコンポーネントと、アプリケーションの依存関係が視覚的に表示します。
    • 矢印コネクタは、マップ コンポーネント間の関係を表します。選択したコンポーネントとその依存関係の間の接続は、太い線で強調表示されます。対応するマップ エレメントが影付きで強調表示され、依存関係がフルカラーで表示されます。選択したエレメントに関連しないコンポーネントは淡色表示されます。
    • モバイル ビジネス トランザクション ノードにより以下の情報が示されます。
      • モバイル オペレーティング システム(Android、iOS など)。
      • アプリケーション作成者または CA MAA SDK によって定義されたモバイル ビジネス トランザクション名
  4. マップ内のモバイル トランザクション ノードまたはメトリック概要内の目的のグラフ メトリックの線にマウス カーソルを合わせます。
    ヒントには、選択内容に応じて情報が表示されます。
    • マップ エレメントのヒントには、アラート レベルおよびメトリック情報が表示されます。
    • グラフ行ヒントはメトリックの詳細を表示し、しきい値ヒントはアラートのしきい値を表示します。
    この情報は、パフォーマンスの問題を調査するのに役立ちます。
  5. エージェントの場所およびリソースの場所を表示します。
    [場所]テーブルに、エージェントまたはリソースの物理的な場所がリスト表示されます。このリストで、個別のホスト上のメトリックの急増を検出します。この情報は、集計値を必ずしも大きく変動させない特殊なエージェントを識別するために役立ちます。
  6. アプリケーションの稼働状況を表示します。
    • アプリケーション問題切り分けマップ内のコンポーネントを右クリックし、[
      名前
      の稼働状況メトリックを表示]を選択します。
      選択したアプリケーションに応じて、ツリーが以下のように変更されます。
      • [By Frontends]の[Health]ノード。
      • [By Business Service]の[Business Transaction Components]ノード。
      [概要]タブには、デフォルト メトリック グラフ([平均応答時間]、[間隔ごとの応答数]など)が表示されます。しきい値を超過すると、危険(赤)および警告(黄)のラインが表示されます。
    • [By Frontend]の下にリスト表示されている各アプリケーション下の[Health]ノードまたは[Backend Calls]ノードをクリックします。
      アプリケーションの集約稼働状況メトリックが表示されます。
  7. (オプション)[アラートしきい値を非表示]をクリックします。
    すべてのアラートしきい値がグラフに表示されなくなります。このボタンをクリックすると、ページのすべてのグラフに対するアラートしきい値の非表示/表示が切り替わります。
個別コンポーネントの追跡ビューでの表示
トランザクション追跡により、エンドユーザ監視ソリューションがわたすメタデータ(CA MAA 固有の属性)が記録されます。トランザクション コンポーネントをスタック表示します。コンポーネントを上から下まで検査して、期間内のコールのシーケンスを理解し、パフォーマンスを評価します。エンド ユーザ監視メタデータ属性はルート コンポーネントに関連付けられ、そのキーにはプレフィックスとして「x-apm-bt」が付きます。
以下の手順に従います。
  1. WebView で、[ツール]-[トランザクション追跡]をクリックします。
    注:
    [ツール]-[履歴イベント ビューア]からクエリを実行してこの情報にアクセスすることもできます。
  2. テーブル内のモバイル トランザクション追跡を選択します。
  3. 下部ペインで、[追跡ビュー]タブをクリックします。
    注:
    Live モードでは、[追跡]タブに、過去 20 分のトランザクション追跡イベントがリストされます。20 分より前のトランザクション追跡イベントは、ライブ モードでは表示されません。
    選択したトランザクションのコンポーネントがスタック表示で表示されます。
  4. エージェント ステータス領域で、以下の情報を確認します。
    • タイムスタンプ
      ルート コンポーネントの呼び出し開始時刻(エージェントのシステム クロックによる)を表示します。
    • 継続時間
      ルート コンポーネントの実行時間(ミリ秒単位)を表示します。
  5. データ ビューアで、スタック表示のコンポーネントを上から下に確認し、アプリケーション パフォーマンスを評価します。
    ヒント:
    右向きの青色の三角形をクリックするとグラフィカル表示が展開し、個別のトランザクション コンポーネントが表示されます。
    グラフィカルなスタック ビューには以下の情報が表示されます。
    • バーの形状で表示される、トランザクション内の各コンポーネント。
    • コンポーネント間のコール関係: コンポーネントのバーは、コール順に上から下に表示されます。
    • トランザクションの時間的な順序: コンポーネントの位置は、左から右に時間的な順序を示しています。トランザクションの上部には、継続時間を示す目盛り(ミリ秒単位)が表示されます。
    • トランザクション内のエラー -- トランザクション スタック表示で示される赤色の部分は、トランザクション内のエラーを表しています。
    • プロセスおよび JVM にまたがるトランザクション データ -- CA APM では、独自の識別子(相関 ID)を使用して、追跡したフロントエンド トランザクションとバックエンド トランザクションがリンクされます。この順序は、トランザクション内でフロントエンドがバックエンドをコールする順番に基づいています。複数のスタック表示がビューアに表示される場合、システムは、選択した追跡イベントに関連するプロセスを検出して追跡しています。異なるエージェントで追跡されたプロセスは、グレー表示された異なる領域に表示されます。トランザクション追跡でリンクされたコンポーネントを調べることによって、特定のトランザクションがプロセスを残しているかどうか、および別のプロセスに移行しているかどうかを確認できます。また、遅いトランザクションやストールしたトランザクションのソースが、どの呼び出しであるかを推測できます。
  6. Tab キーを使用して、スタック表示内のコンポーネントから別のコンポーネントに移動します。
  7. 右上隅のズーム スライダを使用して、必要に応じて表示をズーム インおよびズーム アウトします。1 から 10 の値を指定できます。スライダ内の各値は、グラフィカル表示の幅に 2 を掛けたものです。デフォルト値は 1 です。
  8. コンポーネントにマウス カーソルを合わせると、詳細情報を含むヒントを表示できます。
  9. [コンポーネントの詳細]領域で、以下の情報を表示します。
    注:
    高深度トランザクション追跡コンポーネントに関するすべての情報が取得できるわけではありません。
CA MAA での分析の表示
CA MAA により、モバイル アプリケーションのパフォーマンスとクラッシュに関する洞察を得ることができます。パフォーマンス関連データは、メモリ、ネットワーク、平均遅延などに関する分析を提供します。アプリケーションのバージョン、地理的な場所、オペレーティング システム、キャリア情報、デバイス情報などの多数のパラメータに基づいて、使用量データを分析することができます。
以下の手順に従います。
  1. CA MAA 管理コンソールにログインします。
  2. 左側のペインで、[ANALYTICS]をタップします。
  3. オプションを使用して、以下の項目に関する分析を表示します。
    • 概要
    • パフォーマンス
    • クラッシュ
    • 使用法
外部ビジネス トランザクション監視プロパティの設定
外部ビジネス トランザクション監視プロパティにより、Java エージェントが設定されます。この設定により、CA APM ビジネス トランザクションを、CA MAA などのエンド ユーザ監視ソリューションによって提供される外部ビジネス トランザクションと一致させます。プロパティを変更することにより、たとえば、モバイル ビジネス トランザクションの合計数をクランプすることができます。
注:
このタスクはオプションです。ビジネス トランザクションの一致は、デフォルトで有効になっています。
以下の手順に従います。
  1. 監視するアプリケーションのサーバ上の <
    Agent_Home
    >/core/config に移動します。
    注:
    この場所はデフォルトです。
  2. IntroscopeAgent.profile ファイルをテキスト エディタで開きます。
  3. 次のセクションに移動します。
    # External Business Transaction Monitoring properties
  4. 以下のプロパティのいずれかを変更します。
    • introscope.agent.external.biz.enabled
      外部ビジネス トランザクション監視機能のオン/オフを切り替えます。
      デフォルト:
      true
    • introscope.agent.external.biz.header.size.max
      外部ビジネス トランザクションのヘッダ パラメータ(x-apm-bt)の最大データ サイズを指定します。単位は 1 KB です。この制限を超えるパラメータを持つリクエストは、外部ビジネス トランザクションとして処理されません。
      デフォルト:
      10
    • introscope.agent.external.biz.bt.count.max
      許可される外部ビジネス トランザクションの最大数を指定します。現在の外部ビジネス トランザクションの定義をリセットします。
      デフォルト:
      1000
  5. IntroscopeAgent.profile ファイルを保存して閉じます。
    注:
    変更はただちに有効になり、管理対象アプリケーションを再起動する必要はありません。
Probebuilder ディレクティブ ファイルの設定
Probebuilder ディレクティブ ファイル(EndUserEndpoints.pbd)は、エンド ユーザ エンドポイント監視のためのトレーサ ディレクティブを提供します。EndUserEndpoints.pbd を使用して、メトリック命名方法と、個別の応答カウント メトリックを作成するために使用する属性を設定できます。
注:
このタスクはオプションです。トランザクション追跡は、デフォルトで有効になっています。
以下の手順に従います。
  1. <
    Agent_Home
    >/core/config ディレクトリに移動します。
  2. EndUserEndpoints.pbd ファイルをテキスト エディタで開きます。
  3. ファイルの手順に従ってプロパティを設定します。
    ############# # Flag intersection ############# SetFlag: ExternalBTAttributeNNewMode SetFlag: HttpServletTypeSpecificServiceExternalbtSingleTracing IdentifyTwoFlagIntersectionAsAggregateFlag: HttpServletTypeSpecificServiceTracing ExternalBTAttributeNNewMode HttpServletTypeSpecificServiceExternalbtSingleTracing ############################################################# # Network Provider-based Response Counter # # NOTES: # When available, the HTTP header attribute 'x-apm-bt' is parsed and AttributePerIntervalCounterDifferentInstances uses the network provider attribute (n) to create an additional response counter. ############################################################# SetTracerClassMapping: AttributePerIntervalCounterDifferentInstances com.wily.introscope.agent.external.biz.trace.SinglePerIntervalCounter com.wily.introscope.probebuilder.validate.MetricNameValidator SetTracerParameter: AttributePerIntervalCounterDifferentInstances nameformatter com.wily.introscope.agent.external.biz.util.HTTPSinglePerIntervalCounterFormatter TraceOneMethodWithParametersIfFlagged: HttpServletTypeSpecificServiceExternalbtSingleTracing service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V AttributePerIntervalCounterDifferentInstances "Responses Per Interval for {value}" SetTracerParameter: AttributePerIntervalCounterDifferentInstances attributeKey n
  4. ファイルを保存して閉じます。
  5. アプリケーションを再起動します。
外部ビジネス トランザクション監視の無効化
IntroscopeAgent.profile ファイルでプロパティを設定することにより、外部ビジネス トランザクション監視を無効にすることができます。
以下の手順に従います。
  1. 監視しているアプリケーションのサーバ上の <
    Agent_Home
    >/core/config に移動します。
    注:
    この場所はデフォルトです。
  2. IntroscopeAgent.profile ファイルをテキスト エディタで開きます。
  3. introscope.agent.external.biz.enabled=false を設定します。
  4. ファイルを保存して閉じます。
    この変更はただちに有効となります。管理対象アプリケーションを再起動する必要はありません。
エンド ユーザ エンドポイント監視のオン/オフの切り替え
toggles pbd を使用して、エンド ユーザ エンドポイント監視機能のオンとオフ、または外部ビジネス トランザクションを切り替えることができます。この機能は、デフォルトで有効になっています。
以下の手順に従います。
  1. <Appserver_Home>/
    core/config ディレクトリまたは
    <Agent_Home>
    /core/config/systempbd ディレクトリに移動します。
    場所は Java エージェントが使用するファイル タイプ(
    <appserver>-
    full.pbl または
    <appserver>
    -typical.pbl)によって変わります。
  2. toggles-full.pbd または toggles-typical.pbd ファイルのいずれかを開きます。
    • toggles-full.pbd
      ほかのディレクティブ ファイルで指定されている追跡について(TurnOn ディレクティブの形式で)オン/オフを切り替えます。ほとんどのトレーサ グループがオンになります。
    • toggles-typical.pbd
      ほかのディレクティブ ファイルで指定されている追跡について(TurnOn ディレクティブの形式で)オン/オフを切り替えます。トレーサ グループのごく一部のみがオンになります。
  3. このセクションを見つけます。
    # External Business Transaction for End User Endpoints Monitoring
  4. 目的のアクションに基づいて、以下の行をコメント化したり、コメント化を解除したりします。
    TurnOn: ExternalBTAttributeNNewMode
  5. ファイルを保存して閉じます。