如何将 ECS Fargate 任务中由一个进程创建的日志转发到 Cloudwatch?

0

【以下的问题经过翻译处理】 我的ECS Fargate任务定义中有以下内容,它正在启动一个容器。

"logConfiguration": {
    "logDriver": "awslogs",
    "options": {
        "awslogs-group": "my-log-group",
        "awslogs-region": "us-east-1",
        "awslogs-stream-prefix": "my-log-stream-prefix"
    }
}

我看到了Docker容器的entrypoint.sh脚本抛出的日志,但我还想发送/查看来自容器内部的/home/my-app/application.log的日志,这个文件只在容器启动后才被创建和填充。

profile picture
专家
已提问 5 个月前31 查看次数
1 回答
0

【以下的回答经过翻译处理】 如果日志驱动程序是awslogs,则可以通过将输出目的地设置为“/ dev / stdout”或“/ dev / stderr”将日志输出到CloudWatch日志。 awslogs日志驱动程序将仅将Docker的STDOUT和STDERR I / O流的容器日志传递到CloudWatch Logs中。因此,请验证应用程序是否将日志发送到STDOUT和STDERR I / O流。在容器构建期间确保为应用程序设置正确的日志级别。根据您的应用程序,您可以通过环境变量或配置文件设置日志级别。

因此,如果您将“/ home / my-app / application.log”输出到“/ dev / stdout”,则可以在CloudWatch日志中查看它。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则