OCI APMブラウザ・エージェントを使用したOracle Fusion SaaS Cloud AppsのReal User Monitoring (2026/03/09)
OCI APMブラウザ・エージェントを使用したOracle Fusion SaaS Cloud AppsのReal User Monitoring (2026/03/09)
投稿者:Royce Fu | Master Principal Cloud Architect
Robert Brouwer | Software Engineer
Shaickmohamed Sirajudeen | Director, Software Development
Heiko Giesselmann | Sr. Director of Software Development
はじめに
Oracle Fusion Applicationsは、人材管理(HCM)、エンタープライズ・リソース・プランニング(ERP)、サプライチェーン管理(SCM)、カスタマー・エクスペリエンス(CX)といった重要なビジネス機能をサポートする、最も包括的なエンタープライズSaaSソリューションの一つです。組織がミッションクリティカルな業務にFusion Cloud Appsを活用するケースが増えるにつれ、最適なパフォーマンスの確保、ボトルネックの特定、そしてユーザー満足度の維持には、実際のユーザー・エクスペリエンスを理解することが不可欠となっています。
Oracle Cloud Infrastructure (OCI) アプリケーション・パフォーマンス・モニタリング (APM) リアル・ユーザー・モニタリング (RUM) ブラウザ・エージェントは、ユーザーがFusion Cloudアプリケーションをどのように操作しているかを詳細に可視化する強力なソリューションを提供します。APMブラウザ・エージェントを導入することで、組織はブラウザの観点から、実際のユーザー・セッションの監視、ページ・パフォーマンスの追跡、ユーザー行動パターンの分析、パフォーマンス指標とビジネス成果の相関分析などを行うことができます。
このブログ投稿では、Oracle Fusion SaaS Cloud Apps 用の OCI APM RUM ブラウザ エージェントを実装するための包括的なガイドを提供し、ADF (アプリケーション開発フレームワーク) と Redwood ページの実装の両方をカバーし、データ駆動型のパフォーマンス最適化を可能にする主要なユース ケースについて説明します。
リファレンスアーキテクチャ: Oracle Fusion SaaS Cloud Apps 向け OCI APM リアルユーザーモニタリング
OCI APMリアルユーザーモニタリングは、ブラウザから直接ユーザーインタラクションデータを取得し、実際のユーザーエクスペリエンスに関する包括的なインサイトを提供します。APMブラウザエージェントは以下の情報を記録します。
- ページ読み込みパフォーマンス: 完全なページ読み込み時間、リソースの読み込み、レンダリングの指標
- ユーザーインタラクション: クリック、ナビゲーションパターン、ユーザーセッションフロー
- AJAX 呼び出し: API 呼び出しのパフォーマンスとエラー率
- JavaScript エラー: ユーザーエクスペリエンスに影響を与えるクライアント側のエラー
- 地理データ: ユーザーの位置に基づくパフォーマンス分析
- デバイス情報: ブラウザ、デバイスの種類、接続特性
- アプリケーションパフォーマンスインデックス(Apdex):標準化されたパフォーマンススコアリング
APMブラウザエージェントは、ブラウザスパンとRUMメトリクスをOCI APMに送信します。これらは Trace Explorer と Metrics Explorerで可視化され、Fusion Cloudアプリケーション全体のユーザーエクスペリエンスを包括的に分析できます。このテレメトリにより、詳細な分析だけでなく、すぐに使用できる RUMダッシュボードを活用し 、 カスタムメトリクスを定義すること で、Fusion環境のパフォーマンス問題をプロアクティブに検出し、アラートを通知できます。

