使用 Elastic Serverless Forwarder 监控 Amazon Web Services (AWS)
编辑使用 Elastic Serverless Forwarder 监控 Amazon Web Services (AWS)编辑
Elastic Serverless Forwarder (ESF) 是一个 Amazon Web Services (AWS) Lambda 函数,它将来自 AWS 环境的日志发送到 Elastic。Elastic Serverless Forwarder 发布在 AWS Serverless Application Repository (SAR) 中。有关 ESF 的更多信息,请查看 Elastic Serverless Forwarder 指南。
您将学到什么编辑
在本教程中,您将学习如何
- 启用将 AWS VPC 流日志发送到您的 S3 存储桶
- 创建 SQS 队列和 VPC 流日志的通知
- 从 Kibana 安装和配置 Elastic AWS 集成
- 在 Elastic Stack 中可视化和分析 AWS 日志
开始之前编辑
使用我们托管的 Elasticsearch 服务在 Elastic Cloud 上创建一个部署。该部署包括一个用于存储和搜索数据的 Elasticsearch 集群,以及一个用于可视化和管理数据的 Kibana。Elastic Serverless Forwarder 与 Elastic Stack 7.17 及更高版本兼容。您还需要一个具有从 AWS 拉取必要数据的权限的 AWS 帐户。
步骤 1:创建 S3 存储桶以存储 VPC 流日志编辑
- 在 AWS S3 控制台 中,从左侧导航窗格中选择 创建存储桶。
- 指定您要将其部署到的 AWS 区域。
- 输入存储桶名称。
有关更多详细信息,请参阅 Amazon 文档,了解如何 创建您的第一个 S3 存储桶。
步骤 2:启用将 AWS VPC 流日志发送到您的 S3 存储桶编辑
- 在 Amazon EC2 控制台 中,从左侧导航窗格中选择 网络接口。
- 选择您要使用的网络接口。
- 从 操作 下拉菜单中,选择 创建流日志。
- 对于 目标,选择 发送到 S3 存储桶。
- 对于 S3 存储桶 ARN,输入您在上一步骤中创建的 S3 存储桶的名称。
有关更多详细信息,请参阅 Amazon 文档,了解如何 创建发布到 Amazon S3 的流日志。
步骤 3:创建 SQS 队列和 VPC 流日志的通知编辑
Amazon Simple Queue Service (SQS) 上的 Amazon S3 事件通知用作 Lambda 函数的触发器。当新的日志文件被写入 Amazon S3 存储桶并满足条件时,会生成一个通知,该通知会触发 Lambda 函数。
-
在 SQS 控制台 中,创建一个使用默认设置的标准 SQS 队列。
确保您将任何要用作触发器的 SQS 队列的可见性超时设置为 910 秒。这比 Elastic Serverless Forwarder Lambda 超时时间长 10 秒。如果未满足此要求,CloudFormation 将抛出错误。
-
在 高级 设置中,修改 JSON 访问策略以定义应将哪些 S3 ObjectCreated 事件发送到队列。以下是一个 JSON 文件示例
{ "Version": "2008-10-17", "Id": "__default_policy_ID", "Statement": [ { "Sid": "__owner_statement", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::627286350134:root" }, "Action": "SQS:*", "Resource": "arn:aws:sqs:eu-central-1:627286350134:vpc-flow-logs-docs-queue" }, { "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": "SQS:SendMessage", "Resource": "arn:aws:sqs:eu-central-1:627286350134:vpc-flow-logs-docs-queue" } ] }
- 转到包含 VPC 流日志的 S3 存储桶的属性,并启用事件通知。
有关更多详细信息,请参阅 AWS 文档,了解如何 为存储桶配置通知。
步骤 4:安装 Elastic AWS 集成编辑
Kibana 提供预构建的仪表板、摄取节点配置和其他资产,可帮助您从摄取的日志中获得最大价值。
- 在 Kibana 中转到 集成 并搜索 AWS。
- 单击 AWS 集成,选择 设置,然后单击 安装 AWS 资产 以安装所有 AWS 集成资产。
步骤 5:创建新的 S3 存储桶以存储配置文件编辑
请注意,您可以存储多个配置文件。
-
在 AWS S3 控制台 中,单击 创建 存储桶。为存储桶命名,并指定您要将其部署到的区域。
确保您在与包含 VPC 流日志的存储桶相同的区域中创建 S3 存储桶。
步骤 6:创建配置文件以指定源和目标编辑
Elastic Serverless Forwarder 使用配置文件来了解输入源和目标的 Elastic 连接信息。
- 在 Elastic Cloud 中,从 AWS 集成页面,单击右上角的 连接详细信息,并复制您的 Cloud ID。
-
创建用于身份验证的编码 API 密钥。
您将从配置文件中引用 Cloud ID 和新创建的 API 密钥。以下是一个示例
inputs: - type: "s3-sqs" id: "<your-sqs-queue-arn>" outputs: - type: "elasticsearch" args: cloud_id: "<your-cloud-id>" api_key: "<your-api-key>>"
- 将您刚刚创建的配置文件上传到您在步骤 5 中创建的 S3 存储桶。
步骤 7:将 VPC 流日志摄取到 Elastic编辑
从 AWS SAR 部署 Elastic Serverless Forwarder,并为 Lambda 函数提供适当的配置,以开始将 VPC 流日志摄取到 Elastic。
- 从 Lambda 控制台选择 应用程序,然后单击 创建应用程序。
- 从 无服务器应用程序 选项卡中,选择 elastic-serverless-forwarder。
-
在 查看、配置和部署 页面上,填写以下字段
- ElasticServerlessForwarderS3Buckets:指定您在步骤 1 中创建的 S3 存储桶的 ARN,其中发送了 VPC 流日志。
- ElasticServerlessForwarderS3ConfigFile:指定配置文件的 URL,格式为“s3://bucket-name/config-file-name”。
- ElasticServerlessForwarderS3SQSEvents:指定用作 Lambda 函数触发器的 S3 SQS 通知队列。该值是您在步骤 3 中创建的 SQS 队列的 ARN。
Lambda 部署使用上述值来创建最小的 IAM 策略,并设置 Lambda 函数的环境变量以正确执行。已部署的 Lambda 将在 VPC 流日志文件被写入 S3 存储桶时读取它们,并将它们发送到 Elastic。
步骤 8:可视化 AWS 日志编辑
导航到 Kibana,查看您的日志在 [日志 AWS] VPC 流日志概述仪表板中被解析和可视化。