This product is not supported for your selected Datadog site. ().

対応バージョンと互換性

必要な Agent バージョン
Universal Service Monitoring には、コンテナ化されたサービスとともにインストールされた Datadog Agent が少なくともバージョン 6.40 または 7.40 である必要があります。以下に記載されているように、プレビューの一部機能にはそれ以降のバージョンが必要です。
対応 Linux プラットフォーム
Linux カーネル 4.14 以上
CentOS または RHEL 8.0 以上
対応 Windows プラットフォーム
Windows 2012 R2 以上
対応アプリケーション層プロトコル
HTTP
HTTPS (OpenSSL)
既知の制限
Universal Service Monitoring には、Datadog のsystemprobe の使用が必要ですが、これは Google Kubernetes Engine (GKE) Autopilot ではサポートされていません。
追加のプロトコルとトラフィック暗号化方法は プレビュー中です。対応してほしいプラットフォームやプロトコルについてのフィードバックがある場合は、サポートに連絡してください。

前提条件

Linux の場合: サービスがコンテナで動作していること。 プレビュー中: コンテナ化されていないサービスについては、こちらの手順 を参照してください。 Windows の場合: サービスが仮想マシンで動作していること。 Datadog Agent がサービスと一緒にインストールされていること。トレーシングライブラリのインストールは 不要 です。 Unified Service Tagging のための env タグがデプロイメントに適用されていること。serviceversion タグはオプションです。

USM がサービス名を検出する方法

Universal Service Monitoring は、プロセスが開始されるときに存在する環境変数からサービス名を検出します。USM はこれらの値をオペレーティングシステムから読み取ります: Linux の場合は /proc/PID/environ から、Windows の場合はシステム API を通じて読み取ります。

USM は以下の環境変数を認識します。 DD_SERVICE: サービス名を明示的に設定 DD_ENV: 環境タグを設定 DD_VERSION: バージョンタグを設定 DD_TAGS: 追加のタグ。service:name タグを含むことが可能

主な制約事項: USM と、APM 用にプログラムで設定された環境変数について

環境変数をプログラムによってアプリケーションコード内で設定する際 (たとえば、Java の場合は System.setProperty("dd.service", "myservice")、.NET の場合は Environment.SetEnvironmentVariable("DD_SERVICE", "myservice") など)、これらの環境変数は USM では 検出されませんが、これらの値は APM のトレーシングインスツルメンテーションには機能します。

これは、USM が Datadog Agent 内で別のプロセスとして実行され、プロセスが開始されたときに設定された環境変数のみを認識するためです。逆に、APM インスツルメンテーションライブラリはアプリケーションプロセス内で実行され、ランタイム環境の変更を読み取ることができます。

USM が確実に検出できるよう、アプリケーションが開始される前に環境変数を設定してください。

environment:
  - DD_SERVICE=my-service
  - DD_ENV=production
env:
  - name: DD_SERVICE
    value: "my-service"
  - name: DD_ENV
    value: "production"
export DD_SERVICE=my-service
export DD_ENV=production
java -jar myapp.jar

Universal Service Monitoring を有効にする

サービスのデプロイ方法と Agent の構成に応じて、以下のいずれかの方法を使用して、Agent で Universal Service Monitoring を有効にします。

Datadog チャートバージョン >= 2.26.2 を使用して、以下を values ファイルに追加します。

datadog:
  ...
  serviceMonitoring:
    enabled: true

クラスターで Google Container-Optimized OS (COS) が動作している場合は、values ファイルに以下も追加してください。

providers:
  gke:
    cos: true

クラスターがノードに Bottlerocket Linux ディストリビューションを使用している場合は、values ファイルに以下を追加してください。

agents:
  containers:
    systemProbe:
      securityContext:
        seLinuxOptions:
          user: "system_u"
          role: "system_r"
          type: "spc_t"
          level: "s0"

Datadog Operator v1.0.0 以降が必要です。

