尽管使用多行logstash过滤器,行分割

时间:2014-10-24 11:59:37

标签: elasticsearch multiline logstash

我使用了多行logstash过滤器。它在少数情况下失败。

例如,我尝试使用多个块解析报表。我使用多行过滤器形成了这些块/段。

    Page 1 Date Title Author
    Data................................................................................
    ....................................................................................
    <delimiter>

当我使用100块测试时,每次它都没有正确附加1或2块。 需要

Page 1 Date Title Author

作为单个消息并解析它并作为另一个消息保留
注意:
另一个观察是,有时块的第一部分说

Page 21 Date Title Author 

被解析,然后是

  Page 20 Date Title Author
        Data................................................................................
        ....................................................................................
        <delimiter>

prev块然后最后解析不完整块的剩余部分。 这是某种多线程问题吗?

修改 我的配置文件看起来像这样:

input{
     file{
         path=>"/home/tudit/input.txt"
         start_position=>"beginning"
 }
}

filter{
    multiline{
        pattern => "^\f"
            negate => true
            what => "previous"
            enable_flush=>"true"
    }

    grok{
        match=>["message","Page%{SPACE}%{NUMBER:page_no:int}"]
    }

    grok{
        match=>["message","(?<date>%{MONTHDAY}%{SPACE}%{MONTH}%{SPACE}%{YEAR})"]
    }

    grok{
        match=>["message","Author:%{SPACE}%{WORD:author}"]
    }

    grok{
        match=>["message","Title:%{SPACE}%{WORD:title}"]
    }

    date{
        match => [ "date", "dd MMM YYYY" ]
    }

}

output {
  stdout{
    codec=>"rubydebug"
  }
 elasticsearch{
    embedded=> "true"
    host=> "localhost"
  }

}

\ f是分隔符。

0 个答案:

没有答案