The `ingest_pipelines` plugin provides Kibana support for [Elasticsearch's ingest nodes](https://www.elastic.co/guide/en/elasticsearch/reference/master/ingest.html). Please refer to the Elasticsearch documentation for more details.
This plugin allows Kibana to create, edit, clone and delete ingest node pipelines. It also provides support to simulate a pipeline.
It requires a Basic license and the following cluster privileges: `manage_pipeline` and `cluster:monitor/nodes/info`.
A new app called Ingest Node Pipelines is registered in the Management section and follows a typical CRUD UI pattern. The client-side portion of this app lives in [public/application](public/application) and uses endpoints registered in [server/routes/api](server/routes/api). For more information on the pipeline processors editor component, check out the [component readme](public/application/components/pipeline_processors_editor/README.md).
See the [kibana contributing guide](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md) for instructions on setting up your development environment.
You can run the following request in Console to create an ingest node pipeline:
```
PUT _ingest/pipeline/test_pipeline
{
"description": "_description",
"processors": [
{
"set": {
"field": "field1",
"value": "value1"
}
},
{
"rename": {
"field": "dont_exist",
"target_field": "field1",
"ignore_failure": true
}
},
{
"rename": {
"field": "foofield",
"target_field": "new_field",
"on_failure": [
{
"set": {
"field": "field2",
"value": "value2"
}
}
]
}
},
{
"drop": {
"if": "false"
}
},
{
"drop": {
"if": "true"
}
}
]
}
```
Then, go to the Ingest Node Pipelines UI to edit, delete, clone, or view details of the pipeline.
To simulate a pipeline, go to the "Edit" page of your pipeline. Click the "Add documents" link under the "Processors" section. You may add the following sample documents to test the pipeline:
```
// The first document in this example should trigger the on_failure processor in the pipeline, while the second one should succeed.
[
{
"_index": "my_index",
"_id": "id1",
"_source": {
"foo": "bar"
}
},
{
"_index": "my_index",
"_id": "id2",
"_source": {
"foo": "baz",
"foofield": "bar"
}
}
]
```
Alternatively, you can add a document from an existing index, or create some sample data of your own. Afterward, click the "Run the pipeline" button to view the output.