多行的Grok模式不起作用

时间:2018-07-13 04:04:08

标签: elasticsearch logstash elastic-stack logstash-grok

        1st|                    2nd|3rd        |4th         |5th                 |6th              |7th          |8th   |2012.07.12 05:31:04      |10th  |ProductDir: C:\samplefiles\test\storage\4.0 (LF)
C:\samplefiles\test\storage\5.0 (LF)
SampleDir: (LF)

注意:LF->换行符已添加

我尝试了以下选项。.似乎没有任何作用

  1. match => [ "message", "(?m)....
  2. (?<message>(.|\r|\n)*)
  3. Greedydata也不起作用,因为它没有考虑换行。
  4. mutate {gsub => ["message", "\n", "LINE_BREAK"] }
  5. codec => multiline { pattern => "^\s" negate => true what => previous }

2 个答案:

答案 0 :(得分:2)

(?m)%{GREEDYDATA}将匹配任何多行日志,包括您的日志。 请对其进行测试here

答案 1 :(得分:0)

下面的一个对我有用。

codec => multiline{
    pattern => "^\s*\d{1,}\|"
    negate => "true"
    what => "previous"
}