Datadog Operator を使用して Universal Service Monitoring を有効にするには、datadogagent.yaml マニフェストを更新してください。DatadogAgent リソースで、spec.features.usm.enabledtrue に設定します。

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    credentials:
     apiSecret:
        secretName: datadog-secret
        keyName: api-key
     appSecret:
      secretName: datadog-secret
      keyName: app-key
  features:
    usm:
      enabled: true
  1. アノテーション container.apparmor.security.beta.kubernetes.io/systemprobe: unconfineddatadogagent テンプレートに追加します。

    spec:
      selector:
        matchLabels:
          app: datadog-agent
      template:
        metadata:
          labels:
            app: datadog-agent
          name: datadog-agent
          annotations:
            container.apparmor.security.beta.kubernetes.io/system-probe: unconfined
    
  2. Agent の DaemonSet に以下の環境変数を設定して Universal Service Monitoring を有効にします。Agent プロセスごとにコンテナを実行している場合は、processagent コンテナに以下の環境変数を追加してください。そうでない場合は、agent コンテナに追加してください。

    ...
      env:
        ...
        - name: DD_SYSTEM_PROBE_SERVICE_MONITORING_ENABLED
          value: 'true'
        - name: DD_SYSTEM_PROBE_EXTERNAL
          value: 'true'
        - name: DD_SYSPROBE_SOCKET
          value: /var/run/sysprobe/sysprobe.sock
    
  3. 以下の追加ボリュームを datadogagent コンテナにマウントします。

    ...
    spec:
      serviceAccountName: datadog-agent
      containers:
        - name: datadog-agent
          image: 'registry.datadoghq.com/agent:latest'
          ...
      volumeMounts:
        ...
        - name: sysprobe-socket-dir
        mountPath: /var/run/sysprobe
    
  4. Agent のサイドカーとして、新しい systemprobe コンテナを追加します。

    ...
    spec:
      serviceAccountName: datadog-agent
      containers:
        - name: datadog-agent
          image: 'registry.datadoghq.com/agent:latest'
          ...
        - name: system-probe
          image: 'registry.datadoghq.com/agent:latest'
          imagePullPolicy: Always
          securityContext:
            capabilities:
              add:
                - SYS_ADMIN
                - SYS_RESOURCE
                - SYS_PTRACE
                - NET_ADMIN
                - NET_BROADCAST
                - NET_RAW
                - IPC_LOCK
                - CHOWN
          command:
            - /opt/datadog-agent/embedded/bin/system-probe
          env:
            - name: DD_SYSTEM_PROBE_SERVICE_MONITORING_ENABLED
              value: 'true'
            - name: DD_SYSPROBE_SOCKET
              value: /var/run/sysprobe/sysprobe.sock
          resources: {}
          volumeMounts:
            - name: procdir
              mountPath: /host/proc
              readOnly: true
            - name: cgroups
              mountPath: /host/sys/fs/cgroup
              readOnly: true
            - name: debugfs
              mountPath: /sys/kernel/debug
            - name: sysprobe-socket-dir
              mountPath: /var/run/sysprobe
            - name: modules
              mountPath: /lib/modules
              readOnly: true
            - name: src
              mountPath: /usr/src
              readOnly: true
            - name: runtime-compiler-output-dir
              mountPath: /var/tmp/datadog-agent/system-probe/build
            - name: kernel-headers-download-dir
              mountPath: /var/tmp/datadog-agent/system-probe/kernel-headers
              readOnly: false
            - name: apt-config-dir
              mountPath: /host/etc/apt
              readOnly: true
            - name: yum-repos-dir
              mountPath: /host/etc/yum.repos.d
              readOnly: true
            - name: opensuse-repos-dir
              mountPath: /host/etc/zypp
              readOnly: true
            - name: public-key-dir
              mountPath: /host/etc/pki
              readOnly: true
            - name: yum-vars-dir
              mountPath: /host/etc/yum/vars
              readOnly: true
            - name: dnf-vars-dir
              mountPath: /host/etc/dnf/vars
              readOnly: true
            - name: rhel-subscription-dir
              mountPath: /host/etc/rhsm
              readOnly: true
    
  5. 以下のボリュームをマニフェストに追加します。

    volumes:
      - name: sysprobe-socket-dir
        emptyDir: {}
      - name: procdir
        hostPath:
          path: /proc
      - name: debugfs
        hostPath:
          path: /sys/kernel/debug
      - hostPath:
          path: /lib/modules
        name: modules
      - hostPath:
          path: /usr/src
        name: src
      - hostPath:
          path: /var/tmp/datadog-agent/system-probe/build
        name: runtime-compiler-output-dir
      - hostPath:
          path: /var/tmp/datadog-agent/system-probe/kernel-headers
        name: kernel-headers-download-dir
      - hostPath:
          path: /etc/apt
        name: apt-config-dir
      - hostPath:
          path: /etc/yum.repos.d
        name: yum-repos-dir
      - hostPath:
          path: /etc/zypp
        name: opensuse-repos-dir
      - hostPath:
          path: /etc/pki
        name: public-key-dir
      - hostPath:
          path: /etc/yum/vars
        name: yum-vars-dir
      - hostPath:
          path: /etc/dnf/vars
        name: dnf-vars-dir
      - hostPath:
          path: /etc/rhsm
        name: rhel-subscription-dir
    

    注意: クラスターが Google Container-Optimized OS (COS) で動作している場合は、コンテナ定義から以下を削除して src マウントを削除してください。

     - name: src
       mountPath: /usr/src
       readOnly: true
    

    さらに、マニフェストから以下を削除します。

     - hostPath:
         path: /usr/src
       name: src
    
  6. オプションで HTTPS をサポートする場合は、systemprobe コンテナに以下を追加します。

    env:
      - name: HOST_ROOT
        value: /host/root
    volumeMounts:
      - name: hostroot
        mountPath: /host/root
        readOnly: true
    

    そして、以下のボリュームをマニフェストに追加します。

    volumes:
      - name: hostroot
        hostPath:
        path: /
    

