Elastic 和 AWS 无服务器应用程序存储库 (SAR):轻松顺畅地从 Amazon S3 中采集日志,加速获得行之有效的见解

blog-thumb-cloud-aws.png

随着公司利用 Amazon Web Services (AWS) 云平台和服务来提升运营效率并将产品推向市场,日志通常都会存储在 Amazon Simple Storage Service (Amazon S3) 中,然后再发送到外部进行监测和分析的解决方案。现在,AWS 用户可以使用新的 Elastic 无服务器转发器(一种 AWS Lambda 应用程序)快速采集存储在 Amazon S3 中的日志,并在 Elastic Stack 中与其他日志和指标一起进行查看,以便实现集中化分析。

通过将数据从 AWS 中直接采集到 Elastic,既可省去配置虚拟机或安装数据采集器等冗长的操作流程,还可减少管理开销。

在本篇博文中,我们将向您介绍如何使用 AWS 无服务器应用程序存储库 (SAR) 中发布的 Elastic 无服务器转发器,以简化您的架构并将日志发送到 Elastic,从而监测和保护您的多云环境和本地部署环境。

监测 AWS 环境的运行状况和性能

Enterprise Management Associates (EMA) 集团最近的一项研究显示,在日益复杂的混合和多云生态系统中,可观测性无疑仍然是 DevOps 团队的一项关键业务计划和首要挑战。随着许多组织选择从容器到无服务器计算等各种各样的技术,以便更快地将产品推向市场并减少开销,有必要提请注意的是,需要有一个可满足所有架构需求的可观测性解决方案。EMA 的研究显示,部署了全面可观测性解决方案的团队能够将开发速度提高 70%,并以四倍的功能数量保持更高的产品研发速度。

Elastic 可观测性对日志、指标和 APM 痕迹数据实现了一体化地管理,客户在一个堆栈上即可大规模查看混合 AWS 环境及其本地部署数据集的完整背景信息。跟踪和监测各种 AWS 服务的性能,例如:AWS Lambda、Amazon Elastic Compute Cloud (EC2)、Amazon Elastic Container Service (ECS)、Amazon Elastic Kubernetes Service (EKS)、Amazon S3 等。

Elastic 可观测性平台的详细信息和功能

助力安全团队以云技术带来的规模迅速阻止威胁

Forrester 受托进行的一项研究表明,客户同时使用 Elastic 安全和可观测性解决方案,最高可节省 75% 的成本,并且响应速度最高可达现有解决方案 10 倍。通过 Elastic Common Schema 和统一的存储库架构,来自 Amazon S3 和其他数据集的相同可观测性数据也可用于扩展检测与响应 (XDR),让平均检测时间趋近于零。Elastic 安全将 SIEM 和终端安全进行了融合,便于组织从不同来源采集和保留大量数据,更长时间地存储数据以供搜索,并通过检测和 Machine Learning 增强威胁猎捕能力。消除数据孤岛,减少告警疲劳,让组织做好准备,以便快速阻止环境中的威胁。

经济高效地存储数据,以供快速检索和未来分析

还有另一种方法也可让您利用 Amazon S3 来实现成本效益。除了将存储在 S3 中的日志采集到 Elastic 之外,Elastic 还可让组织在 Amazon S3 等低成本对象存储中保留大量的历史数据,同时保持这些数据完全处于活跃和可搜索状态。客户能够以任何粒度、任何时间长度保存 AWS 和本地部署数据,并在将来随着数据量的增长进行扩展。根据组织的数据性能、恢复能力和保留要求,通过索引生命周期管理和自动扩展功能,自动进行数据管理分层存储。

简化数据采集

Elastic 无服务器转发器 Lambda 应用程序不仅支持采集 Amazon S3 存储桶中包含的日志,而且还可以将采集的日志发送到 Elastic。Amazon S3 上的 SQS 队列事件通知可用作 Lambda 函数的触发器。当有新的日志文件写入 Amazon S3 存储桶并满足条件时,系统就会生成一个触发 Lambda 函数的通知。

用户可以在 S3 存储桶上设置 SQS 函数触发器并提供 Elastic 连接信息,以便发送日志数据,并使用 Kibana 的预构建仪表板和完整的分析功能,多维度灵活呈现日志数据。

架构图:

架构图

下面我们开始吧

在这部分中,我们将逐步介绍如何开始使用 Elastic 无服务器转发器来分析 Elastic Stack 中的 Amazon Virtual Private Cloud (Amazon VPC) 流日志。

有关更详细的说明,请参阅 Elastic 无服务器转发器文档

通过将 Amazon VPC 流日志采集到 Elastic,可让您监测和分析 Amazon VPC 内的网络流量,并通过以下操作做出更明智的决策:

  • 在 Kibana 中分析流日志数据,能够快速搜索、查看和筛选日志
  • 评估安全组规则并发现安全漏洞
  • 设置警报,以在检测到某些流量类型时向您发出告警
  • 识别延迟问题并建立基线,以确保获得一致的性能

