amazon-web-services - 如何获得基于 CloudFront URL 模式请求计数的 CloudWatch 指标?
问题描述
我有一个 CloudFront 分配,需要获取一些对某些 URL 模式(例如/user/[0-9]+/profile.html
)的请求。我想将它作为 ClowdWatch 指标,因为我想将它与其他一些指标结合起来并设置警报。
最简单的方法是什么?
我看到 CloudFront 向 CloudWatch 发送了一些预定义的指标,包括请求数,但我无法使用 URL 模式对其进行过滤。另外,我看到 CloudFront 将日志发送到 S3,是否可以在 CloudWatch 中拥有相同的日志,以便我可以按我需要的模式进行过滤?
解决方案
CloudFront 预定义的“请求”指标显示请求总数,CloudFront 只能将日志发送到 S3 存储桶,它不会将其发送到 CloudWatch 日志组。在我看来,最好的方法是使用 Lambda。您可以在 S3 上启用事件通知以在 PUT 请求上触发 lambda,lambda 函数可以解析文件并计算 URI /user/[0-9]+/profile.html 的事件并直接在 CloudWatch 指标上发布数据点。代码是这里的棘手部分。
推荐阅读
- python - 初始化后 Django 失去与 MySQL 数据库的连接(Docker)
- mongodb - Docker 无法在内部将服务名称转换为 IP 地址
- flutter - 是否可以动态禁用flutter_swiper的滑动几秒钟?
- c++ - 模板中的第二个 lambda 函数导致编译错误(智能感知未检测到问题) - 错误 C2988
- c# - 流利的断言:字典应该是等效的,以排除字典值上的属性
- reactjs - 反应:给定一个“键”,将带有该键的元素(来自array.map)滚动到视图中
- python-3.x - DynamoDB 和 Python Docker 连接“无法连接”
- java - 有没有更有效的方法来为 Android Studio 中的 Button 元素提供随机值?
- ejabberd - 如何获取ejabberd MUC中的离线用户列表?
- discord - 更改 discord.js 的冷却时间垃圾邮件