Метрики Datadog не выгружаются из Docker, хотя агент Datadog работает на хосте - PullRequest
0 голосов
/ 06 мая 2019

Вот настройки, которые у меня есть на данный момент.

Мне выдал экземпляр EC2 от DevOps от моей команды, и экземпляр EC2 претерпел некоторые изменения.

Насколько я понимаю, datadog-agent (версия 6) работает на экземпляре EC2, который у меня есть в данный момент. Запуск sudo datadog-agent status дал следующее:

===============
Agent (v6.11.0)
===============
...

Выполнение следующего кода (с использованием библиотеки datadogpy) на моем хосте EC2 позволяет мне загружать свои пользовательские метрики в datadog:

from datadog import statsd

statsd.gauge(CUSTOMISED_CPU_USAGE,
             value=percentageCPUUse,
             tags=[])

По сути, метрика берется из AWS (а затем манипулирует ею), с чем у меня нет проблем. Инициализация не требуется. Это устаревший код.

Однако, как только я попробую тот же код в Docker-контейнере (используя Docker на основе Alpine), метрики в Datadog не отображаются. Другими словами, datadog не установлен в контейнере Docker.

Вот что я пробовал:

(1) Использование docker bind для предоставления /etc/datadog-agent/datadog.yaml контейнеру Docker - более конкретно, -v /etc/datadog-agent/:/etc/datadog-agent/, чтобы позволить Docker-контейнеру иметь доступ к ключу API в datadog.yaml

(2) На основе докера на изображении из журнала данных. Тем не менее, я понимаю, что одновременно может работать только одна служба данных.

(3) Установите non_local_traffic: yes и перезапустите службу, как указано здесь: агент данных недоступен изнутри док-контейнера

Я пытался отладить это довольно долго, и это довольно головная боль.

...