帮助手册 CloudFront logs

使用 Lambda 函数收集 Amazon CloudFront 日志

CloudFront 日志包含有关 CloudFront 收到的每个用户请求的信息,可帮助您识别 Cloudfront 提供的 Web 属性中的使用模式。您现在可以收集存储在 S3 存储桶中的 Cloudfront 日志,并将它们发送到 Site24x7 以通过 Lambda 函数进行监控。本文档将讨论如何配置您的 Site24x7 帐户以启用 Cloudfront 日志的日志监控。了解有关使用 Site24x7 进行日志管理的更多信息

Site24x7 是 AWS 审核的 Lambda 服务就绪计划合作伙伴

AWS-reviewed Lambda Service Ready Program partner

创建日志配置文件

要收集 CloudFront 日志,您首先需要创建一个日志配置文件。导航到管理AppLogs日志配置文件添加日志配置文件,然后按照以下说明进行操作:

  1. 配置文件名称:输入日志配置文件的名称。
  2. 日志类型:选择 CloudFront 日志。如果您尚未在 AWS 账户中启用CloudFront 日志,请按照此处提供的说明进行操作
  3. 日志来源:选择 Amazon Lambda。
  4. 时区:为您的日志选择一个时区。
  5. 单击保存。
  6. 按照此处所述配置 Lambda 函数

AWS 设置

1.获取 Lambda 代码

使用此链接获取 Lambda 函数所需的代码:

https://github.com/site24x7/applogs-aws-lambda/blob/master/s3/s3-sender.py

2. 配置 Lambda 函数

  • 服务下拉列表中选择Lambda ,然后选择创建函数。为函数定义一个名称,然后选择 Python 3.7 作为Runtime。 

Configure Lambda function

  • 权限:您可以选择现有 IAM 角色或从 AWS 策略模板创建新角色。从策略模板下拉列表中选择Amazon S3 Object 只读权限,然后输入角色名称。您还可以选择创建新的用户角色并将权限扩展到其他服务。
  • 添加触发器:向下滚动以选择S3 Bucket。添加到 S3 存储桶的任何日志文件都将由 Lambda 函数发送到 Site24x7。Add trigger
  • 配置触发器
    • 存储桶:输入将从中收集日志的 S3 存储桶的名称。
    • 事件类型:选择所有对象创建事件。
    • 单击添加
  • 在打开的窗口中,单击Lambda 函数,如图所示:s3 trigger
  • 滚动到编辑器,然后将提供的代码放在下面的链接中:
https://github.com/site24x7/applogs-aws-lambda/blob/master/s3/s3-sender.py
  • 输入代码后,导航到 Site24x7 Web 客户端,选择管理> Applogs > 日志配置文件,然后选择创建的日志配置文件,然后复制屏幕上显示的代码作为变量logTypeConfig的输入 logTypeConfig
  • 将此代码粘贴到环境变量下,并在 AWS 控制台中 使用字段名称logTypeConfig

配置 CloudFront 日志记录

Services下拉列表中,选择CloudFront,选择所需的CloudFront Distribution,然后选择Distribution Settings。单击编辑,启用Logging,然后选择要从中收集日志的 S3 存储桶的名称

Configure CloudFront logging

CloudFront 日志仪表板

AppLogs 为每种日志类型创建一个专属仪表板,并默认显示一些小窗件。以下是 CloudFront 日志仪表板中可用的小窗件列表:

  • 总请求
  • 平均响应时间
  • 平均发送字节数
  • 收到的字节数
  • 失败的请求
  • 前 20 个失败的请求
  • 用户代理统计
  • 请求趋势
  • 状态码统计
  • 响应时间统计
  • 前 50 个成功请求
  • 按源(用户代理)的失败请求

CloudFront logs dashboard

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

相关日志类型

帮助手册 CloudFront logs