docker run コマンドに以下を追加します。

docker run --cgroupns host \
--pid host \
-e DD_API_KEY="<DATADOG_API_KEY>" \
-e DD_SYSTEM_PROBE_SERVICE_MONITORING_ENABLED=true \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v /proc/:/host/proc/:ro \
-v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \
-v /sys/kernel/debug:/sys/kernel/debug \
-v /lib/modules:/lib/modules:ro \
-v /usr/src:/usr/src:ro \
-v /var/tmp/datadog-agent/system-probe/build:/var/tmp/datadog-agent/system-probe/build \
-v /var/tmp/datadog-agent/system-probe/kernel-headers:/var/tmp/datadog-agent/system-probe/kernel-headers \
-v /etc/apt:/host/etc/apt:ro \
-v /etc/yum.repos.d:/host/etc/yum.repos.d:ro \
-v /etc/zypp:/host/etc/zypp:ro \
-v /etc/pki:/host/etc/pki:ro \
-v /etc/yum/vars:/host/etc/yum/vars:ro \
-v /etc/dnf/vars:/host/etc/dnf/vars:ro \
-v /etc/rhsm:/host/etc/rhsm:ro \
-e HOST_ROOT=/host/root \
--security-opt apparmor:unconfined \
--cap-add=SYS_ADMIN \
--cap-add=SYS_RESOURCE \
--cap-add=SYS_PTRACE \
--cap-add=NET_ADMIN \
--cap-add=NET_BROADCAST \
--cap-add=NET_RAW \
--cap-add=IPC_LOCK \
--cap-add=CHOWN \
registry.datadoghq.com/agent:latest

dockercompose.yml ファイルに以下を追加します。

