OpenSearch Data Prepper 入门
OpenSearch Data Prepper 是一个独立的组件,而非 OpenSearch 插件,它用于转换数据以便与 OpenSearch 配合使用。它不与一体化 OpenSearch 安装包捆绑。
如果您正在从 Open Distro Data Prepper 迁移,请参阅从 Open Distro 迁移。
1. 安装 Data Prepper
有两种安装 Data Prepper 的方法:您可以运行 Docker 镜像或从源代码构建。
使用 Data Prepper 最简单的方法是运行 Docker 镜像。如果您有可用的 Docker,我们建议您采用此方法。运行以下命令
docker pull opensearchproject/data-prepper:latest
如果您有特殊要求需要从源代码构建,或者想要贡献代码,请参阅开发者指南。
2. 配置 Data Prepper
运行 Data Prepper 实例需要两个配置文件。您也可以选择配置一个 Log4j 2 配置文件。有关更多信息,请参阅配置 Log4j。以下列表描述了每个配置文件的用途
pipelines.yaml
:此文件描述要运行哪些数据管道,包括源、处理器和接收器。data-prepper-config.yaml
:此文件包含 Data Prepper 服务器设置,允许您与公开的 Data Prepper 服务器 API 进行交互。log4j2-rolling.properties
(可选):此文件包含 Log4j 2 配置选项,可以是 JSON、YAML、XML 或 .properties 文件类型。
对于 Data Prepper 2.0 之前的版本,.jar
文件期望管道配置文件路径后跟服务器配置文件路径。请参阅以下配置路径示例
java -jar data-prepper-core-$VERSION.jar pipelines.yaml data-prepper-config.yaml
(可选)您可以在命令中添加 "-Dlog4j.configurationFile=config/log4j2.properties"
来传递自定义的 Log4j 2 配置文件。如果您不提供属性文件,Data Prepper 将默认使用 shared-config
目录中的 log4j2.properties
文件。
从 Data Prepper 2.0 开始,您可以使用以下 data-prepper
脚本启动 Data Prepper,该脚本不需要任何额外的命令行参数
bin/data-prepper
配置文件从应用程序主目录中的特定子目录读取
pipelines/
:用于管道配置。管道配置可以写入一个或多个 YAML 文件中。config/data-prepper-config.yaml
:用于 Data Prepper 服务器配置。
您可以提供自己的管道配置文件路径,后跟服务器配置文件路径。然而,此方法在未来的版本中将不再支持。请参阅以下示例
bin/data-prepper pipelines.yaml data-prepper-config.yaml
Log4j 2 配置文件从应用程序主目录中的 config/log4j2.properties
文件读取。
要配置 Data Prepper,请参阅每个用例的以下信息
3. 定义管道
使用以下配置创建一个名为 pipelines.yaml
的 Data Prepper 管道文件
simple-sample-pipeline:
workers: 2
delay: "5000"
source:
random:
sink:
- stdout:
4. 运行 Data Prepper
使用您的管道配置 YAML 运行以下命令。
docker run --name data-prepper \
-v /${PWD}/pipelines.yaml:/usr/share/data-prepper/pipelines/pipelines.yaml \
opensearchproject/data-prepper:latest
上述示例管道配置展示了一个简单的管道,其中一个源(random
)将数据发送到一个接收器(stdout
)。有关更高级管道配置的示例,请参阅管道。
启动 Data Prepper 后,您应该会在几秒钟后看到日志输出和一些 UUID
2021-09-30T20:19:44,147 [main] INFO com.amazon.dataprepper.pipeline.server.DataPrepperServer - Data Prepper server running at :4900
2021-09-30T20:19:44,681 [random-source-pool-0] INFO com.amazon.dataprepper.plugins.source.RandomStringSource - Writing to buffer
2021-09-30T20:19:45,183 [random-source-pool-0] INFO com.amazon.dataprepper.plugins.source.RandomStringSource - Writing to buffer
2021-09-30T20:19:45,687 [random-source-pool-0] INFO com.amazon.dataprepper.plugins.source.RandomStringSource - Writing to buffer
2021-09-30T20:19:46,191 [random-source-pool-0] INFO com.amazon.dataprepper.plugins.source.RandomStringSource - Writing to buffer
2021-09-30T20:19:46,694 [random-source-pool-0] INFO com.amazon.dataprepper.plugins.source.RandomStringSource - Writing to buffer
2021-09-30T20:19:47,200 [random-source-pool-0] INFO com.amazon.dataprepper.plugins.source.RandomStringSource - Writing to buffer
2021-09-30T20:19:49,181 [simple-test-pipeline-processor-worker-1-thread-1] INFO com.amazon.dataprepper.pipeline.ProcessWorker - simple-test-pipeline Worker: Processing 6 records from buffer
07dc0d37-da2c-447e-a8df-64792095fb72
5ac9b10a-1d21-4306-851a-6fb12f797010
99040c79-e97b-4f1d-a70b-409286f2a671
5319a842-c028-4c17-a613-3ef101bd2bdd
e51e700e-5cab-4f6d-879a-1c3235a77d18
b4ed2d7e-cf9c-4e9d-967c-b18e8af35c90
本页的其余部分提供了从 Docker 镜像运行 Data Prepper 的示例。如果您是从源代码构建的,请参阅开发者指南了解更多信息。
无论您如何配置管道,运行 Data Prepper 的方式都是相同的。您运行 Docker 镜像并修改 pipelines.yaml
和 data-prepper-config.yaml
文件。
对于 Data Prepper 2.0 或更高版本,请使用此命令
docker run --name data-prepper -p 4900:4900 -v ${PWD}/pipelines.yaml:/usr/share/data-prepper/pipelines/pipelines.yaml -v ${PWD}/data-prepper-config.yaml:/usr/share/data-prepper/config/data-prepper-config.yaml opensearchproject/data-prepper:latest
对于 Data Prepper 2.0 之前的版本,请使用此命令
docker run --name data-prepper -p 4900:4900 -v ${PWD}/pipelines.yaml:/usr/share/data-prepper/pipelines.yaml -v ${PWD}/data-prepper-config.yaml:/usr/share/data-prepper/data-prepper-config.yaml opensearchproject/data-prepper:1.x
Data Prepper 运行后,它会一直处理数据直到关闭。完成后,使用以下命令将其关闭
POST /shutdown
附加配置
对于 Data Prepper 2.0 或更高版本,Log4j 2 配置文件从应用程序主目录中的 config/log4j2.properties
读取。默认情况下,它使用 shared-config 目录中的 log4j2-rolling.properties
。
对于 Data Prepper 1.5 或更早版本,如果您想传递自定义的 log4j2 属性文件,可选地在命令中添加 "-Dlog4j.configurationFile=config/log4j2.properties"
。如果没有提供属性文件,Data Prepper 将默认使用 shared-config 目录中的 log4j2.properties 文件。
后续步骤
追踪分析是 Data Prepper 的一个重要用例。如果您尚未配置,请参阅追踪分析。
日志摄取也是 Data Prepper 的一个重要用例。要了解更多信息,请参阅日志分析。
要了解如何使用 Logstash 配置运行 Data Prepper,请参阅从 Logstash 迁移。
有关如何监控 Data Prepper 的信息,请参阅监控。
更多示例
有关 Data Prepper 的更多示例,请参阅 Data Prepper 仓库中的示例。