Як з'єднати Django, що працює в контейнері, з агентом datadog, що працює в хості


1

Я дотримувався всіх інструкцій у datadog, але не можу змусити його працювати. Кроки, які я зробив досі:

Я дотримувався вказівок у програмі Tracing Docker Applications і налаштував своє Django на щось подібне:

DATADOG_TRACE = {
    'DEFAULT_SERVICE': 'my-app',
    'TAGS': {'env': 'production'},
    'AGENT_HOSTNAME': subprocess.check_output("/sbin/ip route | /usr/bin/awk '/default/ { print $3 }'", shell=True).strip(),
}

Зауважте, що я з'ясував спосіб отримати IP хост з ip routeкоманди.

Але я отримую таку помилку:

ERROR:cannot send spans to 172.18.0.1:8126: [Errno 111] Connection refused

Відповіді:


1

Отже, я нарешті зрозумів це. Агент Datadog відхиляє з'єднання, оскільки він прив'язаний лише до localhost. Я відредагував файл /etc/datadog-agent/datadog.yamlі змінив таке:

use_dogstatsd: true
bind_host: 0.0.0.0

А зараз це працює як шарм!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.