Logstash:正则表达式匹配没有扩展名的文件

时间:2017-04-03 19:18:03

标签: regex logstash

我想在Logstash配置文件中排除没有扩展名的文件

我需要使用正则表达式来完成它并且无法实现它。我所遵循的路径是排除名称中不包含点的任何文件。

我已经阅读了很多并尝试过但Logstash继续吃掉我需要排除的文件转发给ElasticSearch。

我的最后一次尝试和错误:

input {
    file {
            type => "exe-data"
            path => "/elastic-data/**/*"
            start_position => "beginning"
            sincedb_path => "/dev/null"
            codec => plain { charset => "ISO-8859-1" }
            exclude => "*.gz"
            exclude => "*.zip"
            exclude => "^([^.]+)$"

1 个答案:

答案 0 :(得分:0)

虽然文件输入上的exclude可能不支持正则表达式,但您可以在过滤阶段处理此问题。

filter {
  if [path] =~ "^/elastic-data/[^.]+$" {
    drop {}
  }

  otherfilter {

  }
}

通过将drop {}作为过滤管道中的第一个阶段,您可以通过摄取无点文件获得最小的打击。