开始前

  1. 如果您还没有使用 Elastic,请使用我们在 Elastic Cloud 上托管的 Elasticsearch Service 创建一个部署。这个部署包括一个用于存储和搜索数据的 Elasticsearch 集群,以及用于可视化和管理数据的 Kibana。有关更多信息,请参阅 Spin up the Elastic Stack(快速部署 Elastic Stack)。
  2. 启用将 AWS VPC 流日志发送到 S3 存储桶的设置。如果您没有这项设置,则可以轻松创建一个 S3 存储桶,并将 VPC 流日志发送到这个存储桶。这些步骤基本上是:
    • 创建一个 S3 存储桶(示例:vpc-flow-logs
    • 在 EC2 控制台上,选择特定的网络接口,然后从“Actions”(操作)菜单中选择“create flow log”(创建流日志)。将目标位置选择为您在前面步骤中创建的 S3 存储桶。有关更多详情,请查看 AWS 文档
  3. 现在,我们来创建一个 SQS 简单队列(示例:flow-logs-queue),并设置一个适当的访问策略,以便将来自 S3 的 S3 事件通知发送到这个队列。在 S3 存储桶 (vpc-flow-logs) 上,为要发送到 SQS 队列 (flow-logs-queue) 的所有对象“创建事件”配置事件通知。有关更多详情,请查看 AWS 文档
  4. 接下来,您将直接先从 Kibana 网页 UI 中安装 Elastic AWS 集成,这个集成包含预构建的仪表板、采集节点配置,以及其他一些资产,可帮助您从所采集的日志中获得最大价值。请转到 Kibana 中的集成并搜索 AWS。单击 AWS 集成以查看更多详情,选择 Settings(设置),然后单击 Install AWS assets(安装 AWS 资产),以安装所有 AWS 集成资产。
安装 AWS 资产

5.接下来,我们创建一个新的 S3 存储桶和一个配置文件,Elastic 无服务器转发器将使用这个文件来获悉输入源和针对目标位置信息的 Elastic 连接。

S3 存储桶

以下是一个示例配置文件:

配置文件

转到 Elastic Cloud,然后从 Elastic Cloud 控制台复制云 ID,以在参数“cloud_id”中指定。导览至 Kibana,然后创建一个 Base64 编码的 API 密钥用于身份验证,并在参数“api_key”中指定。您应将任何敏感值都存储在 AWS Secrets Manager 中,并从配置文件中进行引用。

6.从 AWS SAR 中部署 Elastic 无服务器转发器,并为 Lambda 函数提供适当的配置,以开始将 VPC 流日志采集到 Elastic 中。

从 Lambda 控制台中选择 Functions->Create a function(“函数”->“创建函数”),选择 Browse serverless app repository(浏览无服务器应用存储库),并搜索 elastic-serverless-forwarder选择相应的应用程序。

配置

进入应用程序的 Review, configure and deploy(查看、配置和部署)页面后,请填写以下字段:

  1. 在要将 VPC 流日志发送到的 ElasticServerlessForwarderS3Buckets 中指定 S3 存储桶。这个值是您在步骤 2 中创建的 S3 存储桶的 ARN。
  2. ElasticServerlessForwarderS3ConfigFile 中指定配置文件路径。这个值是 S3 URL,格式为“s3://bucket-name/config-file-name”,指向您在步骤 5 中创建的配置文件 (sarconfig.yaml)。
  3. 指定用作 ElasticServerlessForwarderS3SQSEvents 中 Lambda 函数触发器的 S3 SQS 通知队列。这个值是您在步骤 3 中创建的 SQS 队列的 ARN。

Lambda 部署会使用上述这些值来创建最小的 IAM 策略,并设置一些相关环境变量,以便 Lambda 函数得以正确执行。

部署的 Lambda 会在有 VPC 流日志文件写入 S3 存储桶时读取这些文件,并将日志数据发送到 Elastic。

7.导览至 Kibana,在 [Logs AWS] VPC Flow Log Overview([日志 AWS] VPC 流日志概览)仪表板中查看已解析和可视化的日志。

VPC 流日志

总结

Elastic 致力于持续为客户提供轻松流畅的使用体验,让他们实现随时随地的数据访问 — 这项与 AWS 的简化集成就是这方面的最新例证。有关更多信息,请访问 elastic-serverless-forwarder 文档或下载适用于 AWS 的 Elastic 可观测性指南

立即开始免费试用

通过 AWS Marketplace 注册,开始为期 7 天的免费试用,分分钟即可在全球 AWS 上的任何 Elastic Cloud 区域快速完成部署。您在 AWS Marketplace 中购买的 Elastic 将包含在您的每月整合式账单中,并将从您在 AWS 上的承诺支出中支取。

本博文所描述的任何特性或功能的发布及上市时间均由 Elastic 自行决定。当前尚未发布的任何特性或功能可能无法按时提供或根本不会提供。