1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

図解で、Datadog RUM 実装手順

1
Last updated at Posted at 2026-03-28

Datadog RUM 実装手順ガイド

Web アプリの種類によって RUM の実装方法は異なる。
代表的な 4 つの方式をまとめる。いずれもRUMは、クライアントPC側のWEBブラウザで動作する。

image.png

  1. Nginx の設定ファイル(/etc/nginx/sites-available/*.com)で自動挿入
  2. HTMLファイル に直接 RUM Script を挿入
  3. Python(Flask / Django / FastAPI)テンプレートに挿入
  4. Node.js(Express)テンプレートに挿入

用語

Datadog RUM はブラウザで動作する JavaScript SDK。
RUM Script スニペット(コピペで使える短いScriptコード)を HTML に挿入して動作する。
Datadog Agent は不要(PC[ブラウザ] から Datadog intake server に直接送信する)。

Datadog RUM:実装方式の比較

パターン 実装場所 コード変更 典型例
Nginx 自動挿入 /etc/nginx/sites-available/*.com 不要 Nginx が対象の HTML 全てに RUM を自動挿入
HTML 直接挿入 HTML / SPA 必要 対象のHTMLファイルに<script>DD_RUM.init()</script>を追加*1
Python(Flask / Django / FastAPI) テンプレート 必要 base.html に RUM を追加
Node.js(Express) テンプレート 必要 layout.ejs に RUM を追加

*1: 全ての HTML に RUM script を追加するのは大変なので、common_head.html などアプリ共通のHTMLファイルなどに追記すると作業を省力化できるが、

4つの方式共通に、追加する RUM JavaScript 内の ClientToken と ApplicationId は、公開前提のキーであり、環境変数などで渡さなくてもよい。

手順A.Nginx の場合

この方式は Nginx 設定に「表示するHTMLファイルに自動で RUM Script を挿入します。HTMLファイルや JavaScript のアプリコードの変更が不要。但し、対象のHTML全てが RUM モニタリングの対象になります。

  1. Nginx 設定ファイルに RUM 設定を追加
/etc/nginx/sites-available/example.com
server {
    # 省略…

    # Datadog RUM - example
    datadog_rum on;
    datadog_rum_config "v6" {
        "applicationId" "8******************************85c";
        "clientToken"   "pu******************************f64bb";
        "site"          "datadoghq.com";
        "service"       "アプリ名";
        "env"           "prod";
        "version"       "1.0";
        "sessionSampleRate"       "100";
        "sessionReplaySampleRate" "20";
        "trackResources"          "true";
        "trackLongTasks"          "true";
        "trackUserInteractions"   "true";
        "defaultPrivacyLevel"     "mask";
    }
    
    # 省略…
}
  1. Nginx を再起動
sudo systemctl restart nginx

手順B.HTML に直接 Script を挿入する場合

  1. 計装対象の HTMLファイル の <head>タグ内 に RUM スニペットを追加
<head>
  <script src="https://www.datadoghq-browser-agent.com/datadog-rum.js"></script>
  <script>
    window.DD_RUM.init({
      clientToken: "8******************************85c",
      applicationId: "pu******************************f64bb",
      site: "datadoghq.com",
      service: "アプリ名",
      env: "prod"
    });
  </script>
</head>
  1. そのまま再起動など無しでHTML配信して計測できます

手順C.Python の場合

Python のWEBフレームワーク(Flask / Django / FastAPI)のいずれもテンプレート方式。下記はFlaskの例。

  1. base.html に RUM スニペットを挿入。
<!DOCTYPE html>
<html>
<head>
  <script src="https://www.datadoghq-browser-agent.com/datadog-rum.js"></script>
  <script>
    window.DD_RUM.init({
      clientToken: "8******************************85c",
      applicationId: "pu******************************f64bb",
      site: "datadoghq.com",
      service: "アプリ名",
      env: "prod"
    });
  </script>
</head>
<body>
  {% block content %}{% endblock %}
</body>
</html>

手順D.Node.js(Express)の場合

  1. layout.ejs(または index.ejs)に RUM を挿入
<head>
  <script src="https://www.datadoghq-browser-agent.com/datadog-rum.js"></script>
  <script>
    window.DD_RUM.init({
      clientToken: "8******************************85c",
      applicationId: "pu******************************f64bb",
      site: "datadoghq.com",
      service: "アプリ名",
      env: "prod"
    });
  </script>
</head>
  1. Express でテンプレートを返すだけ
app.get('/', (req, res) => {
  res.render('index');
});

RUM メトリック送信検査

PC側ブラウザの DevTool > Network > rum? の POST Request URL が intake server (browser-intake-datadoghq.com)にアクセスできていることを確認する

image.png

まとめ

Datadog RUM は Web アプリの構成に応じて、4つの方式で実装できる。

パターン 実装方式 コード変更 代表的な実装
Nginx 自動挿入 サーバー側で注入 不要 datadog_rum on;
HTML 直接挿入 HTML に Script 必要 対象のHTMLファイルに<script>DD_RUM.init()</script>を追加
Python(Flask / Django / FastAPI) テンプレートに挿入 必要 base.html に RUM を挿入
Node.js(Express) テンプレートに挿入 必要 layout.ejs に RUM を挿入
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?