近年、ビジネス、ショッピング、コミュニケーションの場がネイティブモバイルアプリにますますシフトしています。2020年には、新しいアプリのインストール件数が世界全体で2,180億件、米国だけでも134億件に達しました。問題は、ユーザートラフィックとビジネストラフィックの大半をiOSアプリとAndroidアプリが占める中、エンジニアリングチームや監視ツールがモバイルアプリとバックエンドとで分断され、アプリやバックエンドコンポーネントへの変更が互いに、そしてユーザーエクスペリエンスにどのように影響するかを把握するのが難しくなっていることです。
この問題を解決するのが、今回一般提供が開始されたSplunk RUM for Mobileです。このモバイル対応Splunk RUMは、カスタマーエクスペリエンスの監視対象を従来のWebブラウザからネイティブモバイルアプリまで拡大します。これにより、モバイルアプリ開発者やSREは、iOSアプリやAndroidアプリで顧客に影響する問題を特定し、分析できます。Splunk Synthetic Monitoring、APM、Infrastructure Monitoring、Log Observer、On-Callとともに、Splunk RUMは、カスタマーエクスペリエンスの向上と環境全体の問題の迅速な解決を支援します。
モバイルアプリのカスタマーエクスペリエンスを向上すれば、デジタルビジネスの成果を促進できます。ネイティブモバイルアプリの開発やトラブルシューティングを担当するチームが監視ツールに望む機能は3つあります。
Splunk RUMのエンドツーエンドのトレーシング、高精度なセッションキャプチャ、OpenTelemetry標準への対応、リアルタイムのデータストリーミングを拡張したSplunk Mobile RUMなら、iOSアプリやAndroidアプリのエンドユーザーエクスペリエンスから、バックエンドサービス、サードパーティの依存サービスまで、パフォーマンスを包括的に可視化することで、顧客に影響する問題の原因を特定し、モバイルアプリのユーザーエクスペリエンスを向上できます。
測定を開始するには、コードを4行追加するだけです。Splunkは、iOS用とAndroid用のインストルメンテーションライブラリをオープンソースとして公開しています。この強力なライブラリを使用することで、インストルメンテーションを数分で開始できます。また、任意の属性、イベント、メタデータを追加できるため、カスタマイズも容易です。一般的な2つのワークフローを例にMobile RUMの使い方を簡単にご紹介します。
ワークフロー1:本番環境の問題をすばやく特定する
自社とサードパーティのリクエストやライブラリの複雑な依存関係を可視化し、iOSアプリやAndroidアプリのエンドユーザーエクスペリエンスに関する完全なコンテキストを追跡することで、本番環境の問題をすばやく特定できます。
顧客に影響する問題をトラブルシューティングするときは、別の監視ツールに移動しなくても、表示するトラフィックをブラウザからモバイルに切り替えるだけでモバイルトラフィックを調査できます。
概要ページには、アプリの健全性の概要が表示されます。左側では、アプリの起動回数、エンドユーザーの主な属性、クラッシュやエラーの合計数などのKPIを確認できます。中央の各タイルでは、リクエスト/応答でのエンドポイントのエラーと遅延に関するメトリクス、URLごとのアプリのエラーとクラッシュ、アプリのライフサイクルイベントとメトリクス(デバイスやOSごとのアプリの起動(コールドスタート)時間など)を確認できます。
[Endpoint Errors] (エンドポイントエラー)をクリックすると、SplunkのTag Spotlight機能で、エラーをさまざまなディメンションで確認できます(OS、OSのバージョン、アプリ、アプリのバージョン、デバイス、URLなど)。これにより、環境全体で問題を特定し、相関付けることができます。
[Example Sessions] (サンプルセッション)をクリックすると、特定の時間範囲に実行されたユーザーセッションが表示されます。ここで、エラーや遅延が発生しているセッションに共通する特性を調査できます。この図では、o11y_alert_details_screenとo11y_dashboard_list_screenの2つの画面でエラーが多く発生していることがわかります。
いずれかのセッションをクリックすると、セッションの詳細ページにそのイベント(スパン)が表示されます。ここでは、遅延の内訳を示すウォーターフォール図と、エラーから収集されたモバイル固有のディメンションを含むメタデータも確認できます。
エラー自体をクリックすると、セッションの詳細ページが表示されます。このアプリはSplunk APMでバックエンド処理も測定しているため、モバイルアプリから開始されたAPIコール/リクエストとアプリのバックエンドトレースを関連付けて、スタック全体を可視化できます。ここでは、セッションチャート、ユーザー特性の詳細、モバイル固有のディメンションとタグ、セッション自体のいくつかの統計(アプリの起動、エンドポイントエラー、アプリエラー)を確認できます。バックエンドの問題をトラブルシューティングしたいときは、ウォーターフォール図の[APM]リンクをクリックします。
ワークフロー2:問題の影響範囲を特定する
新しくリリースしたアプリの処理が遅いという報告を受けたときは、Splunk Mobile RUMを使って、すべてのユーザーセッションでのアプリの起動時間の分布をすばやく確認できます。アプリのバージョン、OS、OSのバージョン、デバイス別の詳細も表示されるので、アプリ起動の問題が起きているデバイスとOS (Android 7.1を実行するNokia1など)をすばやく切り分け、対応の優先順位を判断できます。
概要ページには、アプリの起動時間(コールドスタートとホットスタート)が表示されます。Tag Spotlightでは、この問題の影響を受けるデバイス、アプリのバージョン、OSを確認できます。
Splunk Mobile RUMでは、Webアプリケーションやモバイルアプリでのフロントエンドのパフォーマンスとバックエンドサービスの関係を可視化することで、各ユーザーセッションとそのバックエンド処理を関連付けることができます。アプリのパフォーマンスの概要から、スタックトレース、個々のスパン、イベント、操作まで、セッションが高い精度でキャプチャされるため、本番環境のどこで問題が発生しても特定できます。問題に対応するSREやサービスオーナーは、Splunk RUMのインスタントトラブルシューティング機能を使って、遅延やエラーが顧客に与える影響を効果的に分析し、クライアント属性を相関付けて、エラーやパフォーマンスの問題の影響範囲を把握できます。さらに、クラッシュやエラーの発生元以外のパフォーマンスを包括的に監視することで、ユーザー目線でパフォーマンスを測定し、問題のあるOSのバージョン、アプリのバージョン、画面を特定できます。
Splunk Mobile RUMには、Splunkのオブザーバビリティプラットフォームにはない重要機能がいくつかあります。まずは、一般的なクライアント属性、アプリのライフサイクルイベント、画面名、ネットワークリクエストとエラー、アプリエラー、クラッシュを自動収集するための、OpenTelemetryベースのiOS/Androidライブラリにより、導入後すぐに面倒な設定なしでモバイルアプリの状況を把握できます。また、高精度なセッションキャプチャとエンドツーエンドのトレーシングにより、ユーザーセッションを包括的に可視化して、根本原因分析をすばやく実行できます。
Splunk Mobile RUMでは、クライアント側のクラッシュやモバイルパフォーマンスから、バックエンドサービスでのエラーやデータベース呼び出し遅延まで、スタック全体のパフォーマンスをすばやく確認できます。Splunkのオブザーバビリティプラットフォームと組み合わせれば、円滑な連携で環境全体のユーザーエクスペリエンスを分析、向上できます。
無料トライアル版をお試しになりたい場合は、RUM製品ページからご登録ください。詳しい情報については、こちらのドキュメントをご覧ください。
このブログはこちらの英語ブログの翻訳です。
Splunkプラットフォームは、データを行動へとつなげる際に立ちはだかる障壁を取り除いて、オブザーバビリティチーム、IT運用チーム、セキュリティチームの能力を引き出し、組織のセキュリティ、レジリエンス(回復力)、イノベーションを強化します。
Splunkは、2003年に設立され、世界の21の地域で事業を展開し、7,500人以上の従業員が働くグローバル企業です。取得した特許数は1,020を超え、あらゆる環境間でデータを共有できるオープンで拡張性の高いプラットフォームを提供しています。Splunkプラットフォームを使用すれば、組織内のすべてのサービス間通信やビジネスプロセスをエンドツーエンドで可視化し、コンテキストに基づいて状況を把握できます。Splunkなら、強力なデータ基盤の構築が可能です。