リアルユーザーモニタリング (RUM) は、Sentry SDK を介したアプリケーションデータのレポートをサポートしています。すでに Sentry をエラー追跡やパフォーマンス監視に使用している場合、データを Alibaba Cloud に書き込み、RUM コンソールで分析できます。このトピックでは、Sentry SDK 統合ソリューションのシナリオ、メリット、およびアーキテクチャについて説明します。
シナリオ
Sentry SDK 統合ソリューションは、以下のシナリオに適しています。
シナリオ | 説明 |
新規ユーザーの統合 | Sentry SDK を使用してアプリケーションデータを収集し、Alibaba Cloud RUM のデータ分析機能を活用します。 |
セルフホスト Sentry からの移行 | セルフホストの Sentry サービスから Alibaba Cloud にデータストレージを移行し、O&M コストを削減します。 |
デュアルプラットフォームでの観測 | Sentry コンソールと Alibaba Cloud RUM コンソールの両方を使用してデータ分析を行います。 |
メリット
O&M コストの削減
セルフホストの Sentry サービスでは、Kafka、ClickHouse、Snuba などのコンポーネントを含む 70 以上のコンテナサービスを維持する必要があります。このソリューションでは、Alibaba Cloud がコアデータストレージとメッセージ処理を管理するため、お客様の O&M ワークロードが大幅に削減されます。
高可用性
データストレージパスは Alibaba Cloud の Simple Log Service (SLS) 上でホストされており、高可用性かつ高信頼性のサービスを提供します。
スムーズな移行
このソリューションは、デュアルライトモードでの Nginx トラフィックミラーリングをサポートしています。これにより、既存の Sentry サービスを中断することなく、データを段階的に Alibaba Cloud に同期できます。
統一されたデュアルプラットフォームでの観測
開発チームは、引き続き Sentry コンソールを使用してエラーのトラブルシューティングを行えます。
O&M チームは、Alibaba Cloud RUM コンソールで統一された監視を行い、アラートを設定できます。
全体アーキテクチャ
このソリューションは、SLS を統一されたデータバックエンドとして使用し、Sentry コンソールと Alibaba Cloud RUM コンソールの両方からのデータクエリをサポートします。
データ取り込みパス
書き込みモード | 説明 | シナリオ |
SDK からの直接書き込み | Sentry SDK の DSN 設定を変更して、データを直接 SLS にレポートします。 | 新規ユーザーの統合、および移行後の既存ユーザー。 |
Nginx デュアルライト | Nginx トラフィックミラーリングを使用して、元の Sentry サービスと SLS の両方にデータを同時に送信します。 | データ整合性検証が必要な移行のトランジション期間中。 |
データ読み取りパス
読み取り方法 | 説明 |
RUM コンソール | データは取り込み中に自動的に標準 RUM フォーマットに変換され、コンソールで直接表示できます。 |
Sentry コンソール | カスタムの Sentry Web および Snuba API コンテナをデプロイして、SLS からデータを読み取ります。 |
制限事項
制限 | 説明 |
データフォーマット | Sentry Envelope プロトコルフォーマットのみがサポートされます。レガシーな Store プロトコルはサポートされていません。 |
Sentry SDK バージョン | Envelope プロトコルをサポートする SDK バージョンを使用してください。具体的な要件については、以下の表をご参照ください。 |
Sentry コンソールからの読み取り | カスタムコンテナのデプロイが必要です。ネイティブの Sentry サービスは、SLS から直接データを読み取ることはできません。 |
データ保持 | デフォルトのデータ保持期間は 30 日です。 |
SDK バージョン要件
このソリューションは、Sentry Envelope プロトコルフォーマットでのデータレポートのみをサポートします。各プラットフォームの最小 SDK バージョン要件は次のとおりです。
SDK | 最小バージョン | 説明 |
@sentry/vue | 7.0.0 | JavaScript SDK v7 以降は Envelope フォーマットのみをサポートします。 |
@sentry/browser | 7.0.0 | JavaScript SDK v7 以降は Envelope フォーマットのみをサポートします。 |
@sentry/react | 7.0.0 | JavaScript SDK v7 以降は Envelope フォーマットのみをサポートします。 |
@sentry/node | 7.0.0 | JavaScript SDK v7 以降は Envelope フォーマットのみをサポートします。 |
@sentry/electron | 4.0.0 | JavaScript SDK v7 に依存します。 |
sentry-java (Android) | 3.0.0 | v3.0.0 以降は Envelope フォーマットをサポートします。 |
sentry-cocoa (iOS/macOS) | 6.0.0 | v6.0.0 以降は Envelope フォーマットをサポートします。 |
Note 現在の SDK バージョンが必要なバージョンより古い場合は、統合前に SDK をアップグレードしてください。
次のステップ
ソリューションを理解したら、次の手順に従って統合を進めてください。
Sentry SDK のデータ取り込みを設定: Sentry SDK のデータを Alibaba Cloud にレポートします。
(オプション) Sentry コンソールが RUM データを読み取るように設定: カスタムコンテナをデプロイして、Sentry インターフェイスでデータを表示します。