使用摄取管道解析数据
编辑使用摄取管道解析数据编辑
当您使用 Elasticsearch 作为输出时,您可以配置 Metricbeat 使用 摄取管道 在 Elasticsearch 中实际索引发生之前对文档进行预处理。当您想要对数据进行一些额外的处理,但又不需要 Logstash 的全部功能时,摄取管道是一个方便的处理选项。例如,您可以在 Elasticsearch 中创建一个由一个处理器组成的摄取管道,该处理器会删除文档中的一个字段,然后是另一个处理器,它会重命名一个字段。
在 Elasticsearch 中定义管道后,您只需配置 Metricbeat 使用该管道即可。要配置 Metricbeat,您需要在 metricbeat.yml
文件的 elasticsearch
下的 parameters
选项中指定管道 ID。
output.elasticsearch: hosts: ["localhost:9200"] pipeline: my_pipeline_id
例如,假设您在名为 pipeline.json
的文件中定义了以下管道
{ "description": "Test pipeline", "processors": [ { "lowercase": { "field": "agent.name" } } ] }
要将管道添加到 Elasticsearch,您需要运行
curl -H 'Content-Type: application/json' -XPUT 'https://127.0.0.1:9200/_ingest/pipeline/test-pipeline' [email protected]
然后在 metricbeat.yml
文件中,您需要指定
output.elasticsearch: hosts: ["localhost:9200"] pipeline: "test-pipeline"
当您运行 Metricbeat 时,agent.name
的值会在索引之前转换为小写。
有关定义预处理管道的更多信息,请参见 摄取管道 文档。