Agent 環境変数

Agent v5 の場合は、Docker Agent GitHub リポジトリを参照してください。

概要

Agent v6 の場合、Agent のメイン構成ファイルdatadog.yaml)の構成オプションのほとんどは、環境変数を介して設定できます。

推奨事項

Datadog では、タグを付ける際のベストプラクティスとして、統合サービスタグ付けを使用することをおすすめしています。統合サービスタグ付けは、envserviceversion の 3 つの標準タグを使用して Datadog テレメトリーと結合します。ご使用環境で統合タグ付けを構成する方法に関する詳細は、統合サービスタグ付けに関するドキュメントをご参照ください。

一般的な使用

一般に、次のルールを使用します。

  • オプション名は、大文字で DD_ プレフィックスを付ける必要があります: hostname -> DD_HOSTNAME

  • リストの値はスペース区切りにします(包含ルールは正規表現をサポートし、カンマ区切り文字列のリストとして定義されます)。

       container_include:
         - "image:cp-kafka"
         - "image:k8szk"
       # DD_CONTAINER_INCLUDE="image:cp-kafka image:k8szk"
    
  • 事前定義キーを使用した構成オプションのネストは、アンダースコアで区切る必要があります。

       cluster_agent:
         cmd_port: 5005
       # DD_CLUSTER_AGENT_CMD_PORT=5005
    
  • ユーザー定義キーを使用した構成オプションのネストは、JSON 形式である必要があります。

       container_env_as_tags:
         ENVVAR_NAME: tag_name
       # DD_CONTAINER_ENV_AS_TAGS='{"ENVVAR_NAME": "tag_name"}'
    

: 環境変数を使用してネストされたオプションを指定すると、構成オプションで指定されたネストされたオプションがすべて上書きされます。このルールの例外は proxy 構成オプションです。詳細については、Agent プロキシのドキュメントを参照してください。

例外

  • すべての datadog.yaml オプションが環境変数で使用できるわけではありません。Datadog Agent GitHub リポジトリの config.go を参照してください。環境変数を持つオプションは、config.BindEnv* で始まります。

  • config.go にリストアップされていない、コンポーネント固有の環境変数もサポートされる場合があります。

systemd ユニットでの環境変数の使用

systemd を使ってサービスを管理するオペレーティングシステムでは、環境変数 (グローバル: 例えば、/etc/environment、またはセッションベース: 例えば、export VAR=value) は通常、そのように構成されていない限りサービスで利用できません。詳しくは systemd Exec マニュアルページを参照してください。

Datadog Agent 7.45 から、Datadog Agent サービス (datadog-agent.service ユニット) は、オプションで環境変数の割り当てをファイル (<ETC_DIR>/environment) からロードできるようになりました。

  1. /etc/datadog-agent/environment が存在しない場合は作成します。
  2. 改行で区切られた環境変数の割り当てを定義します。例:
GODEBUG=x509ignoreCN=0,x509sha1=1
DD_HOSTNAME=myhost.local
DD_TAGS=env:dev service:foo
  1. 変更を有効にするためにサービスを再起動する

その他の参考資料