Variables d'environnement de l'Agent

Si vous utilisez l'Agent v5, référez-vous au référentiel GitHub de l'Agent Docker.

Présentation

Si vous utilisez l’Agent v6, la plupart des options du fichier de configuration principal de l’Agent (datadog.yaml) peuvent être définies via des variables d’environnement.

Recommandations

Datadog vous conseille d’utiliser le tagging de service unifié lorsque vous assignez des tags. Cette fonctionnalité permet de lier les données de télémétrie Datadog entre elles via trois tags standards : env, service et version. Pour découvrir comment configurer le tagging unifié pour votre environnement, consultez la documentation dédiée.

Cas d’utilisation généraux

Dans la plupart des cas, les règles suivantes doivent être respectées :

  • Les noms d’option doivent être écrits en majuscules et précédés de DD_ : hostname -> DD_HOSTNAME

  • Les valeurs de la liste doivent être séparées par des espaces. Les règles d’inclusion prennent en charge les expressions régulières et sont définies sous forme de liste de chaînes séparées par des virgules :

       container_include:
         - "image:cp-kafka"
         - "image:k8szk"
       # DD_CONTAINER_INCLUDE="image:cp-kafka image:k8szk"
    
  • Les options de configuration imbriquées dont les clés sont prédéfinies doivent être séparées par des tirets bas :

       cluster_agent:
         cmd_port: 5005
       # DD_CLUSTER_AGENT_CMD_PORT=5005
    
  • Les options de configuration imbriquées dont les clés sont définies par l’utilisateur doivent être au format JSON :

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

Remarque : lorsque vous spécifiez une option imbriquée avec une variable d’environnement, toutes les options imbriquées spécifiées sous l’option de configuration sont ignorées. L’option de configuration proxy fait toutefois exception à cette règle. Consultez la documentation relative au proxy de l’Agent pour en savoir plus.

Exceptions

  • Les options du fichier datadog.yaml ne peuvent pas toutes être définies via des variables d’environnement. Référez-vous au fichier config.go dans le référentiel GitHub de l’Agent Datadog pour en savoir plus. Les options disponibles via les variables d’environnement commencent par config.BindEnv*.

  • Les variables d’environnement spécifiques à un composant qui ne sont pas répertoriées dans le fichier config.go peuvent également être prises en charge.

Utiliser des variables d’environnement dans des unités systemd

Dans les systèmes d’exploitation qui utilisent systemd pour gérer des services, les variables dʼenvironnement (globales, comme /etc/environment, ou basées sur les sessions, comme export VAR=value) ne sont généralement pas mises à la disposition de services, sauf si elles sont configurées à cet effet. Consultez la page du manuel systemd Exec pour en savoir plus.

À partir de la version 7.45 de lʼAgent Datadog, le service de lʼAgent Datadog (datadog-agent.service) permet de charger les affectations de variables dʼenvironnement à partir d’un fichier (<ETC_DIR>/environment).

  1. Créez /etc/datadog-agent/environment s’il n’existe pas.
  2. Définissez les affectations de variables dʼenvironnement séparées par des sauts de ligne. Exemple :
GODEBUG=x509ignoreCN=0,x509sha1=1
DD_HOSTNAME=myhost.local
DD_TAGS=env:dev service:foo
  1. Redémarrez l’Agent pour que les modifications soient appliquées.

Pour aller plus loin