Rumable ブラウザー RUM¶
Rumable は Beacon のブラウザー実ユーザー監視(RUM)をゼロコードで導入するツールです。Nginx または IIS の HTML レスポンスに同梱の Web SDK を注入し、アプリケーションのソースコードを変更せずに導入できます。ブラウザーが RUM 受信先に直接データを送信し、CLI は導入後に終了します。
Rumable は独自の rumable コマンドと TOML 設定を使用します。インストールパッケージは Rumable のリリースページから取得します。
前提条件¶
- Linux / Nginx:Bash、curl、sudo、および
http_sub_moduleが有効な Nginx。 - Windows / IIS:管理者権限、サポートされる PowerShell、URL Rewrite、静的コンテンツ機能、起動済みの専用アプリケーションプール。ワンコマンド導入には 64 ビット OS が必要です。
- Guanceで Web アプリケーションを作成して
applicationIdを取得し、Web アプリケーション接続に従って受信方式を選びます。パブリック OpenWay ではsiteとブラウザー用clientTokenを指定します。DataKit への直接送信ではdatakitOriginと RUM コレクターを使用します。方式はどちらか一方を選択してください。
受信先は訪問者のブラウザーから到達できる必要があります。スキーム、ホスト、任意のポートのみを入力し、API パスは付けません。HTTPS サイトでは HTTPS の送信先を使用してください。サーバーに Go や Node.js は不要です。対応システムは互換性ガイドを参照してください。
サイトの設定¶
- 英語の Rumable 設定ページを開きます。
- アプリケーション ID、送信方式、受信先、必要なブラウザー Client Token を入力します。Linux / Nginx または Windows / IIS を選び、サンプリングとプライバシー設定を確認します。既定では同梱 SDK をサイトと同一オリジンから配信します。Session Replay は任意で有効にします。
- 対応するリリースマニフェストが読み込まれたことを確認し、TOML を保存して生成されたインストールコマンドをコピーします。Base64 は暗号化ではありません。管理 API Key ではなくブラウザー Client Token を使用してください。
- 対象の Web サーバーで必要な管理者権限を使ってコマンドを実行します。インストーラーは固定バージョンの GitHub Release パッケージを取得して SHA256 を検証し、サイトを検出します。候補が 1 つなら自動選択され、複数なら対話端末が必要です。
設定はサーバー構成を変更し、復旧情報を保存します。Nginx の再読み込みが行われる場合があります。IIS は専用プールをリサイクルするためメモリ内セッションが失われる可能性があり、共有プールは拒否されます。対象サイトを確認し、出力されたサイト ID、実行ファイルのパス、状態ディレクトリ、バックアップ先を記録します。状態はサイトのルートディレクトリ外に保存してください。
接続の確認¶
REPLACE_SITE_ID を出力されたサイト ID に置き換え、実際の実行ファイルのパスと状態ディレクトリを使用します。
rumEnabled=true、空の drift、pendingTransaction=false、probe の成功を確認します。その後:
- ブラウザーでサイトを開き、ページ閲覧、クリック、API リクエストを発生させます。
- Console で SDK 初期化エラーを確認し、Network で
/v1/write/rumの送信成功を確認します。 - Guanceの「RUM > アプリケーション一覧」で対象 Web アプリケーションを開き、View、Resource、Action のデータを確認します。
HTTP probe の成功は注入とスクリプト配信の確認です。ブラウザーでの実行とバックエンドへの保存は別途確認してください。
更新と復旧¶
元のサイト ID、対象設定、状態ディレクトリ、旧資産を保持します。CLI の置き換えだけでは導入済み SDK は更新されません。新しい CLI で同じサイトに setup または enable を再実行し、新しいブラウザーセッションで再検証します。手動での対象指定、無効化、ロールバック、アンインストールはユーザーガイドを参照してください。
サーバーテレメトリとの併用¶
ブラウザー送信は TOML の RUM 設定を使用します。共通設定の OTEL_EXPORTER_OTLP_* はサーバー言語エージェント用で、ブラウザー受信先を設定しません。ブラウザー RUM は DataKit OpenTelemetry コレクターを経由しません。
任意のサーバー側 OpenTelemetry 連携は別途設定が必要です。Rumable OTel ガイドを参照してください。ブラウザーとサーバーのトレースを関連付ける場合は APM と RUM の関連付けを参照してください。