使用摄取管道解析数据

编辑

使用摄取管道解析数据编辑

当您使用 Elasticsearch 进行输出时,您可以配置 Winlogbeat 使用 摄取管道 在 Elasticsearch 中实际索引发生之前预处理文档。当您想要对数据进行一些额外的处理,但不需要 Logstash 的全部功能时,摄取管道是一个方便的处理选项。例如,您可以在 Elasticsearch 中创建一个摄取管道,它包含一个用于删除文档中字段的处理器,然后是一个用于重命名字段的处理器。

在 Elasticsearch 中定义管道后,您只需配置 Winlogbeat 使用该管道。要配置 Winlogbeat,您需要在 winlogbeat.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]

然后在 winlogbeat.yml 文件中,您需要指定

output.elasticsearch:
  hosts: ["localhost:9200"]
  pipeline: "test-pipeline"

当您运行 Winlogbeat 时,agent.name 的值将在索引之前转换为小写。

有关定义预处理管道的更多信息,请参阅 摄取管道 文档。