S3 日志

使用 SQS 收集 S3 日志

Site24x7 的 AppLogs 现在收集存储在您的 Amazon 环境中的 S3 存储桶中的日志文件,并自动将其发送到 Site24x7 进行监控。我们充分利用 SQS 服务来查找诸如添加新日志文件之类的事件并检索日志文件。下面,您可以了解有关如何监控 S3 存储桶中的日志的更多信息。

或者,您也可以使用此处所述的 Lambda 函数收集 S3 日志。

了解有关使用 Site24x7 进行日志管理的更多信息。 

入门

  1. 登录到您的 Site24x7 帐户。
  2. 下载并安装 Site24x7 服务器监控代理 ( Windows | Linux )。 

定义 日志类型: 

日志类型是应用程序写入日志格式的明确定义。不同的应用程序(如 IIS、Cassandra、Apache、MySQL)可能以不同的格式写入日志。将它们定义为日志类型对来自不同应用程序的日志进行分组,以简化访问并有助于高效搜索。为存储在 S3 存储桶中的日志定义日志类型后,将其列在日志配置文件下,然后通过执行搜索查询开始管理日志。 了解如何创建日志类型

创建日志配置文件: 

日志配置文件使您能够将日志类型与一组特定的服务器相关联。创建日志配置文件后,相应的日志会自动添加到支持的日志类型集中。   

要创建日志配置文件,请导航到 AppLogs > 日志配置文件 > 添加日志配置文件,然后按照以下说明进行操作:

1.配置文件名称:输入日志配置文件的名称。

2.日志类型:选择您希望与此配置文件关联的 S3 日志的日志类型。 

3.日志源:选择 Amazon S3 存储桶作为日志源。

 Add log profile

4.AWS 监视器:选择您已允许读取 S3 存储桶和 SQS 队列的 AWS 监视器。单击 + 以关联新的 AWS 监视器。

5. S3 存储桶名称:选择要从中收集日志的 S3 存储桶的名称。

6. S3 前缀:如果您有一个必须从中收集日志的特定文件夹,请提及文件夹的名称。

7. SQS 队列名称:选择添加新日志文件时将向其发送消息的 SQS 队列。

每月向 SQS 发出的前 100 万次请求是免费的。Site24x7 每 30 秒检查一次队列中的消息。这意味着,我们最多会消耗 10 万次点击,您无需为 SQS 服务支付任何额外费用。

8. 将此日志配置文件与这些服务器关联:选择您希望将此日志配置文件关联到的服务器并从 S3 上传日志。

请继续阅读以了解如何创建 SQS 队列并提供对 Site24x7 的访问。

创建 SQS 队列:

1. 转到 AWS 控制台并从 服务下拉列表中选择 SQS。

Creating an SQS queue

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

Create or select queue

 

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

s3 region

向 SQS 队列添加权限

1. 创建队列后,从表中选择它,导航到权限选项卡并单击 编辑策略文档(高级)

SQS queue permissions

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 存储桶名称>与您的 S3 存储桶名称。

  • <SQS ARN>以及在您突出显示 SQS 队列后在详细信息选项卡下找到的编号 。

配置您的 S3 存储桶以将事件发送到 SQS 队列

1. 从 AWS 控制台的服务下拉列表中选择 S3  。

Select s3

2. 择您放入 SQS 策略的存储桶,然后选择Properties选项卡。

s3 properties

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

Create event

授予 Site24x7 权限以从您的 SQS 中删除消息

1. 从 SQS 读取消息后,最好将其删除,否则队列将被旧消息淹没。要从 SQS 队列中删除数据,您需要通过修改向 Site24x7 提供权限现有用户/角色的权限。为此,请转到您的 AWS 控制面板并从安全、身份和合规性部分中选择IAM :

 IAM user

2.从您的 IAM 控制面板中,选择用户角色- 曾用于在 Site24x7 中配置 AWS 账户。 

AWS user

3. 如果您在 Site24x7 中的 AWS 账户配置了用户,则从用户列表中选择用户,在权限选项卡下,单击添加内联策略,然后选择单击此处。如果您已使用角色配置帐户,请选择适当的角色并按照上述步骤中所述的相同步骤进行操作。选择服务及其相应的操作和资源,然后在编辑器窗口中,为您的自定义策略命名并粘贴以下内容:

Inline policy

{

"Version": "2012-10-17",

"Statement":[

{

"Sid": "DeleteMessage",

"Effect": "Allow",

"Action": "sqs:DeleteMessage",

"Resource": "<SQS ARN>"

}

]

}

代替,

  • <SQS ARN>:在您突出显示 SQS 队列后,在详细信息选项卡下找到该号码 。

4. 将策略命名为Site24x7-DeleteMessage-policy,单击Apply Policy。

应用策略后,您可以继续为 S3 创建 日志配置文件,并从 Site24x7 控制台开始对其进行监控。

相关日志类型