我正在尝试从我们自托管的 Github 运行器上运行的 cron 作业收集日志,但到目前为止只能看到实际的 github-runner 主机日志。
我在 AWS 中创建了一个自托管的 Github Runner,在 Unbtu 上使用标准配置运行。
我们还安装了 Datadog 代理 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 服务器的日志。但是,在这些运行器上,我们有几个在 Docker 容器中运行的 python cron 作业,记录到标准输出。我可以在 Github Runner UI 中看到这些日志,但它们在 Datadog 中不可用,而这些是我真正想要捕获的日志,因此我可以从中提取指标。
python 脚本的 docker 容器是否也需要一些特殊的数据狗设置?他们是否需要记录到数据狗代理在上述设置中注册为日志文件的文件?