ローカルで起動したアプリケーションからDatadogにトレースを送ってちゃんと取れているかな?というのを確認したい。結論、公式サイト書いてあるようにdockerコンテナを立ち上げ、アプリケーションから接続すればOK。
Docker、containerd、Podman に対応した Docker Agent
公式サイトのものからちょっと変えてこうした:
docker run --rm --name dd-agent \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v /proc/:/host/proc/:ro \
-v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \
-p 8125:8125 \
-p 8126:8126 \
-e DD_API_KEY=xxxxxx\
-e DD_APM_ENABLED=true \
-e DD_ENV="local" \
gcr.io/datadoghq/agent:7
8125:8125
: ddstats用、トレースを取るだけならいらない8126:8126
: トレース窓口--rm
: Ctrl+C で落ちてほしいDD_APM_ENABLED
: トレースを取るDD_ENV
: テスト環境、本番環境のデータに影響を与えたくない、混ざって探しにくくしたくない
これで、アプリケーションから localhost:8126
でトレースを送れた。