我有一个同步作业(在Node.js中),它必须在一批中处理数百个文档。对于他们每个人也执行几项任务。通常,在部署之后,这样的工作将变成黑盒子:没有propper日志记录就不可能找到问题。
因此,我记录任何合理的信息 - 正在处理哪个文档作业,现在正在执行什么任务等。我使用console.log / console.error进行日志记录。这会导致一个非常大的日志文件,这在运行localy时不是一个大问题。
在AWS上部署后,是否有针对日志记录的最佳做法/限制?我也害怕成本。
谢谢!
答案 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。