Configurez les paramètres suivants dans la définition de tâche pour le conteneur gcr.io/datadoghq/agent. Définissez le port du host/conteneur portMappings sur 8126 avec le protocole tcp :
Pour vous assurer que l’Agent envoie les données au bon site Datadog, définissez la variable d’environnement suivante, en remplaçant <SITE_DATADOG> par votre site :
Attribuez l’adresse IP privée utilisée par chaque instance sous-jacente sur laquelle vos conteneurs sont exécutés dans votre conteneur d’application à la variable d’environnement DD_AGENT_HOST. Les traces de votre application seront ainsi transmises à l’Agent.
L’endpoint de métadonnées EC2 d’Amazon permet de découvrir des adresses IP privées. Pour obtenir l’adresse IP privée de chaque host, effectuez un curl sur l’URL suivante :
Définissez le résultat comme la variable d’environnement de hostname de votre Agent de trace pour chaque conteneur d’application qui transmet des traces à l’APM :
os.environ['DD_AGENT_HOST'] = <IP_PRIVÉE_EC2>
Variables au moment du lancement
Si les variables de votre application ECS sont définies au moment du lancement, vous devez définir le hostname en tant que variable d’environnement avec DD_AGENT_HOST. Vous pouvez également définir le hostname dans le code source de votre application pour Python, Javascript ou Ruby. Pour Java et .NET, vous pouvez définir le hostname dans la tâche ECS. Par exemple :
packagemainimport("net/http""io/ioutil""gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer")resp,err:=http.Get("http://169.254.169.254/latest/meta-data/local-ipv4")bodyBytes,err:=ioutil.ReadAll(resp.Body)host:=string(bodyBytes)iferr==nil{//set the output of the curl command to the DD_Agent_host env
os.Setenv("DD_AGENT_HOST",host)// tell the trace agent the host setting
tracer.Start(tracer.WithAgentAddr(host))defertracer.Stop()
Copiez ce script dans le champ entryPoint de votre définition de tâche ECS en mettant à jour les valeurs avec le fichier JAR et les flags d’argument de votre application.
Pour Apache et mod_php dans VirtualHost ou dans un fichier de configuration de serveur, utilisez PassEnv pour définir DD_AGENT_HOST ainsi que d’autres variables d’environnement. Vous pouvez notamment définir les variables de tagging de service unifié indiquées dans l’exemple suivant :
Lorsque le paramètre ini est défini sur clear_env=on, vous devez également configurer des variables d’environnement dans le fichier de workers du pool www.conf, afin qu’ils puissent être lus à partir du host. Profitez-en pour définir DD_AGENT_HOST ainsi que d’autres variables d’environnement. Vous pouvez notamment définir les variables de tagging de service unifié indiquées dans l’exemple suivant :