转换摄取节点管道
编辑转换摄取节点管道编辑
在实施了 摄取 管道来解析数据后,您可能会决定利用 Logstash 中更丰富的转换功能。例如,如果您想执行以下操作,则可能需要使用 Logstash 而不是摄取管道
- 从更多输入源摄取。Logstash 可以从许多其他来源(如 TCP、UDP、syslog 和关系数据库)原生摄取数据。
- 使用多个输出。摄取节点设计为仅支持 Elasticsearch 作为输出,但您可能希望使用多个输出。例如,您可能希望将传入数据存档到 S3 以及将其索引到 Elasticsearch 中。
- 利用 Logstash 中更丰富的转换功能,例如外部查找。
- 使用持久队列功能来处理摄取数据(来自 Beats 和其他来源)时的峰值。
为了方便您迁移配置,Logstash 提供了一个摄取管道转换工具。该转换工具将摄取管道定义作为输入,并在可能的情况下创建等效的 Logstash 配置作为输出。
有关工具限制的完整列表,请参阅限制。
运行工具编辑
您可以在 Logstash 安装的 bin
目录中找到转换工具。请参阅Logstash 目录布局以查找系统上 bin
的位置。
要运行转换工具,请使用以下命令
bin/ingest-convert.sh --input INPUT_FILE_URI --output OUTPUT_FILE_URI [--append-stdio]
其中
-
INPUT_FILE_URI
是指定定义摄取节点管道的 JSON 文件的完整路径的文件 URI。 -
OUTPUT_FILE_URI
是将由工具生成的 Logstash DSL 文件的文件 URI。 -
--append-stdio
是一个可选标志,用于将 stdin 和 stdout 部分添加到配置中,而不是添加默认的 Elasticsearch 输出。
此命令需要一个文件 URI,因此请确保使用正斜杠并指定文件的完整路径。
例如
bin/ingest-convert.sh --input file:///tmp/ingest/apache.json --output file:///tmp/ingest/apache.conf