监视aws lambda

时间:2018-03-21 15:43:52

标签: python amazon-web-services aws-lambda

我的python3 lambda函数处理来自dynamodb的记录。我在cloudwatch中打印lambda执行的每一步。现在我正处于生产中部署和监控我的lambdas的阶段。有没有办法我可以知道哪些记录是由整个lambda以统一的方式执行的?

我也在使用X射线来了解我的lambdas花了多少时间和错误。此外,测量持续时间,调用,错误。我想知道有多少记录被执行?感谢。

2 个答案:

答案 0 :(得分:2)

您可以使用CloudWatchLogs登录自定义日志组和日志流。

您可以在部署期间将配置名称组/流更改为不同阶段。

查看如何使用boto3 - Client.put_log_events

进行操作

您可以查看我的样本中的NodeJS - there。对于python,代码更加简单和优雅。

PS:如果您对转换有任何问题,请发表评论。

答案 1 :(得分:0)

虽然打印每行要记录的日志可能会帮助您调试和排除代码故障,但这是一个非常手动且不可扩展的选项。此外,您会无休止地浏览无尽的日志。

在无服务器的世界中(尤其是在具有Lambda,DynamoDB,SQS,SNS,API网关和许多其他资源的AWS中),您应该使用正确的工具,以使您对架构具有可见性,并允许您可以快速解决问题,并确定无服务器的特定问题(超时,内存不足等)。

您可以尝试的一件事是从CloudWatch stream out all your logs到外部服务(例如ELK)。它将使您轻松地探索它们。

否则,我建议为无服务器使用专用的解决方案-那里有几种解决方案(我们自己的Epsagon,IOpipe,Dashbird)。