OpenSearch Data Prepper
OpenSearch Data Prepper 是一个服务器端数据收集器,能够过滤、丰富、转换、规范化和聚合数据,以供下游分析和可视化。Data Prepper 是 OpenSearch 首选的数据摄入工具。建议将其用于 OpenSearch 中大多数数据摄入用例以及处理大型、复杂的数据集。
使用 Data Prepper,您可以构建自定义管道以改善应用程序的运营视图。Data Prepper 的两个常见用例是追踪分析和日志分析。追踪分析可以帮助您可视化事件流并识别性能问题。日志分析为您提供工具,以增强您的搜索能力,进行全面的分析,并深入了解应用程序的性能和行为。
关键概念和基础
Data Prepper 通过可自定义的管道摄入数据。这些管道由可插拔组件组成,您可以根据需要进行自定义,甚至可以插入自己的实现。Data Prepper 管道包含以下组件:
- 一个源 (source)
- 一个或多个接收器 (sink)
- (可选) 一个缓冲区 (buffer)
- (可选) 一个或多个处理器 (processor)
每个管道包含两个必需组件:source
和 sink
。如果管道中缺少 buffer
、processor
或两者都缺少,则 Data Prepper 会使用默认的 bounded_blocking
缓冲区和一个无操作处理器。请注意,单个 Data Prepper 实例可以包含一个或多个管道。
基本管道配置
要了解管道组件如何在 Data Prepper 配置中发挥作用,请参阅以下示例。每个管道配置都使用 yaml
文件格式。有关更多信息和示例,请参阅管道 (Pipelines)。
最小配置
以下最小管道配置从文件源读取数据,并将数据写入同一路径上的另一个文件。它为 buffer
和 processor
组件使用默认选项。
sample-pipeline:
source:
file:
path: <path/to/input-file>
sink:
- file:
path: <path/to/output-file>
综合配置
以下综合管道配置同时使用了必需和可选组件:
sample-pipeline:
workers: 4 # Number of workers
delay: 100 # in milliseconds, how often the workers should run
source:
file:
path: <path/to/input-file>
buffer:
bounded_blocking:
buffer_size: 1024 # max number of events the buffer will accept
batch_size: 256 # max number of events the buffer will drain for each read
processor:
- string_converter:
upper_case: true
sink:
- file:
path: <path/to/output-file>
在给定的管道配置中,source
组件从 input-file
读取字符串事件,并将数据推送到最大大小为 1024
的有界缓冲区。workers
组件指定了 4
个并发线程,它们将处理缓冲区中的事件,每个线程每 100
毫秒从缓冲区读取最多 256
个事件。每个 workers
组件都运行 string_converter
处理器,该处理器将字符串转换为大写并将处理后的输出写入 output-file
。