Amazon S3 日志
Amazon S3 服务器访问日志 提供对存储桶的请求的详细记录。您可以启用 S3 访问日志并将其保存在另一个 S3 存储桶中。
创建日志摄取
您可以使用日志通控制台或通过部署独立的 CloudFormation 堆栈来将日志摄取到 Amazon OpenSearch Service 中。
重要
- S3 Bucket 必须与日志通位于同一区域。
- 默认情况下,该解决方案将每天轮换索引。您可以在额外设置中进行调整。
使用日志通控制台
- 登录日志通控制台。
- 在导航窗格中的 日志分析管道 下,选择 AWS 服务日志。
- 选择创建日志摄取按钮。
- 在 AWS 服务 部分,选择 Amazon S3。
- 选择下一步。
- 在 指定设置 下,为 S3启用访问日志 选择 自动 或 手动。如果尚未启用日志记录,自动模式将启用 S3 访问日志并将日志保存到集中式 S3 存储桶。
- 对于 自动模式,从下拉列表中选择 S3 存储桶。
- 对于 手动模式,输入 存储桶名称 和 S3访问日志位置。
- (可选步骤) 如果需要跨账户摄取日志,需要先在 账户 的下拉列表中选择一个链接的 AWS 账户。
- 选择下一步。
- 在 指定 OpenSearch 域 部分,为 Amazon OpenSearch 域 选择一个导入的域。
- 如果要摄取关联的内置 Amazon OpenSearch Service 仪表板,请为 示例仪表板 选择 是。
- 如果需要,您可以更改目标 Amazon OpenSearch Service 索引的 索引前缀。默认前缀是您的存储桶名称。
- 在 日志生命周期 部分,输入管理 Amazon OpenSearch Service 索引生命周期的天数。日志通 将为此管道自动创建关联的 索引状态管理 (ISM) 策略。
- 在 日志处理器设置 中,选择 日志处理器类型,并根据需要配置 Lambda 并发数,然后 下一步。
- 如果需要,添加标签。
- 选择创建。
使用 CloudFormation 堆栈
此自动化 AWS CloudFormation 模板在 AWS 云中部署 日志通- S3 Access Log Ingestion 解决方案。
在 AWS 控制台中启动 | 下载模板 | |
---|---|---|
AWS 海外区域 | 模板 | |
AWS 中国区域 | 模板 |
-
登录 AWS 管理控制台并选择以上按钮以启动 AWS CloudFormation 模板。您还可以下载模板开始部署。
-
要在不同的 AWS 区域中启动堆栈,请使用控制台导航栏中的区域选择器。
-
在 创建堆栈 页面上,验证正确的模板 URL 显示在 Amazon S3 URL 文本框中,然后选择 下一步。
-
在 指定堆栈详细信息 页面上,为您的解决方案堆栈分配一个名称。
-
在 参数 下,查看模板的参数并根据需要进行修改。此解决方案使用以下默认值。
参数 默认 描述 Log Bucket Name <需要输入>
存储日志的 S3 存储桶名称。 Log Bucket Prefix <需要输入>
存储日志的 S3 存储桶路径前缀。 Log Source Account ID <可选输入>
存储日志的 S3 存储桶所在账户 ID. 对于跨账户日志摄取是必填 (需要先 添加一个成员账户)。 默认情况下,会使用您在 步骤 1 中登录的账户 ID。 Log Source Region <可选输入>
存储日志的 S3 存储桶所在的区域。 默认情况下,会使用您在 步骤 2 中指定的区域。 Log Source Account Assume Role <可选输入>
跨账户日志摄取所需要使用的 IAM Role。 对于跨账户日志摄取是必填 (需要先 添加一个成员账户)。 KMS-CMK ARN <可选输入>
用于加密的 KMS-CMK ARN。 留空以创建新的 KMS CMK。 Enable OpenSearch Ingestion as processor <可选输入>
Ingestion 表 Arn。如果不使用 OSI 作为处理器,请留空。 S3 Backup Bucket <需要输入>
用于存储失败提取日志的 S3 备份存储桶名称。 Engine Type OpenSearch OpenSearch 的引擎类型。选择 OpenSearch 或 Elasticsearch。 OpenSearch Domain Name <需要输入>
Amazon OpenSearch 集群的域名。 OpenSearch Endpoint <需要输入>
OpenSearch 端点 URL。例如, vpc-your_opensearch_domain_name-xcvgw6uu2o6zafsiefxubwuohe.us-east-1.es.amazonaws.com
。Index Prefix <需要输入>
日志的 OpenSearch 索引的公共前缀。索引名称将为 <Index Prefix>-<Log Type>-<Other Suffix>
。Create Sample Dashboard Yes 是否创建示例 OpenSearch 仪表板。 VPC ID <需要输入>
选择可以访问 OpenSearch 域的 VPC。日志处理 Lambda 将驻留在选定的 VPC 中。 Subnet IDs <需要输入>
选择至少两个可以访问 OpenSearch 域的子网。日志处理 Lambda 将驻留在子网中。确保子网可以访问 Amazon S3 服务。 Security Group ID <需要输入>
选择将与日志处理 Lambda 关联的安全组。确保安全组有权访问 OpenSearch 域。 Number Of Shards 5 将索引均匀分布在所有数据节点上的分片数。将每个分片的大小保持在 10-50 GiB 之间。 Number of Replicas 1 OpenSearch 索引的副本数。每个副本都是索引的完整副本。 如果 OpenSearch 选项设置为 带备用的域,你需要将其配置为 2。 Age to Warm Storage <可选输入>
将索引移至温存储所需的时间(例如 7d)。索引时间是从创建到现在之间的时间。支持的单位是 d(天)和 h(小时)。仅当OpenSearch 中启用了温存储时才生效。 Age to Cold Storage <可选输入>
将索引移入冷存储所需的时间(例如 30d)。索引时间是从创建到现在之间的时间。支持的单位是 d(天)和 h(小时)。仅当 OpenSearch 中启用了冷存储时才生效。 Age to Retain <可选输入>
保留索引的时间(例如 180d)。索引时间是从创建到现在之间的时间。支持的单位是 d(天)和 h(小时)。如果值为空,则不会删除该索引。 Rollover Index Size <可选输入>
索引滚动所需的分片大小(例如 30GB)。 Index Suffix yyyy-MM-dd 索引后缀格式(例如:yyyy-MM-dd、yyyy-MM-dd-HH)。索引名称将为 <Index Prefix>-<Log Type>-<Index Suffix>-000001
。Compression type best_compression 用于压缩存储数据的压缩类型。 可用值为 best_compression 和 default。 Refresh Interval 1s 索引多久刷新,即刷新索引最近的更改数据并使它们可用于搜索。 可以设置为 -1 以禁用刷新。 默认为 1秒。 EnableS3Notification True 一个二进制选项,用于启用或禁用针对Amazon S3存储桶的通知。大多数情况下,建议使用默认选项。 LogProcessorRoleName <可选>
为日志处理器指定一个角色名称。该名称不能与现有角色名称重复。如果没有指定名称,将生成一个随机名称。可选参数,不是必填项。 QueueName <可选>
为SQS指定一个队列名称。该名称不能与现有角色名称重复。如果没有指定名称,将生成一个随机名称。可选参数,不是必填项。 -
选择下一步。
-
在 配置堆栈选项 页面上,选择 下一步。
-
在 审核 页面上,查看并确认设置。选中确认模板创建 AWS Identity and Access Management (IAM) 资源的复选框。
-
选择 创建堆栈 部署堆栈。
您可以在 AWS CloudFormation 控制台的 状态 列中查看堆栈的状态。正常情况下,您大约 10 分钟后会看到 CREATE_COMPLETE 状态。
查看仪表板
该仪表板包括以下可视化图表。
Visualization Name | Source Field | Description |
---|---|---|
Total Requests |
|
此可视化显示了对 AWS S3 存储桶发出的请求总数,包括所有类型的操作(例如 GET、PUT、DELETE 等)。 |
Unique Visitors |
|
此可视化显示了访问 AWS S3 存储桶的唯一访客数量,通过其 IP 地址进行标识。 |
Access History |
|
提供了对所有访问 AWS S3 存储桶的访问事件进行按时间排序的日志,包括操作的详细信息和其结果。 |
Request By Operation |
|
此可视化对请求进行分类,并显示基于不同操作(如 GET、PUT、DELETE 等)的请求分布。 |
Status Code |
|
显示对 AWS S3 存储桶发出的请求的计数,根据服务器返回的 HTTP 状态码进行分组(例如 200、404、403 等)。 |
Status Code History |
|
显示 AWS S3 服务器在特定时间段内返回的 HTTP 状态码的历史趋势。 |
Status Code Pie |
|
使用饼图表示基于不同 HTTP 状态码的请求分布。 |
Average Time |
|
此可视化计算并展示 AWS S3 存储桶中各种操作的平均耗时(例如 GET、PUT 请求的平均时间等)。 |
Average Turn Around Time |
|
显示不同操作的平均周转时间,即接收请求和将响应发送回客户端之间的时间。 |
Data Transfer |
|
提供有关数据传输活动的见解,包括传输的总字节数、对象大小和涉及的不同操作。 |
Top Client IPs |
|
显示发往 AWS S3 存储桶的请求数量最多的前几个客户端 IP 地址。 |
Top Request Keys |
|
显示 AWS S3 存储桶中最常请求的键,并显示相应的对象大小。 |
Delete Events |
|
专注于删除事件,包括操作、键、版本 ID、对象大小、客户端 IP、HTTP 状态码和与删除请求关联的错误代码。 |
Access Failures |
|
强调访问失败,显示失败请求的详细信息,包括操作、键、版本 ID、对象大小、客户端 IP、HTTP 状态码和错误代码。 |
示例仪表板
您可以访问Amazon OpenSearch中的内置仪表板来查看日志数据。更多信息请参阅访问仪表板。
您可以点击下面的图像查看高分辨率的示例仪表板。