在 AWS Fargate 上记录 Nodejs Express

Logging for Nodejs Express on AWS Fargate

我正在使用 Nodejs/Express 开发应用程序,我计划 运行 AWS Fargate 上的应用程序。对于日志记录,我希望在 AWS Cloudwatch 中提供应用程序日志。将 Nodejs/Express 登录到 Cloudwatch 的最佳方式是什么?有我可以使用的图书馆吗?

收集日志的方式有很多种,你是写到控制台,还是使用一些日志工具。以下是一些想法:

如果您将 Amazon ECS 或 Fargate 与 ECS 结合使用,则可以使用 AWS Log driver

如果您将 Amazon EKS 或 Fargate 与 EKS 结合使用,则可以配置 FluentD to log to cloudwatch

CloudWatch Agent for Docker.

使用 CloudWatch Container Insights 从您的容器化应用程序和微服务中收集、聚合和汇总指标和日志。 Container Insights 适用于 Amazon Elastic Container Service (Amazon ECS)、Amazon Elastic Kubernetes Service (Amazon EKS) 和 Amazon EC2 上的 Kubernetes 平台。 Amazon ECS 支持包括对 Fargate 的支持。

除了日志和见解之外,您还可以使用 X-Ray. Here are some X-Ray examples with Fargate 记录微服务之间的交互。

EKS控制平面也可以配置为log directly to CloudWatch

正如您提到的,您正在使用 Node.Js,如果您不想使用控制台日志记录,而是使用这里的库,则有以下三个: