このページでは、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 チャートではコンテナスクラビングがデフォルトで有効になっており、いくつかのデフォルトのセンシティブワードが提供されています。
passwordpasswdmysql_pwdaccess_tokenauth_tokenapi_keyapikeypwdsecretcredentialsstripetoken
環境変数 DD_ORCHESTRATOR_EXPLORER_CUSTOM_SENSITIVE_WORDS に単語のリストを与えることで、追加のセンシティブワードを設定することができます。これはデフォルトの単語に追加され、上書きされることはありません。
注: Agent はテキストを小文字のパターンと比較するため、追加のセンシティブワードは小文字でなければなりません。つまり、passwordは MY_PASSWORD を MY_******* にスクラブしますが、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 の最小バージョン |
|---|
| ClusterRoleBindings | 7.33.0 | 1.19.0 | 2.30.9 | 1.14.0 |
| ClusterRoles | 7.33.0 | 1.19.0 | 2.30.9 | 1.14.0 |
| クラスター | 7.33.0 | 1.18.0 | 2.10.0 | 1.17.0 |
| CronJobs | 7.33.0 | 7.40.0 | 2.15.5 | 1.16.0 |
| CustomResourceDefinitions | 7.51.0 | 7.51.0 | 3.39.2 | v1.16.0 |
| CustomResources | 7.51.0 | 7.51.0 | 3.39.2 | v1.16.0 |
| DaemonSets | 7.33.0 | 1.18.0 | 2.16.3 | 1.16.0 |
| デプロイ | 7.33.0 | 1.18.0 | 2.10.0 | 1.16.0 |
| HorizontalPodAutoscalers | 7.33.0 | 7.51.0 | 2.10.0 | 1.1.1 |
| Ingresses | 7.33.0 | 1.22.0 | 2.30.7 | 1.21.0 |
| ジョブ | 7.33.0 | 1.18.0 | 2.15.5 | 1.16.0 |
| ネームスペース | 7.33.0 | 7.41.0 | 2.30.9 | 1.17.0 |
| Network Policies | 7.33.0 | 7.56.0 | 3.57.2 | 1.14.0 |
| ノード | 7.33.0 | 1.18.0 | 2.10.0 | 1.17.0 |
| PersistentVolumeClaims | 7.33.0 | 1.18.0 | 2.30.4 | 1.17.0 |
| PersistentVolumes | 7.33.0 | 1.18.0 | 2.30.4 | 1.17.0 |
| ポッド | 7.33.0 | 1.18.0 | 3.9.0 | 1.17.0 |
| ReplicaSet | 7.33.0 | 1.18.0 | 2.10.0 | 1.16.0 |
| RoleBindings | 7.33.0 | 1.19.0 | 2.30.9 | 1.14.0 |
| ロール | 7.33.0 | 1.19.0 | 2.30.9 | 1.14.0 |
| ServiceAccounts | 7.33.0 | 1.19.0 | 2.30.9 | 1.17.0 |
| サービス | 7.33.0 | 1.18.0 | 2.10.0 | 1.17.0 |
| Statefulsets | 7.33.0 | 1.15.0 | 2.20.1 | 1.16.0 |
| VerticalPodAutoscalers | 7.33.0 | 7.46.0 | 3.6.8 | 1.16.0 |
注: バージョン 1.22 以降、Cluster Agent のバージョン番号は、バージョン 7.39.0 以降、Agent のリリース番号に従います。
カスタムタグをリソースに追加
カスタムタグを Kubernetes リソースに追加すると、Kubernetes リソースビュー内のフィルタリングが容易になります。
追加タグは、DD_ORCHESTRATOR_EXPLORER_EXTRA_TAGS 環境変数を通して追加されます。
注: これらのタグは、Kubernetes リソースビューでのみ表示されます。
datadog-agent.yaml に agents.containers.processAgent.env と clusterAgent.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.yaml に agents.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"
参考資料