[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
- Emmm
- Logstash简介
- 开始使用Logstash
- 安装Logstash
- 储存你的第一个事件
- 通过Logstash解析日志
- 多个输入和输出插件的混合使用
- Logstash是如何工作的
- 执行模型Execution Model
- 设置并运行Logstash
- Logstash目录布局
- Logstash配置文件
- logstash.yml
- Secrets keystore for secure settings
- 从命令行运行Logstash
- 以服务的方式运行Logstash
- 在Docker中运行Logstash
- 配置容器版Logstash
- Logging
- 关闭Logstash
- 安装X-Pack
- 设置X-Pack
- 升级Logstash
- 使用包管理升级
- 直接下载进行升级
- 升级至6.0
- Upgrading with the Persistent Queue Enabled
- 配置Logstash
- 管道配置文件的结构
- 访问配置中的事件数据和字段
- 在配置中使用环境变量
- Logstash配置示例
- 多管道
- 管道间通信(beta)
- 重载配置文件
- 管理多行事件
- Glob Pattern Support
- Converting Ingest Node Pipelines
- Logstash间通信
- 配置集中式管道管理
- X-Pack Monitoring
- X-Pack Security
- X-Pack Settings
- Field References Deep Dive(深入字段引用)
- 管理Logstash
- 集中式管道管理
- 使用Logstash模块
- 使用Elastic Cloud
- Logstash ArcSight模块