我很难使用 DataDog 代理从部署在 ECS 中的 python 应用程序收集日志。我在 ECS 中部署了一个 dockerized Flask 应用程序。该应用程序将日志吐出到标准输出。我现在需要在 DataDog 中监控它们。
我添加了一个新的 DataDog 代理容器(与 Fargate 兼容,因为我使用的是 Fargate),它作为与应用程序相同任务的一部分运行。我可以在 app.datadoghq.com/containers 中看到这两个容器的 CPU 和内存指标,这意味着 DataDog 代理正在工作。
我现在需要应用程序日志。我浏览了https://app.datadoghq.com/logs/onboarding/container中的文档,添加了
"dockerLabels": {
"com.datadoghq.ad.logs": "[{\"source\": \"python\", \"service\": \"flask\"}]"
},
到应用程序容器和以下 env.vars 到 DataDog 容器:
"environment": [
{
"name": "DD_API_KEY",
"value": "<key>"
},
{
"name": "DD_LOGS_ENABLED",
"value": "true"
},
{
"name": "DD_LOGS_CONFIG_CONTAINER_COLLECT_ALL",
"value": "true"
},
{
"name": "SD_BACKEND",
"value": "docker"
},
{
"name": "ECS_FARGATE",
"value": "true"
}
]
但这似乎还不够。我是否朝着正确的方向前进?我错过了什么?