CloudWatch RUM ダッシュボードの表示
CloudWatch RUM は、インタラクティブなダッシュボードを通じて、ユーザーセッションからアプリケーションパフォーマンスデータを収集して可視化します。ロード時間、Apdex スコア、デバイス情報、位置情報、エラーパターンなどを取得することで、チームはパフォーマンスのボトルネックをすばやく特定し、実際のユーザーへの影響に基づいて修正に優先順位を付け、さまざまなブラウザ、デバイス、地理的リージョンで最適なエクスペリエンスを確保できます。これにより、組織はユーザーの行動をより深く理解し、エンドユーザーの不満を軽減し、アプリケーションの信頼性を向上させることができます。
CloudWatch RUM の開始方法
CloudWatch コンソールの https://console.aws.amazon.com/cloudwatch/
を開いてください。 -
ナビゲーションペインで、[Application Signals (APM)]、[RUM] の順に選択します。
RUM コンソールには [概要] ページが表示されます。このページには、すべてのアプリモニター、そのヘルス、主要な運用メトリクスがまとめて表示されます。[概要] ページから [パフォーマンス]、[エラー]、[セッション]、[メトリクス]、[設定] の各タブを使用して詳細ビューにアクセスするには、アプリケーションモニターを選択します。
概要
[概要] ページは、CloudWatch RUM コンソールのランディングページです。これは、すべてのアプリケーションモニターの概要を提供し、モニタリング対象アプリケーション全体の正常性、パフォーマンスの傾向、運用カバレッジをすばやく評価するのに役立ちます。
概要カード
概要ページの上部には、すべてのアプリモニターで運用ステータスを一目で確認できる 4 つの概要カードが表示されます。
-
要対応 (ヘルスステータス別) — 全体のうち注意が必要なアプリモニターの数を、重大 と 劣化 の件数に分けて表示します。進行状況バーは、注意が必要なモニターの割合を示します。
-
悪化傾向 — 全体の中で、悪化傾向にあるアプリモニターの数を示します。
-
セットアップとカバレッジ — SLO が設定されていないアプリモニターの数と、トレーシングが無効になっているアプリモニターの数を表示し、モニタリング設定の抜け漏れを特定できるようにします。
-
SLO とアラーム — 全 SLI のうち、違反している SLI の数と、現在発生しているアラームの数を表示します。
クイックフィルター
左側のパネルには、アプリケーションリストを絞り込むためのクイックフィルターがあります。
-
プラットフォーム — ウェブ、iOS、または Android。
-
ヘルス — 正常、重大、劣化、またはデータなし。
-
SLI ステータス — 正常、異常、または SLO なし。
-
トレーシング — 有効または無効。
-
トレンド — 悪化、改善、または安定。
-
主な問題 — アプリモニターに影響している主な問題タイプでフィルタリングします。
[フィルターをクリア] を選択して、すべてのフィルターをリセットします。
[App Monitors] テーブル
[App Monitors] テーブルには、以下の列を含むすべての App Monitor が一覧表示されます。
-
名前 — アプリモニターの名前と、プラットフォームアイコン (ウェブ、iOS、または Android) が表示されます。
-
セッション — 選択した時間範囲で記録されたセッションの数が、棒グラフで表示されます。
-
SLI ステータス — サービスレベルインジケータのステータス。異常な SLI (例: 1/2 Unhealthy など) の数、または SLO が設定されていない場合は [SLO 作成] リンクが表示されます。
-
ヘルス — アプリケーションのヘルスステータス: 正常、重大、劣化、または データなし。
-
インサイトの表示 — このリンクを選択すると、アプリモニターの診断サイドパネルが開きます (「診断サイドパネル」を参照)。
-
主な問題 — アプリケーションに影響している主要な問題タイプ。ウェブアプリケーションモニターの場合、値には JS エラー、Perf、または HTTP エラー/障害が含まれます。モバイルアプリモニターの場合、値にはクラッシュ、ANR/アプリハング、Perf、または HTTP エラー/障害が含まれます。
-
トレンド — トレンドの方向と大きさの説明 (例:「JS errors +1% worse sessions」または「Perf +81% worse sessions」)。
-
トレース — トレースが有効になっている場合は [トレースを表示] リンクが、有効でない場合は [トレーシングを有効化] リンクが表示されます。
-
サービス — リンクされたサービスの SLI ヘルスステータス (例:「1/1 Unhealthy」)。またはサービスがリンクされていない場合はダッシュが表示されます。
-
最後の受信イベント — 最後のテレメトリイベントを受信してからの時間 (例:「1 minute ago」または「No events received in the past 4 weeks」)。
テーブルの上にある検索バーを使用して、名前で特定のアプリモニターを検索します。列ヘッダーをクリックするとテーブルをソートすることができ、歯車アイコンを使用して表示する列をカスタマイズできます。[アクション] ドロップダウンと[アプリモニターの追加] ボタンを使用すると、このページから直接アプリモニターを管理できます。
ヘルスステータス
[ヘルス] 列は、選択した時間範囲の合計セッション数と比較して、エラーやページのロードが遅いセッションなど、影響を受けるセッションの割合に基づいて、各アプリケーションの運用状態を一目で評価できます。
各アプリモニターには、次のいずれかのステータスが表示されます。
| ステータス | 影響を受けるセッション | 説明 |
|---|---|---|
| Healthy | Less than 1% | アプリケーションは通常のパラメータ内で動作しています。 |
| Degraded | Between 1% and 5% | アプリケーションでエラー率の上昇やパフォーマンスの低下が発生しており、対応が必要な場合があります。 |
| [非常事態] | More than 5% | アプリケーションに重大なエラーやパフォーマンスの問題が発生しており、早急な調査が必要です。 |
| [データなし] | — | アプリケーションのヘルスステータスを判断するためのデータが不足しています。これは、アプリモニターが最近のテレメトリデータを受信していない場合に発生する可能性があります。 |
診断サイドパネル
テーブルでアプリモニターの[インサイトを表示する] を選択すると、ページの右側に診断サイドパネルが開きます。パネルにはアプリモニター名が表示され、次の 2 つのタブが表示されます。
[ヘルス] タブ — ヘルスステータスの原因となるエラー (例: JS エラー、HTTP エラー (4xx)、HTTP 障害 (5xx)) の内訳を色分けされたインジケータで表示します。[メトリクス] セクションには、インタラクティブな時系列グラフが表示されます。グラフ内のポイントをクリックすると、関連付けられたセッションが表示されます。
ウェブアプリモニターでは、次のグラフが表示されます。
-
ページビュー — 時間経過に伴うページビュー数。
-
ページロード時間 (p75) — ページロード時間の 75 パーセンタイル値 (秒)。
-
JS エラー — 時間経過に伴う JavaScript エラーセッション数。
-
HTTP エラー — 時間経過に伴う HTTP 4xx エラーと 5xx 障害の件数。
モバイルアプリモニター (Android および iOS) では、次のグラフが表示されます。
-
画面のロード時間 — 時間の経過に伴う画面のロード時間。
-
画面ロード — 時間の経過に伴う画面ロードの回数。
-
クラッシュ — 時間の経過に伴うクラッシュセッションの数。
-
アプリハング/ANR — 時間の経過に伴う アプリハング (iOS) または ANR (Android) セッションの数。
-
HTTP エラー — 時間経過に伴う HTTP 4xx エラーと 5xx 障害の件数。
メトリクスの下には、パネルにさらに以下の内容も表示されます。
-
Breached SLOs SLO の詳細へのリンクを含む、違反中の状態の SLO を一覧表示するテーブル。
-
ALARM 状態のアラーム — アプリモニターで現在発生しているアラームを一覧表示するテーブル。
[相関セッション] タブ — 選択したデータポイントと相関するセッションをメトリクスグラフに表示します。
ウェブアプリケーションダッシュボード
ウェブアプリケーションモニターを選択すると、次のタブが表示されます。
-
[パフォーマンス] タブには、ロード時間、リクエストの情報、ウェブバイタル、ページロードの時間的推移など、ページのパフォーマンスに関する情報が表示されます。このタブでは、[ページロード]、[リソース]、[ロケーション] のビューを切り替えて、ページパフォーマンスの詳細を表示することもできます。
[ページロード] ビューにはインタラクティブなウェブバイタルグラフがあり、ページのコアウェブバイタルのさまざまなパーセンタイル値を表示したり、グラフのデータポイントを選択して CloudWatch RUM によって取得された相関セッションを表示したりできます。そこから、診断テーブルのリンクのいずれかを使用して [セッション] タブに移動し、パフォーマンスの問題を引き起こしている具体的な状況を特定できます。タブには、エンドユーザーの満足度を示す「Application Performance Index (Apdex)」スコアの機能もあります。このスコアは、0 (最低の満足度) から 1 (最高の満足度) までの範囲を取ります。このスコアは、アプリケーションのパフォーマンスのみを基に算出されています。Apdex スコアの詳細については、「CloudWatch RUM での Apdex スコアの評価方式」を参照してください。下のテーブルは、ページ ID に基づくページロード時間トップ 100 を示しています。この属性は、テーブルヘッダーの横にあるドロップダウンで変更できます。
同様に、[リソース] ビューには、リソースタイプ別のリソースリクエスト時間とカウントが表示されます。[ロケーション] ビューには、より詳細なビューにドリルダウンし、特定のリージョンのパフォーマンス問題を調査できるインタラクティブマップがあります。
右側の診断パネルには、[ブラウザ] タブと [デバイス] タブがあり、パフォーマンスの問題の原因となっている上位 5 つのブラウザ/デバイスが表示されます。棒グラフをクリックすると、セッションタブに移動し、問題をさらに詳しく調査できます。
-
[JS エラー] タブでは、サマリーコンポーネントに JavaScript のエラー数と発生率が表示され、さらにエラー数が最も多いブラウザとデバイスも確認できます。このタブには、JS エラーが発生したセッション数とエラー率を示すグラフが含まれています。グラフ内の任意のデータポイントをクリックすると、診断パネルで相関セッションを表示できます。下のテーブルには、JS エラーのトップ 100 が一覧表示されています。テーブルのエラー数リンクを使用すると、関連するセッションを表示できる [セッション] タブに移動できます。
-
[Http リクエスト] タブでは、HTTP リクエストボリュームとエラー情報が上部の HTTP リクエスト概要に表示されます。このタブには、HTTP エラー、HTTP 障害、ネットワーク障害を含むグラフが含まれています。グラフ内の任意のデータポイントをクリックすると、診断パネルで相関セッションを表示できます。下のテーブルには、問題のある上位 100 のネットワークルートが一覧表示されています。いずれかの行を展開すると、その URL の上位のエラーメッセージが表示されます。テーブルのエラー数リンクを使用すると、関連するセッションを表示できる [セッション] タブに移動できます。
-
[セッション] タブには、すべてのセッションを時系列の降順で一覧表示する表が表示されます。下部には、ウォーターフォール形式に視覚化されて選択したセッションのすべてのテレメトリが表示されるため、ユーザーとのやり取りを追跡し、パフォーマンスの問題を特定するのに役立ちます。[Errors] 列のエラーリンクをクリックすると、特定のエラーイベントに基づいてウォーターフォールチャートをフィルタリングできます。ウォーターフォール形式内の各行を選択すると、診断パネルを開き、生のイベントを確認することができます。
HTTP リクエストの場合、トレースが有効になっていれば、HTTP および Xray イベントの traceId が表示され、そこからトレースコンソールへのリンクが表示されます。JS エラーや HTTP エラーイベントなどのイベントの場合、診断パネルにはスタックトレースを含む [例外] タブが含まれます。ウォーターフォールで [表示] ボタンを使用すると、この情報にすばやくアクセスできます。
-
[User Journey] (ユーザージャーニー) タブには、ユーザーがアプリケーションをナビゲートするために使用しているパスが表示されます。ユーザーがアプリケーションに入ったポイントと、アプリケーションを終了したページを確認できます。また、それらのユーザーが通過したパスと、同じパスをたどるユーザーの割合なども確認できます。いずれかのノードで一時停止することで、そのページの詳細を取得できます。1 つのパスを選択すると、接続を見やすく強調表示することもできます。このページには、デフォルトで 2 回目の操作までのユーザージャーニーが表示されます。[パスの追加] ボタンをクリックすると、その後の操作を表示できます。
-
[メトリクス] タブには、パフォーマンスウェブバイタル、エラーメトリクス (JavaScript エラー、HTTP エラー/障害)、ボリューム、ユーザーフロー、apdex メトリクスなど、アプリケーションモニターによって発行されたすべてのデフォルトの CloudWatch メトリクスが表示されます。アプリケーションの拡張メトリクスを作成した場合、タブにはこれらのメトリクスのサブセットも含まれ、拡張メトリクスセクションに表示されます。このサブセットには、PageViewCount、PerformanceNavigationDuration、Http4xxCount、Http5xxCount、JsErrorCount タイプのメトリクスが含まれます。ダッシュボードには、メトリクスタイプごとに 3 つのメトリクスバリエーションが表示されます。これらは CloudWatch メトリクスであるため、[ダッシュボードに追加] オプションを使用してこのタブを独自のダッシュボードにエクスポートし、更新してさらにメトリクスを含めるようにすることもできます。
(オプション) 最初の 5 つのタブのいずれにおいても、上部のフィルターバーを使用して、ユーザー ID、セッション ID、およびその他のイベント固有のフィルターに基づいてデータをフィルタリングできます。左側のクイックフィルターパネルを使用して、ページ ID、ページグループ、デバイス、ブラウザ、場所などの属性のサブセットでフィルタリングすることもできます。これらのフィルターは、[フィルターの保存] オプションを使用して保存でき、フィルターバーの横にある [フィルターを選択] ドロップダウンを使用して再利用できます。
モバイルアプリケーションダッシュボード
モバイルアプリケーションモニターを選択すると、次のタブが表示されます。
-
[パフォーマンス] タブには、画面のロード時間、アプリケーションの起動時間 (コールドとウォーム)、パフォーマンスメトリクス、Apdex スコアの時系列など、モバイルアプリケーションのパフォーマンスに関するインサイトが表示されます。詳細ビューには、画面名、OS バージョン、アプリケーションバージョン、デバイス、および国で分類したパフォーマンスが表示されます。グラフ内の画面のロード時間、アプリケーションの起動時間、または位置データポイントをクリックすると、右側の診断パネルが開き、最新の相関セッションで構成されるデータポイントに関連する詳細なインサイトと、トラブルシューティング用の [セッション] タブへのリンクが表示されます。
このタブでは、[画面ロード]、[アプリケーション起動]、[場所] のビューを切り替えて、アプリケーションパフォーマンスの詳細を表示することもできます。
タブには、エンドユーザーの満足度を示す Apdex (Application Performance Index) スコアの機能もあります。このスコアは、0 (最低の満足度) から 1 (最高の満足度) までの範囲を取ります。このスコアは、アプリケーションのパフォーマンスのみを基に算出されています。Apdex スコアの詳細については、「CloudWatch RUM での Apdex スコアの評価方式」を参照してください。
-
[エラー] タブでは、ネットワークエラー、クラッシュ、ANR (Android)/アプリハング (iOS) の 3 つのカテゴリにアプリケーションの問題を分類します。[ネットワークエラー] タブには、ネットワークレイテンシー、クライアントエラー (4xx ステータスコード)、サーバーエラー (5xx ステータスコード) を示す折れ線グラフがあります。グラフ内のこれらの線のデータポイントをクリックすると、診断パネルが開きます。下部の表に、最もよくある 100 のネットワークルートが一覧表示されます。ラジオボタンをクリックすると、選択したネットワークルートで折れ線グラフがフィルタリングされます。
同様に、[クラッシュ] タブと [ANR/アプリハング] タブには、各エラーの数の折れ線が表示されますが、これらは扱いやすくありません。下部の表に、最もよくあるクラッシュメッセージまたは ANR/アプリハングのスタックトレースが表示されます。ラジオボタンをクリックするとグラフがフィルタリングされ、エラーメッセージをクリックするとスタックトレース全体が表示されます。
-
[セッション] タブには、すべてのセッションを時系列の降順で一覧表示する表が表示されます。下部には、ウォーターフォール形式に視覚化されて選択したセッションのすべてのテレメトリが表示されるため、ユーザーとのやり取りを追跡し、パフォーマンスの問題を特定するのに役立ちます。ウォーターフォール形式内の各行を選択して診断パネルを開くことができます。HTTP リクエストの場合、トレースコンソールにリンクする [traceId] が表示されます。
2xx 以外のステータスコードを持つ HTTP リクエスト、クラッシュ、または ANR (Android)/アプリハング (iOS) の場合、診断パネルにはスタックトレースを含む [例外] タブが含まれます。ウォーターフォールで [表示] ボタンを使用すると、この情報にすばやくアクセスできます。
-
[メトリクス] タブには、パフォーマンスメトリクス (画面のロード時間、アプリケーションのコールド起動時間)、エラーメトリクス (クラッシュ、ANR/アプリハング、HTTP エラー/障害)、ボリュームおよび apdex メトリクスなど、アプリケーションモニターによって発行されたすべてのデフォルトの CloudWatch メトリクスが表示されます。アプリケーションの拡張メトリクスを作成した場合、タブにはこれらのメトリクスのサブセットも含まれ、拡張メトリクスセクションに表示されます。このサブセットには、ScreenLoadTime、ScreenLoadCount、CrashCount、Http4xxCount, Http5xxCount、ANRCount/AppHangCount、ColdLaunchTime、および WarmLaunchTime タイプのメトリクスが含まれます。ダッシュボードには、メトリクスタイプごとに 3 つのメトリクスバリエーションが表示されます。これらは CloudWatch メトリクスであるため、[ダッシュボードに追加] オプションを使用してこのタブを独自のダッシュボードにエクスポートし、更新してさらにメトリクスを含めるようにすることもできます。
-
[設定] タブでは、アプリケーションモニターの一般的な設定と設定詳細にアクセスできます。また、[コードスニペット] タブにアクセスすることもできます。ここには、手動とゼロコードの両方の計測オプションを含む、ADOT SDK を使用してモバイルアプリケーションを計測する手順が含まれています。
CloudWatch RUM での Apdex スコアの評価方式
Apdex (Application Performance Index) は、レポートやベンチマークのための方法、およびアプリケーションの応答時間を評価する方法を定義した、オープンな規格です。Apdex スコアは、時間の経過に伴いアプリケーションのパフォーマンスが受ける影響を特定し、理解するために役立ちます。
Apdex スコアは、エンドユーザーの満足度を示します。このスコアは、0 (最低の満足度) から 1 (最高の満足度) までの範囲を取ります。このスコアは、アプリケーションのパフォーマンスのみを基に算出されています。ユーザーに、アプリケーションの評価が求められることはありません。
個々の Apdex スコアには、3 つのしきい値のいずれかが対応しています。Apdex のしきい値と、実際のアプリケーションの応答時間に基づいて、パフォーマンスが以下の 3 種類に定義されます。
-
満足 – 実際のアプリケーションの応答時間が、Apdex のしきい値以下。CloudWatch RUM の場合、このしきい値は 2,000 ミリ秒以下です。
-
許容範囲 – 実際のアプリケーションの応答時間は、Apdex のしきい値より長いものの、そのしきい値の 4 倍以下の範囲に収まる。CloudWatch RUM の場合、この範囲は 2000~8000 ms です。
-
不満 – 実際のアプリケーションの応答時間が、Apdex のしきい値の 4 倍を超過。CloudWatch RUM の場合、8000 ミリ秒を超えた範囲がこれに相当します。
最終的な 0~1 の Apdex スコアは、次の式を使用して計算されます。
(positive scores + tolerable scores/2)/total scores * 100