services:
  ...
  datadog:
    ...
    environment:
     - DD_SYSTEM_PROBE_SERVICE_MONITORING_ENABLED='true'
    volumes:
     - /var/run/docker.sock:/var/run/docker.sock:ro
     - /proc/:/host/proc/:ro
     - /sys/fs/cgroup/:/host/sys/fs/cgroup:ro
     - /sys/kernel/debug:/sys/kernel/debug
     - /lib/modules:/lib/modules
     - /usr/src:/usr/src
     - /var/tmp/datadog-agent/system-probe/build:/var/tmp/datadog-agent/system-probe/build
     - /var/tmp/datadog-agent/system-probe/kernel-headers:/var/tmp/datadog-agent/system-probe/kernel-headers
     - /etc/apt:/host/etc/apt
     - /etc/yum.repos.d:/host/etc/yum.repos.d
     - /etc/zypp:/host/etc/zypp
     - /etc/pki:/host/etc/pki
     - /etc/yum/vars:/host/etc/yum/vars
     - /etc/dnf/vars:/host/etc/dnf/vars
     - /etc/rhsm:/host/etc/rhsm
    cap_add:
     - SYS_ADMIN
     - SYS_RESOURCE
     - SYS_PTRACE
     - NET_ADMIN
     - NET_BROADCAST
     - NET_RAW
     - IPC_LOCK
     - CHOWN
    security_opt:
     - apparmor:unconfined

オプションで HTTPS をサポートする場合は、以下も追加します。

services:
  ...
  datadog:
    ...
    environment:
     - HOST_ROOT: '/host/root'
    volumes:
     - /:/host/root:ro

Docker Swarm はまだ security_opt の変更をサポートしていないため、オペレーティングシステム には実行中の apparmor インスタンスがあってはなりません。

オペレーティングシステムに実行中の apparmor インスタンスがない場合は、dockercompose.yml ファイルを DockerCompose セクションsecurity_opt フィールドの横で使用してください。

Helm Charts や環境変数を使用しない場合は、systemprobe.yaml ファイルに以下を設定してください:

service_monitoring_config:
  enabled: true

systemprobe を環境変数で構成する場合、Docker や ECS のインストールでよくあるように、以下の環境変数をprocessagentsystemprobe両方に渡します。

DD_SYSTEM_PROBE_SERVICE_MONITORING_ENABLED=true

ノードに以下の属性を設定します。

node["datadog"]["system_probe"]["service_monitoring_enabled"] = true

service_monitoring_enabled を設定します:

class { 'datadog_agent::system_probe':
    service_monitoring_enabled => true,
}

プレイブックに以下の属性を追加します。

service_monitoring_config:
  enabled: true

ECS の場合、以下の JSON タスク定義で USM とシステムプローブを有効にします。タスク定義を デーモンサービス としてデプロイします。

