このページでは、Datadog の Containers ページの構成オプションについて説明します。Containers ページとその機能の詳細については、コンテナビュードキュメントを参照してください。

コンフィギュレーションオプション

コンテナを対象に入れる/除外する

コンテナは、リアルタイム収集の対象に入れたり、除外したりすることができます。

  • メインコンフィギュレーションファイル datadog.yaml に環境変数 DD_CONTAINER_EXCLUDE を渡すか、container_exclude: を追加することで、コンテナを対象から除外することができます。
  • メインコンフィギュレーションファイル datadog.yaml に環境変数 DD_CONTAINER_INCLUDE を渡すか、container_include: を追加することで、コンテナを対象に入れることができます。

どちらの引数も値はイメージ名になります。正規表現もサポートされています。

たとえば、名前が frontend で始まるコンテナ以外のすべての Debian イメージを除外するには、datadog.yaml ファイルに次の 2 つの構成行を追加します。

container_exclude: ["image:debian"]
container_include: ["name:frontend.*"]

: Agent 5 の場合は、これをメインの datadog.conf 構成ファイルに追加する代わりに、datadog.yaml ファイルを明示的に /etc/datadog-agent/ に追加してください。プロセス Agent は、ここにすべての構成オプションがあることを前提とするためです。この構成は、コンテナをリアルタイム収集から除外するだけで、オートディスカバリーからは除外しません

機密情報のスクラビング

機密データの漏洩を防ぐために、コンテナ YAML ファイル内のセンシティブワードをスクラブすることができます。Helm チャートではコンテナスクラビングがデフォルトで有効になっており、いくつかのデフォルトのセンシティブワードが提供されています。

  • password
  • passwd
  • mysql_pwd
  • access_token
  • auth_token
  • api_key
  • apikey
  • pwd
  • secret
  • credentials
  • stripetoken

環境変数 DD_ORCHESTRATOR_EXPLORER_CUSTOM_SENSITIVE_WORDS に単語のリストを与えることで、追加のセンシティブワードを設定することができます。これはデフォルトの単語に追加され、上書きされることはありません。

: Agent はテキストを小文字のパターンと比較するため、追加のセンシティブワードは小文字でなければなりません。つまり、passwordMY_PASSWORDMY_******* にスクラブしますが、PASSWORD はスクラブしません。

以下の Agent では、この環境変数を設定する必要があります。

  • process-agent
  • cluster-agent
env:
    - name: DD_ORCHESTRATOR_EXPLORER_CUSTOM_SENSITIVE_WORDS
      value: "customword1 customword2 customword3"

例えば、password はセンシティブワードなので、スクラバーは以下のいずれかの <MY_PASSWORD> をアスタリスクの文字列、*********** に変更します。

password <MY_PASSWORD>
password=<MY_PASSWORD>
password: <MY_PASSWORD>
password::::== <MY_PASSWORD>

ただし、スクラバーはセンシティブワードを含むパスのスクラビングは行いません。例えば、secret がセンシティブワードであっても、 /etc/vaultd/secret/haproxy-crt.pem/etc/vaultd/******/haproxy-crt.pem に上書きすることはありません。

オーケストレーターエクスプローラーの構成

リソース収集の互換性マトリックス

次の表は、収集されたリソースと、それぞれに対する最低限の Agent、Cluster Agent、Helm チャートのバージョンをリストで示したものです。

Resource最低限必要な Agent のバージョン最低限必要な Cluster Agent のバージョン*最低限必要な Helm チャートのバージョンKubernetes の最小バージョン
ClusterRoleBindings7.27.01.19.02.30.91.14.0
ClusterRoles7.27.01.19.02.30.91.14.0
クラスター7.27.01.12.02.10.01.17.0
CronJobs7.27.07.40.02.15.51.16.0
DaemonSets7.27.01.14.02.16.31.16.0
デプロイ7.27.01.11.02.10.01.16.0
Ingresses7.27.01.22.02.30.71.21.0
ジョブ7.27.01.13.12.15.51.16.0
ネームスペース7.27.07.41.02.30.91.17.0
ノード7.27.01.11.02.10.01.17.0
PersistentVolumes7.27.01.18.02.30.41.17.0
PersistentVolumeClaims7.27.01.18.02.30.41.17.0
ポッド7.27.01.11.02.10.01.17.0
ReplicaSet7.27.01.11.02.10.01.16.0
RoleBindings7.27.01.19.02.30.91.14.0
ロール7.27.01.19.02.30.91.14.0
ServiceAccounts7.27.01.19.02.30.91.17.0
サービス7.27.01.11.02.10.01.17.0
Statefulsets7.27.01.15.02.20.11.16.0
VerticalPodAutoscalers7.27.07.46.03.6.81.16.0

: バージョン 1.22 以降、Cluster Agent のバージョン番号は、バージョン 7.39.0 以降、Agent のリリース番号に従います。

カスタムタグをリソースに追加

カスタムタグを Kubernetes リソースに追加すると、Kubernetes リソースビュー内のフィルタリングが容易になります。

追加タグは、DD_ORCHESTRATOR_EXPLORER_EXTRA_TAGS 環境変数を通して追加されます。

: これらのタグは、Kubernetes リソースビューでのみ表示されます。

datadog-agent.yamlagents.containers.processAgent.envclusterAgent.env を設定し、Process Agent と Cluster Agent の両方で環境変数を追加します。

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    credentials:
      apiKey: <DATADOG_API_KEY>
      appKey: <DATADOG_APP_KEY>
  features:
    liveContainerCollection:
      enabled: true
    orchestratorExplorer:
      enabled: true
  override:
    agents:
      containers:
        processAgent:
          env:
            - name: "DD_ORCHESTRATOR_EXPLORER_EXTRA_TAGS"
              value: "tag1:value1 tag2:value2"
    clusterAgent:
      env:
        - name: "DD_ORCHESTRATOR_EXPLORER_EXTRA_TAGS"
          value: "tag1:value1 tag2:value2"

次に、新しい構成を適用します。

kubectl apply -n $DD_NAMESPACE -f datadog-agent.yaml

公式の Helm チャートを使用している場合、values.yamlagents.containers.processAgent.env および clusterAgent.env を設定して Process Agent と Cluster Agent の両方に環境変数を追加します。

agents:
  containers:
    processAgent:
      env:
        - name: "DD_ORCHESTRATOR_EXPLORER_EXTRA_TAGS"
          value: "tag1:value1 tag2:value2"
clusterAgent:
  env:
    - name: "DD_ORCHESTRATOR_EXPLORER_EXTRA_TAGS"
      value: "tag1:value1 tag2:value2"

次に、Helm チャートをアップグレードします。

Process Agent と Cluster Agent の両コンテナに環境変数を設定します。

- name: DD_ORCHESTRATOR_EXPLORER_EXTRA_TAGS
  value: "tag1:value1 tag2:value2"

参考資料