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