{
  "containerDefinitions": [
    {
      "name": "datadog-agent",
      "image": "public.ecr.aws/datadog/agent:7",
      "cpu": 500,
      "memory": 1024,
      "essential": true,
      "mountPoints": [
        ...
        {
          "containerPath": "/sys/kernel/debug",
          "sourceVolume": "sys_kernel_debug"
        },
        {
          "containerPath": "/host/proc",
          "sourceVolume": "proc"
        },
        {
          "containerPath": "/var/run/docker.sock",
          "sourceVolume": "var_run_docker_sock"
        },
        {
          "containerPath": "/host/sys/fs/cgroup",
          "sourceVolume": "sys_fs_cgroup"
        },
        {
          "readOnly": true,
          "containerPath": "/var/lib/docker/containers",
          "sourceVolume": "var_lib_docker_containers"
        },
        {
          "containerPath": "/lib/modules",
          "sourceVolume": "lib_modules"
        },
        {
          "containerPath": "/usr/src",
          "sourceVolume": "usr_src"
        },
        {
          "containerPath": "/var/tmp/datadog-agent/system-probe/build",
          "sourceVolume": "var_tmp_datadog_agent_system_probe_build"
        },
        {
          "containerPath": "/var/tmp/datadog-agent/system-probe/kernel-headers",
          "sourceVolume": "var_tmp_datadog_agent_system_probe_kernel_headers"
        },
        {
          "containerPath": "/host/etc/apt",
          "sourceVolume": "etc_apt"
        },
        {
          "containerPath": "/host/etc/yum.repos.d",
          "sourceVolume": "etc_yum_repos_d"
        },
        {
          "containerPath": "/host/etc/zypp",
          "sourceVolume": "etc_zypp"
        },
        {
          "containerPath": "/host/etc/pki",
          "sourceVolume": "etc_pki"
        },
        {
          "containerPath": "/host/etc/yum/vars",
          "sourceVolume": "etc_yum_vars"
        },
        {
          "containerPath": "/host/etc/dnf/vars",
          "sourceVolume": "etc_dnf_vars"
        },
        {
          "containerPath": "/host/etc/rhsm",
          "sourceVolume": "etc_rhsm"
        }
      ],
      "environment": [
        {
          "name": "DD_API_KEY",
          "value": "<YOUR_DATADOG_API_KEY>"
        },
        ...
        {
          "name": "DD_SYSTEM_PROBE_SERVICE_MONITORING_ENABLED",
          "value": "true"
        }
      ],
      "linuxParameters": {
        "capabilities": {
          "add": [
            "SYS_ADMIN",
            "SYS_RESOURCE",
            "SYS_PTRACE",
            "NET_ADMIN",
            "NET_BROADCAST",
            "NET_RAW",
            "IPC_LOCK",
            "CHOWN"
          ]
        }
      }
    }
  ],
  "requiresCompatibilities": [
    "EC2"
  ],
  "volumes": [
    ...
    {
      "host": {
        "sourcePath": "/sys/kernel/debug"
      },
      "name": "sys_kernel_debug"
    },
    {
      "host": {
        "sourcePath": "/proc/"
      },
      "name": "proc"
    },
    {
      "host": {
        "sourcePath": "/var/run/docker.sock"
      },
      "name": "var_run_docker_sock"
    },
    {
      "host": {
        "sourcePath": "/sys/fs/cgroup/"
      },
      "name": "sys_fs_cgroup"
    },
    {
      "host": {
        "sourcePath": "/var/lib/docker/containers/"
      },
      "name": "var_lib_docker_containers"
    },
    {
      "host": {
        "sourcePath": "/lib/modules"
      },
      "name": "lib_modules"
    },
    {
      "host": {
        "sourcePath": "/usr/src"
      },
      "name": "usr_src"
    },
    {
      "host": {
        "sourcePath": "/var/tmp/datadog-agent/system-probe/build"
      },
      "name": "var_tmp_datadog_agent_system_probe_build"
    },
    {
      "host": {
        "sourcePath": "/var/tmp/datadog-agent/system-probe/kernel-headers"
      },
      "name": "var_tmp_datadog_agent_system_probe_kernel_headers"
    },
    {
      "host": {
        "sourcePath": "/etc/apt"
      },
      "name": "etc_apt"
    },
    {
      "host": {
        "sourcePath": "/etc/yum.repos.d"
      },
      "name": "etc_yum_repos_d"
    },
    {
      "host": {
        "sourcePath": "/etc/zypp"
      },
      "name": "etc_zypp"
    },
    {
      "host": {
        "sourcePath": "/etc/pki"
      },
      "name": "etc_pki"
    },
    {
      "host": {
        "sourcePath": "/etc/yum/vars"
      },
      "name": "etc_yum_vars"
    },
    {
      "host": {
        "sourcePath": "/etc/dnf/vars"
      },
      "name": "etc_dnf_vars"
    },
    {
      "host": {
        "sourcePath": "/etc/rhsm"
      },
      "name": "etc_rhsm"
    }
  ],
  "family": "datadog-agent-task"
}

オペレーティングシステムのイメージが Ubuntu または Debian の場合は、environment の後に以下を追加してください。

"dockerSecurityOptions": [
  "apparmor:unconfined"
]

オプションで HTTPS をサポートする場合は、以下も追加します。

"mountPoints": [
  ...
  {
    "containerPath": "/host/root",
    "sourceVolume": "host_root"
  },
  ...
]
...
"volumes": [
  ...
  {
    "host": {
      "sourcePath": "/"
    },
    "name": "host_root"
  },
  ...
]

