🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] # Converting Ingest Node Pipelines > <font color=#DC143C size=4>NOTE</font>:注,标题不知道怎么翻译,不过关于Ingest Node的信息可以参考下<https://cloud.tencent.com/developer/article/1354027>这篇文章。简单说来Ingest Node是Elasticsearch5.0之后的一个新特性,可以在文档(数据)存入Elasticsearch之前进行处理。功能和Logstash有重合,但可以简化ELK架构。即可以采用轻量级的Beats+Ingest Node+Elasticsearch+Kibana的架构。 在使用[ingest](<https://www.elastic.co/guide/en/elasticsearch/reference/6.5/ingest.html>)解析你的数据之后,你可能会决定要利用Logstash中更丰富的转换功能 。比如,如果你可能需要使用Logstash替换掉ingest pipelines如果你想要: + 从更多的inputs获取。Logstash原生支持从多种源如TCP,UDP,syslog和关系型数据库获取数据。 + 使用多个outputs。Ingest node被设计为只支持Elasticsearch作为output,但你可能想要使用不止一个output。比如,你可能想将你的数据归档到S3同时索引到Elasticsearch。 + 利用Logstash中更丰富的转换功能,例如外部查找。 + 使用持久化队列来处理高峰数据(从Beats或其他源) 为了更方便的迁移你的配置,Logstash提供了一个ingest pipeline转换工具。转换工具将ingest pipeline定义为input,并且,可能的话,创建等效的Logstash配置作为output。 查看完整的[限制](https://www.elastic.co/guide/en/logstash/6.5/ingest-converter.html#ingest-converter-limitations)列表 # 运行工具 你可以在Logstash安装目录中的`bin`目录中找到转换工具。在[Logstash 目录布局](https://www.elastic.co/guide/en/logstash/6.5/dir-layout.html)来找到自己系统上`bin`目录的位置。 使用下面的命令来运行转换工具: ```bash bin/ingest-convert.sh --input INPUT_FILE_URI --output OUTPUT_FILE_URI [--append-stdio] ``` Where: + `INPUT_FILE_URI`是定义ingest node pipeline的JSON文件的完整路径的文件URI。 + `OUTPUT_FILE_URI`是由工具生成的Logstash DSL文件的文件URI。 + `--append-stdio`是一个可选标志,它将stdin和stdout部分添加到配置中,而不是添加默认的Elasticsearch输出。 这个命令需要一个文件URI,所以确保使用的斜线并且指定的文件的完整路径。 示例: ```bash bin/ingest-convert.sh --input file:///tmp/ingest/apache.json --output file:///tmp/ingest/apache.conf ``` # 限制 + 不支持无痛脚本转换。 + 只有支持的processors的子集可以被转换。对于不支持的processors,转换工具将会产生一个警告并尝试转换。 # 支持的Processors 下面的ingest node processors目前支持转换工具: + Append + Convert + Date + GeoIP + Grok + Gsub + Json + Lowercase + Rename + Set