S3 日志
使用 SQS 采集 S3 日志
Site24x7 的 AppLogs 现在可以采集存储在 Amazon 环境中 S3 存储桶内的日志文件,并自动将其发送到 Site24x7 进行监控。我们充分利用 SQS 服务来监听新日志文件添加等事件,并检索日志文件。以下内容将帮助您进一步了解如何监控 S3 存储桶中的日志。
此外,您也可以使用 Lambda Function 来采集 S3 日志,具体方法请参阅此处。
入门
定义日志类型:
日志类型是对应用程序写入日志格式的明确定义。不同的应用程序(如 IIS、Cassandra、Apache、MySQL)可能以不同格式写入日志。将它们定义为日志类型,可以将来自不同应用程序的日志归为一组,从而简化访问并提高搜索效率。定义好 S3 存储桶中日志的日志类型后,将其列入日志配置文件,即可通过执行搜索查询来管理您的日志。了解如何创建日志类型。
创建日志配置文件:
日志配置文件可让您将日志类型关联到特定的服务器集合。创建日志配置文件后,相应的日志将自动添加到支持的日志类型集合中。
要创建日志配置文件,请导航至 AppLogs > 日志配置文件 > 添加日志配置文件,并按照以下说明操作:
1. 配置文件名称:为您的日志配置文件输入名称。
2. 日志类型:选择您希望与此配置文件关联的 S3 日志的日志类型。
3. 日志来源:选择 Amazon S3 存储桶作为日志来源。

4. AWS 监视器:选择一个已为 S3 存储桶和 SQS 队列开启读取权限的 AWS 监视器。点击 + 可关联新的 AWS 监视器。
- 要创建 SQS 队列,请按照此处给出的步骤进行操作。
- 创建 SQS 队列后,请在所选 AWS 监视器中启用该服务的发现功能。
5. S3 存储桶名称:选择要从中采集日志的 S3 存储桶名称。
6. S3 前缀:如果您有特定的文件夹需要采集日志,请在此处填写文件夹名称。
7. SQS 队列名称:选择在新日志文件添加时用于接收消息的 SQS 队列。
每月前 100 万次 SQS 请求免费。Site24x7 每 30 秒检查一次队列中的消息,最多消耗约 10 万次请求,因此您无需为 SQS 服务支付额外费用。
8. 将此日志配置文件关联到这些服务器:选择您希望关联此日志配置文件并从 S3 上传日志的服务器。
请继续阅读,了解如何创建 SQS 队列并向 Site24x7 提供访问权限。
创建 SQS 队列:
1. 进入 AWS 控制台,从服务下拉菜单中选择 SQS。

2. 创建新队列或选择现有队列。

3. 系统将自动选择默认区域。SQS 队列需要与 S3 存储桶位于同一区域。您可以按照下图所示查看 S3 存储桶的区域,也可以从下拉菜单中更改 SQS 的区域。

为 SQS 队列添加权限
1. 创建队列后,从表格中选择该队列,导航至权限选项卡,然后点击编辑策略文档(高级)。

2. 将打开一个编辑器窗口。在此,您可以复制并粘贴以下 JSON:
{
"Version": "2008-10-17",
"Id": "PolicyExample",
"Statement":[
{
"Sid": "send-message",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "SQS:SendMessage",
"Resource":<SQS ARN>,
"Condition": {
"ArnLike": {
"aws:SourceArn":"arn:aws:s3:*:*:<S3 bucket name>"
}
}
}
]
}
您需要替换以下内容:
-
<S3 bucket name> 替换为您的 S3 存储桶名称。
-
<SQS ARN> 替换为高亮显示 SQS 队列后,在详情选项卡下找到的编号。
配置 S3 存储桶将事件发送到 SQS 队列
1. 在 AWS 控制台的服务下拉菜单中选择 S3。

2. 选择您在 SQS 策略中填写的存储桶,然后选择属性选项卡。

3. 在高级设置下点击事件选项卡,选择添加通知,并选择所有对象创建事件字段。您还需要在发送到部分选择 SQS 队列,并选择要将事件发送到的 SQS 队列名称。

授予 Site24x7 从 SQS 删除消息的权限
1. 从 SQS 中读取消息后,最佳做法是将其删除,否则队列将充斥旧消息。要从您的 SQS 队列中删除数据,您需要通过修改现有用户/角色的权限来向 Site24x7 授权。为此,请进入 AWS 仪表板,从安全、身份和合规部分选择 IAM:

2. 从您的 IAM 仪表板中,选择用户或角色(取决于用于在 Site24x7 中配置 AWS 账户的方式)。

3. 如果您的 Site24x7 中的 AWS 账户是通过用户配置的,请从用户列表中选择该用户,在权限选项卡下点击添加内联策略,然后选择点击此处。如果您是通过角色配置的,请选择相应角色并按照此步骤中描述的相同步骤操作。选择服务及其对应的操作和资源,在编辑器窗口中为您的自定义策略命名,并粘贴以下内容:

{
"Version": "2012-10-17",
"Statement":[
{
"Sid": "DeleteMessage",
"Effect": "Allow",
"Action": "sqs:DeleteMessage",
"Resource": "<SQS ARN>"
}
]
}
替换以下内容:
-
<SQS ARN>: 替换为高亮显示 SQS 队列后,在详情选项卡下找到的编号。
4. 为策略命名,例如 Site24x7-DeleteMessage-policy,然后点击应用策略。
应用策略后,您可以继续为 S3 创建日志配置文件,并从 Site24x7 控制台开始监控。