サービスでロードバランサーを使用している場合、Universal Service Monitoring がクラウド管理されたエンティティを検出できるように、追加のクラウドインテグレーションを有効にします:

  1. AWS インテグレーション をインストールして AWS ロードバランサーの可視性を確保します。
  2. ENI と EC2 メトリクス収集を有効にします。
  3. 各ロードバランサーに以下のタグを追加します。
    ENV=<env>
    SERVICE=<service>
    

IIS 上で動作するサービスの場合:

  1. ネットワークカーネルデバイスドライバーコンポーネントを有効にして Datadog Agent (バージョン 6.41 または 7.41 以降) をインストールします。 Agent バージョン 7.44 以下の場合、インストール時に ADDLOCAL="MainApplication,NPM"msiexec コマンドに渡すか、GUI で Agent のインストールを実行する際に Cloud Network Monitoring を選択する必要があります。

  2. C:\ProgramData\Datadog\systemprobe.yaml を編集して有効フラグを true に設定します。

    service_monitoring_config:
      enabled: true
    

IIS 以外のサービスについて:

Agent バージョン 7.57 以降の場合、IIS 以外のサービスの検出はデフォルトで有効になっています。以前の Agent バージョンでは、systemprobe.yaml に以下の構成変更が必要な場合があります。

service_monitoring_config:
  enabled: true
  process_service_inference:
    enabled: true
IIS 以外の Windows サービスに関する重要な制限: Windows 上では Universal Service Monitoring は、HTTPS トラフィック監視のために MicrosoftWindowsHttpService プロバイダーを介して Windows のイベントトレース (ETW) を使用します。この ETW プロバイダーは、IIS ベースのサービスにのみ利用可能です。IIS 以外のサービス (カスタム .NET アプリケーション、Node.js サーバー、Java サーバー、または Windows 上で実行されているその他の HTTP サーバー) は、USM を介した HTTPS 監視をサポートしていません。IIS 以外の Windows サービスでは、プレーン HTTP トラフィックのみを監視できます。

IIS および IIS 以外のサービスのサポート

|サービスの種類 | HTTP トラフィック監視 | HTTPS トラフィック監視 | | | | | |IIS サービス | サポート対象 | サポート対象 | | IIS 以外のサービス | サポート対象 | サポート対象外 |

追加の構成

以下のシステムまたはサービスには追加の構成が必要です。

Universal Service Monitoring は、Linux の仮想マシン上でベアメタルで動作するサービスをモニタリングするために利用可能です。
Agent バージョン 7.42 以上が必要です。

systemprobe.yaml に以下の構成を追加します。

service_monitoring_config:
  enabled: true
  process_service_inference:
    enabled: true
DD_SYSTEM_PROBE_PROCESS_SERVICE_INFERENCE_ENABLED=true
Universal Service Monitoring は現在プレビュー中であり、Golang で実装されたサービスからの TLS 暗号化トラフィックをモニタリングします。
:
  • Go HTTPS サーバーは、HTTP1.1 プロトコルを HTTP/2 にアップグレードできます。これはプレビューでサポートされています。詳細については、アカウントマネージャーにお問い合わせください。
  • Agent バージョン 7.51 以上が必要です。

systemprobe.yaml に以下の構成を追加します。

service_monitoring_config:
  enabled: true
  tls:
    go:
      enabled: true
DD_SERVICE_MONITORING_CONFIG_TLS_GO_ENABLED=true
agents:
  containers:
    systemProbe:
      env:
        - name: DD_SERVICE_MONITORING_CONFIG_TLS_GO_ENABLED
          value: "true"
Universal Service Monitoring は現在プレビュー中です。Node.js で実装されたサービスからの HTTP、HTTP/2、および gRPC リクエストをモニタリングします。
Agent バージョン 7.54 以上が必要です。

systemprobe.yaml に以下の構成を追加します。

service_monitoring_config:
  enabled: true
  tls:
    nodejs:
      enabled: true
DD_SERVICE_MONITORING_CONFIG_TLS_NODEJS_ENABLED=true
agents:
  containers:
    systemProbe:
      env:
        - name: DD_SERVICE_MONITORING_CONFIG_TLS_NODEJS_ENABLED
          value: "true"
