logstash remove_field无法正常工作,无法将csv上载到elasticsearch

问题描述 投票:0回答:1

我正在使用elasticsearch,kibana和logstash 6.0.1。

我希望通过logstash将csv数据上传到elasticsearch,并删除字段(路径,@ timestamp,@ version,主机和消息)。我在下面显示logstash.conf和emp.csv文件。如果我不使用remove_field指令,但我需要的话,上传将起作用。此外,未创建索引。

logstash.conf:

input {

  file {
      path => "e:\emp.csv"
      start_position => "beginning"
  }
}
filter {
  csv {
      separator => ","
      columns => ["code","color"]
      remove_field => ["path", "@timestamp", "@version", "host", "message"]
  }

  mutate {convert => ["code", "string"]}
  mutate {convert => ["color", "string"]}

}
output {
  elasticsearch {
    hosts => "http://localhost:9200"
    index => "emp5"
    user => "elastic"
    password => "password"
  }
  stdout {}
}

emp.csv:

1,blue
2,red

在这种情况下缺少什么?

elasticsearch logstash kibana
1个回答
0
投票

csv文件中,您要删除的数据不可用。

例如,尝试删除pathhost字段:

(...)
filter {
  csv {
      separator => ","
      columns => ["code","color"]
  }
    mutate {
      remove_field => ["path", "host"]
    }
(...)

并且,如果没有字段path和/或host,则没有问题。如果字段存在,插件将删除字段,如果字段不存在,则插件将不执行任何操作。

© www.soinside.com 2019 - 2024. All rights reserved.