前提条件
Fusion Cloud Apps に APM RUM を実装する前に、次の点を確認してください。
実装: APM ブラウザエージェントの導入
Oracle Fusion Applications は 2 つの異なるページ アーキテクチャで構成されており、それぞれに特定の実装アプローチが必要です。
- ADF ページ
/faces/: URLで識別されるレガシー ページ - レッドウッドページ:
/redwood/URLで識別される最新のページ
完全なカバレッジを実現するには、両方のページ タイプに対して APM ブラウザ エージェントを実装する必要があります。
パート1: Fusion ADFページへのRUMエージェントの追加
ADF ページでは、Fusion インスタンス内のすべての ADF ページに APM ブラウザ エージェントを含めるようにカスタマイズできるグローバル ページ テンプレートが使用されます。
ステップ1: グローバルページテンプレートエディターにアクセスする
- Fusion Cloud アプリケーションにログインします
- 設定 > アクション > グローバルページテンプレートの編集に移動します
- サンドボックスを作成またはアクティブ化します。
ステップ2: テンプレートを編集する
- メニューから 「グローバル ページ テンプレートの編集」をクリックします (サンドボックスに入ったので)
- ページが デザイン モード になっていることを確認します
- そのバーから構造を選択します
- 下部の 「+」記号をクリックして 、新しいHTMLマークアップコンポーネントを追加します。
- コンポーネントを選択し 、 「追加」をクリックして HTMLマークアップを追加し、 ポップアップ を閉じます。
- コンテンツの追加 タブ に切り替えて 、 HTMLマークアップ コンポーネント の 歯車設定ボタンをクリックします。
- 設定アイコンをクリックしてExpressionを開きます
- 式ビルダーをクリック
ステップ3: APMブラウザエージェントスクリプトを追加する
式ビルダーで、次の HTML マークアップを追加します。
<!-- APM RUM Library -->
<!-- Note: static.oracle.com requires maintenance to update the version -->
<!-- Alternative: Use region-specific script if needed -->構成に関する注意:
YOUR_PUBLIC_DATA_KEYAPMドメインの公開データキーに置き換えますYOUR_DOMAIN_ID.apm-agt.us-phoenix-1.oci.oraclecloud.com実際のデータアップロードエンドポイントに置き換えます- エンドポイント URL のリージョンを APM ドメインのリージョンに合わせて調整します。
- 値 は APMでADFページを識別するため
webApplicationに設定されます'ADF-Page'
ユーザーIDハッシュ:
- デフォルトでは、APMはプライバシーを保護するためにユーザーIDをハッシュします
- プレーンテキストのユーザー ID を追跡するには (デバッグ用)、次のコメントを解除します。
apmRumConfig.custEP.trackPlainUserId = true; - 警告: トラブルシューティングとプライバシー規制の遵守に必要な場合にのみ、プレーンテキストのユーザーIDを有効にしてください。
個人を特定できる情報(PII) :
- 個人を特定できる情報の非表示に関する APM ドキュメントを確認する
- アプリケーションに機密性の高いユーザーデータが含まれている場合は、PII マスキングを構成する
- GDPR、CCPA、その他のプライバシー規制への準拠を確保する
ステップ4: 変更を公開する
- 「適用」 または 「保存」をクリックして ポップアップを閉じます
- 公開をクリック
- 確認ダイアログで 「はい」をクリックします
APM ブラウザ エージェントが Fusion インスタンス内のすべての ADF ページにデプロイされました。
パート2:Fusion Redwood PagesへのRUMエージェントの追加
Redwood ページでは、すべての Redwood ページに適用される PageModule テンプレートを変更するために Visual Builder Studio を使用する別のアプローチが必要です。
ステップ1: Visual Builder Studioにアクセスする
- Fusionアプリケーション内の任意のRedwoodページに移動する
- 右上隅のプロフィールアイコンをクリックします
- Visual Builder Studioでページの編集を選択
注:このオプションに初めてアクセスすると、Fusion は Oracle Application または App Extension プロジェクト用の Git リポジトリを自動的に作成します。これは 1 回限りのアクティビティです。
ステップ2: PageModuleに移動する
- プロジェクト(Gitリポジトリ)が開き、ページテンプレートが表示されます。
- 「詳細設定」タブをクリックします
- 統合モジュールセクションを見つけます (これは、すべての Redwood ページに変更を適用するための関連領域です)。
- Javascript エリア を見つける
デフォルトの PageModule テンプレートは通常次のようになります。
define([], () => { 'use strict'; class PageModule { } return PageModule; });
ステップ3: PageModuleをAPM構成に置き換える
デフォルトの PageModule コードを次のコードに置き換えます。
define([], () => { 'use strict'; function initializeAPMRumConf() { // eslint-disable-next-line no-restricted-syntax const apmRumConfig = document.apmrum || window.apmrum || (document.apmrum = {}); apmRumConfig.custEP = apmRumConfig.custEP || {}; /* CUSTOMER SPECIFIC VALUES */ apmRumConfig.custEP.OracleAPMPublicDataKey = 'YOUR_PUBLIC_DATA_KEY'; apmRumConfig.custEP.ociDataUploadEndpoint = 'https://YOUR_DOMAIN_ID.apm-agt.us-phoenix-1.oci.oraclecloud.com'; apmRumConfig.custEP.serviceName = 'Fusion'; apmRumConfig.custEP.webApplication = 'RedwoodPage'; apmRumConfig.traceSupportingEndpoints = apmRumConfig.traceSupportingEndpoints || [ { headers: [], hostPattern: '.*' } ]; // Uncomment the line below to get username values in plain text (by default the value will be hashed) apmRumConfig.custEP.trackPlainUserId = true; /* END OF CUSTOMER SPECIFIC SETTINGS */ apmRumConfig.confInst = (apmRumConfig.confInst || new Set()).add('custEP'); } function initializeAPMRumLib() { const apmRumScript = document.createElement("script"); apmRumScript.crossOrigin = 'anonymous'; apmRumScript.type = "text/javascript"; /* Use one location for apmrum library */ /* static.oracle.com requires maintenance (to update the version) */ /* The region-specific script might need update to content-security-policy header */ apmRumScript.src = "https://static.oracle.com/cdn/apm/oci/1.1/1.1-1xx/1.1-139/apmrum.fus.base.combi.min.js"; /* Alternative: Use region-specific script (recommended to match APM domain region) */ /* Example for eu-paris-1 region: */ /* apmRumScript.src = "https://ingest-rum.apm-agt.eu-paris-1.oci.oraclecloud.com/static/jslib/apmrum.fus.base.combi.min.js"; */ document.head.appendChild(apmRumScript); } class PageModule { constructor() { initializeAPMRumLib(); initializeAPMRumConf(); } } return PageModule; });
構成に関する注意:
YOUR_PUBLIC_DATA_KEYAPMドメインの公開データキーに置き換えますYOUR_DOMAIN_ID.apm-agt.us-phoenix-1.oci.oraclecloud.com実際のデータアップロードエンドポイントに置き換えます- この
webApplication値は'RedwoodPage'APMでRedwoodページを識別するために設定されます - APMドメインのリージョンと一致する場合は、リージョン固有のスクリプトURLの使用を検討してください。
ステップ4: 保存してデプロイする
- Visual Builder Studioで変更を保存します。
- 「公開」をクリックして 、変更をすべてのRedwoodページに展開します。
パート3: APMドメインエンリッチメントルールを構成する
Fusion を完全にカバーするには、Oracle 提供の Fusion (FUS) スパン ルールを有効にして、Fusion 固有の属性とディメンションをトレースに追加します。
融合強化ルールを有効にする
- OCI APMドメインに移動します
- 管理 > スパンルールに移動します
- スパンエンリッチメントの作成をクリック
- Oracle提供の スパンルールを選択
- 「FUS」 ルールを 見つけて追加する
このエンリッチメント ルールは、次の Fusion 固有の属性を作成します。
- RwApplication : Redwood アプリケーションを識別します
- RwPath : Redwoodページパスをキャプチャします
- RwContainer : Redwoodコンテナを識別します
- FusFamily : アクティビティが発生したFusion領域を説明します(例:HCM、ERP、SCM、CX)
これらの属性により、APM トレース エクスプローラーとメトリック エクスプローラーで強力なフィルタリング機能と分析機能が有効になります。
パート4: アプリケーションパフォーマンス監視ブラウザエージェントの展開を確認する
監視データを生成し、セットアップを確認するには、構成しているアプリケーションを使用します。
- データの生成: 監視を設定するアプリケーションを使用して、初期監視データを生成します。
- APMで表示: APM Trace Explorerページにアクセスして、読み込まれたデータを確認してください。例として、以下のAPMのスクリーンショットをご覧ください。
- ユーザー名をプレーンテキストで追跡: ユーザー名ディメンションはデフォルトで収集され、ハッシュ化されます。ユーザー名をプレーンテキストで取得したい場合は、サンプルコードの該当行のコメントを解除してください。
apmRumConfig.custEP.trackPlainUserId = true;
window.apmrum.ociDataUploadEndpoint必要に応じて、次の操作を実行して、APM データアップロード URL ( ) にアクセスできることを確認します。
APMリアルユーザーモニタリングダッシュボードを活用して、ユーザーの行動とアプリケーションのパフォーマンスを監視します。
OCI アプリケーション パフォーマンス モニタリングは、 カスタム クエリを必要とせずに Fusion Cloud Apps のパフォーマンスを即座に高レベルで可視化する、すぐに使用可能なリアル ユーザー モニタリング (RUM) ダッシュボードを提供します。
RUM ダッシュボードにアクセスするには:
- Oracle Cloud コンソールで「Observability & Management」に移動します 。
- 「アプリケーション パフォーマンス モニタリング」に移動し 、 「リアル ユーザー モニタリング」をクリックします。
- 上部のグローバル フィルターを使用して、コンパートメント、APM ドメイン、Web アプリケーション、および希望する時間枠を選択します。
RUM ダッシュボードは、いくつかの主要なディメンションにわたる重要なパフォーマンス メトリックを自動的に視覚化します。
- Apdex スコア: 単一の集計パフォーマンス スコアでユーザーの全体的な満足度を監視します。
- ページ パフォーマンス: Redwood および ADF ページがユーザーに表示されるまでの実際の正確な時間を追跡します。
- ページ ビューとセッション: 時間の経過に伴うユーザー エンゲージメントの傾向とアクティブ セッションを表示して、トラフィックのピーク期間を把握します。
- 地理的内訳: ユーザーがどの地域や国から接続しているかを視覚的に分析し、場所固有のパフォーマンス遅延を特定します。
- クライアントとブラウザの内訳: ユーザーが Fusion にアクセスするために使用するデバイスの種類、オペレーティング システム、ブラウザを理解します。
- 最も遅いページ: 現在パフォーマンスが最も低い特定の Fusion ページを即座に特定し、コードとネットワークの最適化を優先します。
この組み込みダッシュボードは、生のテレメトリ データを見ることなく、日常的な監視、パフォーマンス レポート、マクロレベルのユーザー エクスペリエンスの問題を迅速に診断するための優れた出発点として機能します。
RUMデータから追加の洞察を得る
APM ブラウザ エージェントがデプロイされ、Fusion スパン エンリッチメント ルールが設定されると、新しく設定された属性 ( 、、、、、 RwApplicationなど )を 活用して、 さまざまな ユース ケースにわたって RUM データからより詳細なカスタム分析情報を取得できます。RwContainerRwPathFusFamilyFusProductCodeFusComponentType
ユースケース 1: ユーザーによる Fusion Cloud Apps ページのクリック数
ユーザーが最も頻繁にアクセスする Fusion ページを理解し、ユーザーのナビゲーション パターンを特定します。
Redwood Pagesの場合:
show spans * group by RwApplication,RwContainer,RwPath
ADF ページの場合:
show spans * group by FusFamily,FusProductCode,FusComponentType,FusContextRoot,FusRegionId
ユースケース2: ユーザーセッションパフォーマンスプロファイリング
個々のユーザー セッション内のイベントのシーケンスとパフォーマンスのボトルネックを分析します。
show (traces) * where SessionId='<your_session_id>' order by TraceRootSpanStartTime asc
</your_session_id>
ユースケース3: 包括的なアプリケーションの使用とエンゲージメント
各アプリケーション領域のユニークセッション数、ユーザー数、合計ページビュー数を集計し、セッションボリュームの多い順に並べることで、ADF モジュールと Redwood ページの両方でユーザーエンゲージメントを分析します。
SHOW traces FusFamily ||'-'|| FusProduct as "baseDetails",RwApplication ||'-'|| RwContainer ||'-'||RwPath as RedwoodDetails, count_distinct(sessionId) as sessions, count_distinct(username) as users, sum(pageviews) as activities where RwApplication is not omitted or FusFamily is not omitted group by FusFamily ||'-'|| FusProduct,RwApplication ||'-'|| RwContainer ||'-'||RwPath order by count_distinct(sessionId) desc
APM カスタムメトリックとアラーム
ダッシュボードをパッシブに監視するだけでなく、OCI APMを設定して、Fusion Webページが許容パフォーマンスしきい値を超えた場合にプロアクティブにアラートを通知することもできます。これには、 特定の基準に基づいてパフォーマンスデータを集計するカスタムメトリックを作成し 、 OCIアラームを設定することが含まれます。
ステップ1: カスタムメトリックを作成する
まず、ページの読み込み速度が遅いなど、特定のパフォーマンス動作を継続的にキャプチャするためのカスタム メトリックを定義します。
- APM ドメイン > リソース > カスタム メトリックに移動します。
- 「カスタム メトリックの作成」をクリックします 。
- メトリック名を入力します (例:
SlowFusionRedwoodPages)。 - スパンフィルターボックスで 、対象となる動作を分離するためのクエリを設定します。例:
ServiceName = 'Fusion' and WebApplication = 'RedwoodPage' - メトリック値ソースのドロップダウン リストから 、キャプチャする数値メトリックを選択します (例:
SpanDuration)。
- (オプション) きめ細かなグループ化を行うために、 1つまたは複数の ディメンション
RwContainer(例: 、、 )を選択してください。RwApplication注 :選択したディメンションが多すぎると、カスタム指標はディメンションの組み合わせごとに集計されます。その結果、カーディナリティが高くなり、監視サービスに過負荷がかかる可能性があります。この問題を回避するには、ディメンションの数を減らしてください。FusFamily
- メトリック保存オプションを選択するには、「次へ」をクリックします 。
- ターゲットの コンパートメント と 名前空間を選択します。デフォルトの名前空間は
oracle_apm_custom(注:デフォルト以外のカスタム名前空間を使用するには、OCIアイデンティティポリシーの設定が必要です)。 - 「作成」をクリックします 。APM はこのカスタム メトリックを定期的に集計し、OCI モニタリング サービスにプッシュします。
ステップ2: OCIアラームを設定する
最後に、カスタム メトリックがしきい値を超えたときにチームに通知するアラームを設定します。
- Oracle Cloud Console で、 「Observability & Management」 > 「Monitoring」 > 「Metrics Explorer」に移動します。
- コンパートメント、メトリック名前空間 (
oracle_apm_custom)、およびカスタム メトリック名 (例:SlowFusionRedwoodPages) を選択します。 - [アラームの作成]をクリックします 。
- アラーム名、アラーム サマリー、メトリック名前空間 (例:
oracle_apm_custom)、メトリック名 (例:SlowFusionRedwoodPages)、間隔 (1 分)、統計 (平均) を指定します。 - トリガー ルールを定義します (例: 1 分間隔内でカウントが 1000 を超えた場合にトリガーする)。
- [送信先]で 、 OCI 通知トピック(電子メール、Slack/PagerDuty 統合など)を選択または作成して、 アラートをサポート チームにルーティングします。
- [アラームを保存]をクリックします 。
Fusion ページのパフォーマンスが指定したしきい値を超えて低下するたびに、チームは自動アラートを受信するようになります。
まとめ
Oracle Fusion SaaS Cloud AppsにOCI APMリアルユーザーモニタリングを導入することで、組織は実際のユーザーエクスペリエンスを包括的に可視化し、データドリブンなパフォーマンス最適化とユーザー満足度の向上を実現できます。ADFページとRedwoodページの両方にAPMブラウザエージェントを導入することで、組織は以下のことが可能になります。
- ユーザー行動の追跡: ユーザーがどのページにアクセスし、Fusion アプリ内をどのように移動したかを把握します。
- プロファイルパフォーマンス: 個々のユーザーセッションを分析してパフォーマンスのボトルネックを特定します
- 地理的分析: ユーザーの場所がアプリケーションのパフォーマンスにどのように影響するかを理解する
- 標準化されたメトリクス: Apdex スコアを使用して、アプリケーション全体のパフォーマンスを測定および追跡します。
- 傾向分析: 時間の経過に伴うパフォーマンスを監視して、劣化を検出し、改善を測定します。
- デバイスプロファイリング: さまざまなデバイス、ブラウザ、接続タイプに合わせてアプリケーションのパフォーマンスを最適化します
実装は簡単で、FusionのページテンプレートでJavaScriptを設定し、APMでFusionのエンリッチメントルールを有効にするだけです。導入後は、APMブラウザエージェントがサーバー側エージェントを追加することなく、包括的なRUMデータを自動的に収集します。
APM RUM によって提供される分析情報を活用することで、組織はパフォーマンスの問題を積極的に特定して解決し、ユーザー エクスペリエンスを最適化し、Fusion Cloud Apps がユーザーが期待するパフォーマンスと信頼性を提供できるようにすることができます。











コメント
コメントを投稿