ブラウザの RUM データをプロキシする

概要

RUM ブラウザ SDK は、プロキシ経由でリクエストを送信するように構成することができます。この場合でも、リクエストは Datadog に転送される必要があります。

SDK の初期化

proxyUrl 初期化パラメーターを設定すると、すべての RUM データは指定した URL に POST メソッド (例: https://www.proxy.com/foo) で送信されます。

import { Datacenter, datadogRum } from '@datadog/browser-rum';

datadogRum.init({
    applicationId: '<DATADOG_APPLICATION_ID>',
    clientToken: '<DATADOG_CLIENT_TOKEN>',
    site: '<DATADOG_SITE>',
    proxyUrl: '<YOUR_PROXY_URL>',
});
<script>
 (function(h,o,u,n,d) {
   h=h[d]=h[d]||{q:[],onReady:function(c){h.q.push(c)}}
   d=o.createElement(u);d.async=1;d.src=n
   n=o.getElementsByTagName(u)[0];n.parentNode.insertBefore(d,n)
})(window,document,'script','https://www.datadoghq-browser-agent.com/datadog-rum-v4.js','DD_RUM')
  DD_RUM.onReady(function() {
    DD_RUM.init({
        clientToken: '<CLIENT_TOKEN>',
        applicationId: '<APPLICATION_ID>',
        proxyUrl: '<YOUR_PROXY_URL>',
    })
  })
</script>
window.DD_RUM &&
    window.DD_RUM.init({
        clientToken: '<CLIENT_TOKEN>',
        applicationId: '<APPLICATION_ID>',
        proxyUrl: '<YOUR_PROXY_URL>',
    });

プロキシ設定

プロキシが RUM ブラウザ SDK からデータを受信すると、それを Datadog に転送する必要があります。RUM ブラウザ SDK は、プロキシへのすべての POST リクエストに、ddforward クエリパラメーターを追加します。このクエリパラメーターには、すべてのデータの転送先となる URL が含まれています。

Datadog へのプロキシリクエストを成功させるには

  1. 正確な geoIP のために、リクエストクライアント IP アドレスを含む X-Forwarded-For ヘッダーを追加します。
  2. クエリパラメーター ddforward で指定した URL に、POST メソッドでリクエストを転送します。
  3. リクエスト本文は変更されないままでなければなりません。

ddforward 属性が Datadog サイトの有効な Datadog エンドポイントを指していることを確認してください。これを行わないと、安全でない構成になる可能性があります。

サイトパラメータは、SDK の初期化パラメータです。各サイトで有効な取り込み URL のパターンは以下の通りです。

サイト有効な取り込み URL パターンサイトパラメーター
US1https://*.browser-intake-datadoghq.com/*datadoghq.com
US3https://*.browser-intake-us3-datadoghq.com/*us3.datadoghq.com
US5https://*.browser-intake-us5-datadoghq.com/*us5.datadoghq.com
EU1https://*.browser-intake-datadoghq.eu/*datadoghq.eu
US1-FEDhttps://*.browser-intake-ddog-gov.com/*ddog-gov.com
サイト有効な取り込み URL パターンサイトパラメーター
US1https://*.logs.datadoghq.com/*datadoghq.com
US3https://*.logs.us3-datadoghq.com/*us3.datadoghq.com
EU1https://*.logs.datadoghq.eu/*datadoghq.eu
US1-FEDhttps://*.logs.ddog-gov.com/*ddog-gov.com

その他の参考資料

お役に立つドキュメント、リンクや記事: