Amazon OpenSearch Ingestion - 亚马逊 OpenSearch 服务
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon OpenSearch Ingestion

Amazon OpenSearch Ingestion 是一个完全托管的无服务器数据收集器,可向亚马逊 OpenSearch 服务域和无服务器集合提供实时日志、指标和 OpenSearch 跟踪数据。

借助 OpenSearch Ingestion,您不再需要使用 Logstash 或 Jaeger 等第三方解决方案将数据提取到您的服务域和无服务器集合中。 OpenSearch OpenSearch 您可以将数据生成器配置为向 OpenSearch Ingestion 发送数据。然后,它会自动将数据传输到您指定的域或集合。您还可以将 OpenSearch Ingestion 配置为在交付数据之前对其进行转换。

此外,借 OpenSearch 助 Ingestion,您无需担心配置服务器、管理和修补软件或扩展服务器集群。您可以直接在中配置摄取管道 Amazon Web Services Management Console, OpenSearch Ingestion 负责管理和扩展它们。

OpenSearch 摄取是 Ama OpenSearch zon 服务的一部分。由开源数据收集器 Data Prepper 提供支持,该收集器可以筛选、扩充、转换、标准化和聚合数据,用于下游分析和可视化。

重要概念

在开始使用 OpenSearch Ingestion 时,您可以从了解以下概念中受益:

管道

从 OpenSearch 摄取的角度来看,管道是指您在服务中创建的单个预配置数据收集器。 OpenSearch 您可以将其视为整个 YAML 配置文件,其中包含一个或多个子管道。有关创建提取管道的步骤,请参阅创建管道

子管道

您可以在 YAML 配置文件定义子管道。每个子管道都由一个来源、一个缓冲区、零个或多个处理器以及一个或多个接收器组成。您可以在单个 YAML 文件中定义多个子管道,每个子管道都有唯一的来源、处理器和接收器。为了便于监控 CloudWatch 和其他服务,我们建议您指定一个不同于其所有子管道的管道名称。

您可以在单个 YAML 文件中将多个子管道串在一起,这样一个子管道的源是另一个子管道,而其接收器是第三个子管道。有关示例,请参阅将采集管道与 C OpenSearch ollector 配合使用 OpenTelemetry

来源

子管道的输入组件。它定义了管道使用记录的机制。源可以处理事件,其方法是通过 HTTPS 接收事件,或从 Amazon S3 等外部端点读取事件。源有两种类型:基于推送的源基于拉取的源。基于推送的源(例如 HTTPOTel 日志)将记录流式传输到提取端点。基于拉取的源(例如 OTel 跟踪S3)从源中提取数据。

处理器

中间处理单元,可以在将记录发布到接收器之前对其进行筛选、转换和扩充为所需格式。处理器是管道的可选组件。如果您未定义处理器,则记录将以源文件中定义的格式发布。可以有多个处理器。管道按照定义处理器的顺序来运行处理器。

sink

子管道的输出组件。它定义了子管道向其发布记录的一个或多个目的地。 OpenSearch 摄取支持 OpenSearch 服务域作为接收器。它还支持子管道作为接收器。这意味着您可以在单个 OpenSearch Ingestion 管道(YAML 文件)中将多个子管道串在一起。不支持将自管理 OpenSearch 集群作为接收器。

Buffer

处理器的一部分,在源和接收器之间充当缓冲层。您无法在管道中手动配置缓冲区。 OpenSearch 摄取使用默认的缓冲区配置。

路线

处理器的一部分,可让管道作者仅向不同接收器发送符合特定条件的事件。

有效的子管道定义必须包含源和接收器。有关每个管道元素的更多信息,请参阅配置参考

OpenSearch 摄入的好处

OpenSearch 摄取有以下主要好处:

  • 无需您手动管理自行预调配的管道。

  • 根据您定义的容量限制自动扩缩管道。

  • 通过安全补丁和错误补丁让您的管道保持最新状态。

  • 提供将管道连接到您的虚拟私有云 (VPC) 的选项,以增加安全层。

  • 可让您停止和启动管道以控制成本。

  • 为常见用例提供管道配置蓝图,以帮助您更快地启动和运行。

  • 允许您通过各种 Amazon SDK 和 OpenSearch Ingestion API 以编程方式与您的管道进行交互。

  • 支持 Amazon 中的性能监控 CloudWatch 和 CloudWatch 日志中的错误记录。

限制

OpenSearch 摄取有以下限制:

  • 您只能将数据提取到运行 OpenSearch 1.0 或更高版本或 Elasticsearch 6.8 或更高版本的域中。如果您使用的是 oTel 跟踪源,我们建议您使用 Elasticsearch 7.9 或更高版本,以便您可以使用仪表板插件。OpenSearch

  • 如果管道正在写入 VPC 内的 OpenSearch 服务域,则必须在与该域 Amazon Web Services 区域 相同的环境中创建管道。

  • 您只能在管道定义中配置单个数据来源。

  • 您不能将自行管理的 OpenSearch 集群指定为接收器。

  • 您无法将自定义端点指定为接收器。您仍然可以写入启用了自定义端点的域,但必须指定其标准端点。

  • 您无法将选择加入区域内的资源指定为来源或接收器。

  • 在管道配置中可以包含的参数有一些限制。有关更多信息,请参阅 配置要求和限制

