使用 Lambda 函数收集 Amazon CloudFront 日志
CloudFront 日志包含有关 CloudFront 收到的每个用户请求的信息,可帮助您识别 Cloudfront 提供的 Web 属性中的使用模式。您现在可以收集存储在 S3 存储桶中的 Cloudfront 日志,并将它们发送到 Site24x7 以通过 Lambda 函数进行监控。本文档将讨论如何配置您的 Site24x7 帐户以启用 Cloudfront 日志的日志监控。了解有关使用 Site24x7 进行日志管理的更多信息。
Site24x7 是 AWS 审核的 Lambda 服务就绪计划合作伙伴
创建日志配置文件
要收集 CloudFront 日志,您首先需要创建一个日志配置文件。导航到管理> AppLogs> 日志配置文件> 添加日志配置文件,然后按照以下说明进行操作:
- 配置文件名称:输入日志配置文件的名称。
- 日志类型:选择 CloudFront 日志。如果您尚未在 AWS 账户中启用CloudFront 日志,请按照此处提供的说明进行操作。
- 日志来源:选择 Amazon Lambda。
- 时区:为您的日志选择一个时区。
- 单击保存。
- 按照此处所述配置 Lambda 函数。
AWS 设置
1.获取 Lambda 代码
使用此链接获取 Lambda 函数所需的代码:
https://github.com/site24x7/applogs-aws-lambda/blob/master/s3/s3-sender.py
- 从服务下拉列表中选择Lambda ,然后选择创建函数。为函数定义一个名称,然后选择 Python 3.7 作为Runtime。
- 权限:您可以选择现有 IAM 角色或从 AWS 策略模板创建新角色。从策略模板下拉列表中选择Amazon S3 Object 只读权限,然后输入角色名称。您还可以选择创建新的用户角色并将权限扩展到其他服务。
- 添加触发器:向下滚动以选择S3 Bucket。添加到 S3 存储桶的任何日志文件都将由 Lambda 函数发送到 Site24x7。
- 配置触发器
- 存储桶:输入将从中收集日志的 S3 存储桶的名称。
- 事件类型:选择所有对象创建事件。
- 单击添加。
- 在打开的窗口中,单击Lambda 函数,如图所示:
- 滚动到编辑器,然后将提供的代码放在下面的链接中:
- 输入代码后,导航到 Site24x7 Web 客户端,选择管理> Applogs > 日志配置文件,然后选择创建的日志配置文件,然后复制屏幕上显示的代码作为变量logTypeConfig的输入。
- 将此代码粘贴到环境变量下,并在 AWS 控制台中 使用字段名称logTypeConfig 。
配置 CloudFront 日志记录
从Services下拉列表中,选择CloudFront,选择所需的CloudFront Distribution,然后选择Distribution Settings。单击编辑,启用Logging,然后选择要从中收集日志的 S3 存储桶的名称。
CloudFront 日志仪表板
AppLogs 为每种日志类型创建一个专属仪表板,并默认显示一些小窗件。以下是 CloudFront 日志仪表板中可用的小窗件列表:
- 总请求
- 平均响应时间
- 平均发送字节数
- 收到的字节数
- 失败的请求
- 前 20 个失败的请求
- 用户代理统计
- 请求趋势
- 状态码统计
- 响应时间统计
- 前 50 个成功请求
- 按源(用户代理)的失败请求