首页 > 解决方案 > 如何获得基于 CloudFront URL 模式请求计数的 CloudWatch 指标?

问题描述

我有一个 CloudFront 分配,需要获取一些对某些 URL 模式(例如/user/[0-9]+/profile.html)的请求。我想将它作为 ClowdWatch 指标,因为我想将它与其他一些指标结合起来并设置警报。

最简单的方法是什么?

我看到 CloudFront 向 CloudWatch 发送了一些预定义的指标,包括请求数,但我无法使用 URL 模式对其进行过滤。另外,我看到 CloudFront 将日志发送到 S3,是否可以在 CloudWatch 中拥有相同的日志,以便我可以按我需要的模式进行过滤?

标签: amazon-web-servicesamazon-cloudfrontamazon-cloudwatch

解决方案


CloudFront 预定义的“请求”指标显示请求总数,CloudFront 只能将日志发送到 S3 存储桶,它不会将其发送到 CloudWatch 日志组。在我看来,最好的方法是使用 Lambda。您可以在 S3 上启用事件通知以在 PUT 请求上触发 lambda,lambda 函数可以解析文件并计算 URI /user/[0-9]+/profile.html 的事件并直接在 CloudWatch 指标上发布数据点。代码是这里的棘手部分。


推荐阅读