支持的 Data Prepper 版本

OpenSearch Ingestion 目前支持以下主要版本的 Data Prepper:

  • 2.x

创建管道时,使用必需的 version 选项指定要使用的 Data Prepper 的主要版本。例如,version: "2"。 OpenSearch Ingestion 会检索该主要版本支持的最新次要版本,并使用该版本配置管道。有关更多信息,请参阅 指定管道版本

目前, OpenSearch 采集管道配置了 2.7 版 Data Prepper。有关信息,请参阅 2.7 版本说明。有关 Data Prepper 每个版本中的功能和错误修复的信息,请参阅说明页面。 OpenSearch Ingestion 并不支持特定主要版本的每个次要版本。

更新管道的 YAML 配置文件时,如果支持新的次要版本的 Data Prepper, OpenSearch Ingestion 会自动将管道升级到工作流配置中指定的主要版本的最新支持次要版本。例如,您的工作流配置version: "2"中可能有, OpenSearch Ingestion 最初使用版本 2.6.0 配置了管道。添加对版本 2.7.0 的支持并更改工作流配置后, OpenSearch Ingestion 会将管道升级到 2.7.0 版。此过程可让您的管道及时获取最新错误修复和性能改进。 OpenSearch 除非您在工作流配置中手动更改该version选项,否则 Ingestion 无法更新管道的主要版本。有关更多信息,请参阅 更新 Amazon OpenSearch Ingestion 管道

扩缩管道

您无需自己配置和管理管道容量。 OpenSearch Ingestion 会根据您指定的最小和最大摄取 OpenSearch 计算单位(摄取 OCU),根据您的估计工作负载自动扩展您的管道容量。

每个 Ingestion OCU 由大约 8 GiB 的内存和 2 个 vCPU 组成。您可以为管道指定最小和最大 OCU 值, OpenSearch Ingestion 会根据这些限制自动扩展您的管道容量。

可以指定以下值:

  • 最小容量 — 管道可以将容量缩减到此数量的 Ingestion OCU。指定的最小容量也是管道的起始容量。

  • 最大容量 — 管道可以将容量扩展到此数量的 Ingestion OCU。

确保管道的最大容量足够大,可以应对工作负载峰值,而且最小容量足够低,可以在管道不忙碌时最大限度地降低成本。 OpenSearch Ingestion 会根据您的设置自动扩展您的管道的摄取 OCU 数量,以处理采集工作负载。在任何具体时间,您都只需为您管道中正在被使用的 Ingestion OCU 付费。

分配给您的 OpenSearch Ingestion 管道的容量会根据管道的处理要求和客户端应用程序生成的负载向上和向下扩展。当容量受到限制时, OpenSearch Ingestion 会通过分配更多计算单元(GiB 内存)来扩大规模。当您的管道处理较小的工作负载或根本不处理数据时,它可以缩减到 Ingestion OCU 的最低配置。

您可以指定至少 1 个 Ingestion OCU,无状态管道最多 96 个 Ingestion OCU,有状态管道最多 48 个 Ingestion OCU。对于基于推送的源,建议至少有 2 个 Ingestion OCU。启用持久缓冲功能后,您可以指定最少 2 个、最多 384 个摄入 OCU。

一个具有单一源、一个简单的 grok 模式和一个接收器的标准日志管道,每个计算单位的支持可达每秒最多 2 MiB。对于具有多个处理器的更为复杂的日志管道,每个计算单位支持的摄取负载可能更少。根据管道容量和资源利用率, OpenSearch Ingestion 扩展过程开始了。

为确保高可用性,Ingestion OCU 分布在可用区 (AZ) 上。AZ 数量取决于指定的最小容量。

例如,如果您指定至少 2 个计算单位,则在任何给定时间使用的 Ingestion OCU 均匀分布在 2 个可用区上。如果您指定至少 3 个或更多计算单位,则 Ingestion OCU 将平均分布在 3 个可用区上。建议您预调配至少两个 Ingestion OCU,以确保摄取管道的可用性达到 99.9%。

当管道处于 Create failedCreatingDeletingStopped 状态时,您无需为 Ingestion OCU 付费。

有关配置和检索管道容量设置的说明,请参阅创建管道

OpenSearch 摄取定价

在任何具体时间,您只需为分配给管道的 Ingestion OCU 数量付费,无论是否有数据流经管道。 OpenSearch Ingestion 可根据使用情况向上或向下扩展管道容量,从而立即适应您的工作负载。

有关全部定价详情,请参阅 Amazon OpenSearch 服务定价

支持的 Amazon Web Services 区域

OpenSearch 该 OpenSearch 服务的子集提供摄取 Amazon Web Services 区域 ,可在中获得。有关支持区域的列表,请参阅中的亚马逊 OpenSearch 服务终端节点和配额Amazon Web Services 一般参考

OpenSearch 摄取配额

有关 OpenSearch 摄取资源的默认配额列表,请参阅 A mazon OpenSearch 服务配额。