node.js - 亚马逊 AWS Lambda NodeJS 日志记录

标签 node.js amazon-web-services aws-lambda amazon-cloudwatchlogs

我有一个同步作业(在 Node.js 中),它必须批量处理数百个文档。他们每个人还执行多项任务。通常,部署后,此类作业将成为黑匣子:如果没有适当的日志记录,就不可能发现问题。

因此,我会记录任何合理的信息 - 正在处理哪个文档作业、现在正在执行什么任务等。我使用 console.log/console.error 进行日志记录。这会产生一个非常大的日志文件,在本地运行时这并不是什么大问题。

在 AWS 上部署后,日志记录是否有最佳实践/限制?我也担心成本。

谢谢!

最佳答案

有很多方法可以解决这个问题。

如果您的主要需求是可视化数据工作流程,请使用 AWS Step Functions会做的。他们最近推出了一个名为 Express Workflows 的廉价版本。 .

分解为多个 Lambda,每个任务对应一个。 Step Functions 将负责所有编排、错误处理、重试等。使用 AWS SQS也可能有利于平滑批处理过程。

为了获得完整的可见性,需要专门的工具。在无服务器中,我们无法控制基础设施,因此需要不同的方法。我建议查看Dashbird .

关于node.js - 亚马逊 AWS Lambda NodeJS 日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49053158/

相关文章:

node.js - v8/node.js 中的内部数组表示

javascript - 使用变量浏览 yaml 文件

node.js - 错误! Buffer.alloc 不是函数

amazon-web-services - AWS Cognito - 记录最终用户事件以进行审计

git - 如何从远程 ssh 传入 git rsa 密码?

amazon-web-services - Amazon Lex "slots"用于字母数字值

javascript - AWS Lambda 和 DynamoDB 流。执行失败怎么办?下一次尝试会处理相同的记录吗?

aws-lambda - Lambda 无法向 SQS 发送消息

aws-lambda - Lambda 链接 - 使用 terraform 从另一个 lambda 调用 lambda

javascript - 在 bluebird 中使用 ".then"链接异步函数。什么是最好的方法?