Variables d'environnement de l'Agent
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.
Agent de trace APM
Agent Live Process
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
).
- Créez
/etc/datadog-agent/environment
s’il n’existe pas. - 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
- Redémarrez l’Agent pour que les modifications soient appliquées.
Pour aller plus loin
Documentation, liens et articles supplémentaires utiles: