使用 Lambda 函数采集 Amazon CloudFront 日志
CloudFront 日志包含 CloudFront 接收的每个用户请求的信息,帮助您识别 CloudFront 所服务的 Web 属性的使用模式。您现在可以通过 Lambda 函数采集存储在 S3 存储桶中的 CloudFront 日志,并将其发送至 Site24x7 进行监控。本文档将介绍如何配置您的 Site24x7 账户以启用 CloudFront 日志监控。了解有关 Site24x7 日志管理的更多信息。
创建日志配置文件
要采集 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
2. 配置 Lambda 函数
- 从服务下拉列表中选择 Lambda,然后选择"创建函数"。选择"从头开始创建",为函数定义名称,并选择 Python 3.7 作为运行时。

- 权限:您可以选择现有的 IAM 角色,或从 AWS 策略模板创建新角色。从策略模板下拉菜单中选择 Amazon S3 对象只读权限,并输入角色名称。您也可以选择创建新的用户角色并将权限扩展到其他服务。
- 添加触发器:向下滚动选择 S3 存储桶。添加到 S3 存储桶的所有日志文件都将由 Lambda 函数发送到 Site24x7。

- 配置触发器
- 存储桶:输入将从中采集日志的 S3 存储桶名称。
- 事件类型:选择"所有对象创建事件"。
- 单击添加。
- 在打开的窗口中,按如图所示单击 Lambda 函数:

- 滚动到编辑器,粘贴以下链接中提供的代码:
https://github.com/site24x7/applogs-aws-lambda/blob/master/s3/s3-sender.py
- 输入代码后,导航至 Site24x7 Web 客户端,选择管理 > AppLogs > 日志配置文件,然后选择已创建的日志配置文件,并将屏幕上显示的代码复制为变量 logTypeConfig 的输入值。

- 在 AWS 控制台中,将此代码以 logTypeConfig 为字段名粘贴到环境变量下。

配置 CloudFront 日志记录
在服务下拉菜单中选择 CloudFront,选择所需的 CloudFront 分发,然后选择分发设置。单击编辑,启用日志记录,并选择要从中采集日志的 S3 存储桶名称。

CloudFront 日志仪表板
AppLogs 为每种日志类型创建专属仪表板,并默认显示若干小组件。以下是 CloudFront 日志仪表板中可用的小组件列表:
- 总请求数
- 平均响应时间
- 平均发送字节数
- 接收字节数
- 失败请求数
- 失败请求 Top 20
- 用户代理统计
- 请求趋势
- 状态码统计
- 响应时间统计
- 成功请求 Top 50
- 按来源(用户代理)划分的失败请求

注意
除默认小组件外,您保存的搜索也将自动添加到仪表板中。
