Logstash文件名为ElasticSearch索引

时间:2018-05-22 17:10:01

标签: elasticsearch logstash

我正在使用文件夹作为输入:

input {
  file {
    path => "C:/ProjectName/Uploads/*"
    start_position => "beginning"
    sincedb_path => "dev/null"
  }
}

并作为输出:

output {
  elasticsearch {
    hosts => "localhost"
    index => "manual_index_name" # want filename here
    document_type => "_doc"
  }     
}

我希望elasticsearch中的索引是要编制索引的文件的名称。 我尝试过这个答案的变体而没有成功,因为我不清楚它在做什么:https://stackoverflow.com/a/40156466/6483906

1 个答案:

答案 0 :(得分:2)

您需要使用grok过滤器来查找文件名的最后一部分:

filter {
  grok {
     match => ["path", "Uploads/%{GREEDYDATA:index_name}" ]
  }
}

然后只使用索引名称index => "%{index_name}"

中的部分
相关问题