#python #docker #github-actions #datadog #github-actions-self-hosted-runners
#python #docker #github-действия #datadog #github-действия-автономные-бегуны
Вопрос:
Я пытаюсь собирать журналы из заданий cron, выполняемых на наших автономных Github runners, но пока могу видеть только фактические журналы хоста github-runner.
Я создал автономный Github Runner в AWS, работающий на Unbtu, со стандартной конфигурацией.
Мы также установили Datadog agent v7 с их сценарием и базовой конфигурацией и добавили сбор журналов из файлов, используя эти инструкции
Наша конфигурация для сбора журналов приведена ниже.
curl https://s3.amazonaws.com/dd-agent/scripts/install_script.sh -o ddinstall.sh
export DD_API_KEY=${datadog_api_key}
export DD_SITE=${datadog_site}
export DD_AGENT_MAJOR_VERSION=7
bash ./ddinstall.sh
# Configure logging for GitHub runner
tee /etc/datadog-agent/conf.d/runner-logs.yaml << EOF
logs:
- type: file
path: /home/ubuntu/actions-runner/_diag/Worker_*.log
service: github
source: github-worker
- type: file
path: /home/ubuntu/actions-runner/_diag/Runner_*.log
service: github
source: github-runner
EOF
chown dd-agent:dd-agent /etc/datadog-agent/conf.d/runner-logs.yaml
# Enable log collection
echo 'logs_enabled: true' >> /etc/datadog-agent/datadog.yaml
systemctl restart datadog-agent
После этих шагов я могу видеть журналы с наших серверов Github runners. Однако на этих бегунах у нас есть несколько заданий python cron, выполняемых в контейнерах Docker, регистрирующихся в стандартный вывод. Я могу видеть эти журналы в пользовательском интерфейсе Github Runner, но они недоступны в Datadog, и это те журналы, которые я действительно хотел бы захватить, чтобы я мог извлекать метрики.
Нужны ли контейнеры docker для скриптов python также для какой-либо специальной настройки datadog? Нужно ли им регистрироваться в файле, который агенты datadog регистрируют как файл журнала в приведенной выше настройке?
Комментарии:
1. Похоже, что агент сбора данных должен быть настроен в каждом из контейнеров docker, чтобы можно было захватывать и отправлять стандартные журналы. В противном случае агент должен собирать только журналы хост-компьютеров, а не контейнеры docker.
2. Ах, это, как ни странно, имеет смысл. Я попробую, Эдвард, и опубликую свои результаты! Спасибо и счастливых праздников