Universal Service Monitoring は、Istio mTLS の背後にあるサービスを監視し、暗号化された HTTPs、HTTP/2、および gRPC トラフィックをキャプチャできます。 Agent バージョン 7.50 以上が必要です。

systemprobe.yaml に以下の構成を追加します。

service_monitoring_config:
  enabled: true
  tls:
    istio:
      enabled: true
DD_SERVICE_MONITORING_CONFIG_TLS_ISTIO_ENABLED=true
agents:
  containers:
    systemProbe:
      env:
        - name: DD_SERVICE_MONITORING_CONFIG_TLS_ISTIO_ENABLED
          value: "true"
Universal Service Monitoring は、HTTP/2 および gRPC トラフィックをキャプチャできます。 :
  • Linux カーネルバージョン 5.2 以降が必要です。
  • Agent バージョン 7.53 以上が必要です。

systemprobe.yaml に以下の構成を追加します。

service_monitoring_config:
  enable_http2_monitoring: true
DD_SERVICE_MONITORING_CONFIG_ENABLE_HTTP2_MONITORING=true
agents:
  containers:
    systemProbe:
      env:
        - name: DD_SERVICE_MONITORING_CONFIG_ENABLE_HTTP2_MONITORING
          value: "true"
Kafka モニタリングは、現在プレビュー中です。
:
  • プロデューサーとコンシューマーは、Linux カーネルバージョン 5.2 以降が必要です。
  • プロデューサーとコンシューマーは、Kafka あり、 TLS なしでインターフェイスする必要があります。
  • Agent バージョン 7.53 以上が必要です。

systemprobe.yaml に以下の構成を追加します。

service_monitoring_config:
  enabled: true
  enable_kafka_monitoring: true
DD_SERVICE_MONITORING_CONFIG_ENABLE_KAFKA_MONITORING=true
datadog:
  ...
  serviceMonitoring:
    enabled: true

agents:
  ...
  containers:
    systemProbe:
      env:
        - name: DD_SERVICE_MONITORING_CONFIG_ENABLE_KAFKA_MONITORING
          value: "true"

パスの除外と置換

http_replace_rules または DD_SYSTEM_PROBE_NETWORK_HTTP_REPLACE_RULES を使用して、正規表現に一致する HTTP エンドポイントを削除したり、一致するエンドポイントを異なる形式に変換したりするように Agent を構成します。

systemprobe に以下の構成を追加します。

network_config:
  http_replace_rules:
    - pattern: "<exclusion rule>"
      repl: ""
    - pattern: "<replacement rule>"
      repl: "<new format>"

たとえば、次の構成では、/api/ で始まるエンドポイント (例:/api/v1/users) を削除します。ただし、/api/users/api は削除されません。

network_config:
  http_replace_rules:
    - pattern: "/api/.*"
      repl: ""

以下の構成は、エンドポイント /api/users を新しいフォーマット /api/v1/users に合わせて置き換えたものです。

network_config:
  http_replace_rules:
    - pattern: "/api/users"
      repl: "/api/v1/users"

以下のエントリを追加します。

DD_SYSTEM_PROBE_NETWORK_HTTP_REPLACE_RULES=[{"pattern":"<drop regex>","repl":""},{"pattern":"<replace regex>","repl":"<replace pattern>"}]

次の例では、エンドポイント /myapi を削除し、/myapi2/newversion に置き換えています。

agents:
  containers:
    systemProbe:
      env:
        - name: DD_SYSTEM_PROBE_NETWORK_HTTP_REPLACE_RULES
          value: '[{"pattern":"/my-api","repl":""},{"pattern":"/my-api-2","repl":"/new-version"}]'
追加のプロトコルと暗号化方式のサポート

USM は、クラウドサービスの発見と追加のプロトコルおよびトラフィック暗号化方式のデコードに向けてプレビュー中です。詳細情報やプレビューへのアクセスをリクエストするには、「クラウドサービスの発見と追加のプロトコル」をお読みください。

参考資料