通过Lambda记录用户应用程序交互事件的AWS服务,可能是Cloudwatch?

时间:2018-06-07 14:05:45

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

我们正在开发一个在Lambda中运行的API服务器(graphql,prisma,node)(通过Apex Up部署)。

我们想记录一些用户事件,例如:

  • 登录成功
  • 登录失败
  • 用户采取了行动X

目前,我们只需通过主API访问数据库,在我们的应用程序的Aurora数据库中记录这些内容。当用户执行许多操作时,这会导致大量写入和行。所以我们对此大规模有点不安。

只是想知道我们是否可以更好地将这些东西直接存储在Cloudwatch中。 Cloudwatch是否适合我们希望归类的数据,然后由user_idevent_type进行分析/查询?

还有其他更适合AWS或其他的东西吗?

1 个答案:

答案 0 :(得分:0)

CloudWatch是存储原始未处理日志的好地方。 但是,您无法在CloudWatch中查询自定义字段(例如user_idevent_type)。

您可以use CloudWatch subscription filters将日志从CloudWatch发送到Kinesis Stream进行进一步处理。然后你可以subscribe a Lambda Function to your Kinesis Stream

在Lamba函数中,您可以随意使用每个日志条目。以下是一些想法:

  • 在S3中以Parquet格式存储日志条目,稍后使用Redshift Spectrum
  • 进行查询
  • 解析日志条目并将其发送到Redshift数据库
  • 解析日志条目并将其发送到ElasticSearch集群,使用Kibana进行查询
  • 等。