使用 Lambda 函数收集 VPC 流量日志
VPC 流量日志提供您 VPC 中网络接口的 IP 流量信息。这可作为安全措施,用于监控流向您实例的流量。您可以将 VPC 流量日志配置为发布到 Amazon S3 存储桶,Site24x7 将从中收集日志进行监控。了解更多关于使用 Site24x7 进行日志管理的信息。
流量日志语法示例
流量日志记录是以空格分隔的字符串,格式如下:
<version> <account-id> <interface-id> <srcaddr> <dstaddr> <srcport> <dstport> <protocol> <packets> <bytes> <start> <end> <action> <log-status>
创建日志配置文件
要收集 VPC 流量日志,首先需要创建一个日志配置文件。导航至管理 > AppLogs > 日志配置文件 > 添加日志配置文件,然后按以下说明操作:
- 配置文件名称:为日志配置文件输入名称。
- 日志类型:选择 VPC 流量日志。如果您尚未在 AWS 账户中启用 VPC 流量日志,请按照此处的说明操作。
- 日志来源:选择 Amazon Lambda。
- 时区:为日志选择时区。
- 点击"保存"。
- 按照此处的说明配置 Lambda 函数。
创建发布到 Amazon S3 存储桶的流量日志
- 在 https://console.aws.amazon.com/vpc/ 打开 Amazon VPC 控制台。
- 在导航窗格中,选择"您的 VPC"。
- 选择一个或多个 VPC,然后选择"操作" > "创建流量日志"。
- 过滤器:指定要记录的 IP 流量数据类型。选择"全部"记录已接受和已拒绝的流量,选择"已拒绝"仅记录被拒绝的流量,或选择"已接受"仅记录被接受的流量。目标:选择"发送到 Amazon S3 存储桶"。
- 对于 S3 存储桶 ARN,请指定现有 Amazon S3 存储桶的 Amazon 资源名称(ARN)。您可以在存储桶 ARN 中包含子文件夹。
注意
存储桶不能使用 AWSLogs 作为子文件夹名称,因为这是保留名称。
- 对于现有用户或角色,请确保为流量日志授予写入权限。否则,请创建新用户或角色并提供必要权限。
- 选择"创建"。
配置 Lambda 函数
- 从服务下拉列表中选择 Lambda,然后选择"创建函数"。选择"从头开始编写",为函数定义名称,并选择 Python 3.7 作为运行时。

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

- 配置触发器
- 存储桶:输入将从中收集日志的 S3 存储桶名称。
- 事件类型:选择"所有对象创建事件"。
- 点击添加。

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

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

VPC 流量日志仪表板
AppLogs 为每种日志类型创建专属仪表板,并默认显示一些小组件。以下是 VPC 流量日志仪表板中可用的小组件列表:
- 总传输字节数
- 平均传输字节数
- 平均传输数据包数
- 网络操作统计
- 被拒绝请求数最多的 IP 地址排行
- 使用 UDP 传输协议的热门 IP 地址
- 按来源统计的前 10 大字节传输量
- 按源和目标 IP 地址统计的字节传输量

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