Amazon AWS Lambda NodeJS日志记录

时间:2018-03-01 15:32:47

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

我有一个同步作业(在Node.js中),它必须在一批中处理数百个文档。对于他们每个人也执行几项任务。通常,在部署之后,这样的工作将变成黑盒子:没有propper日志记录就不可能找到问题。

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

在AWS上部署后,是否有针对日志记录的最佳做法/限制?我也害怕成本。

谢谢!

2 个答案:

答案 0 :(得分:2)

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

如果您的主要需求是可视化数据工作流程,则可以使用AWS Step Functions。他们最近发布了一个便宜的版本,名为Express Workflows

细分为多个Lambda,每个任务一个。 Step Functions将负责所有编排,错误处理,重试等。使用AWS SQS可能也有助于简化批处理过程。

为获得全面的可视性,将需要专门的工具。在无服务器环境中,我们无法控制基础架构,因此需要一种不同的方法。我建议您检出Dashbird

答案 1 :(得分:0)

我认为没有太多限制,您可以在此处找到定价:https://aws.amazon.com/cloudwatch/pricing/

此外,您可以使用winston之类的记录器来控制prod中的日志记录级别,例如dev中的debug和prod中的info / warn。