Logstash-多个grok模式无法一起使用

时间:2019-05-20 13:22:56

标签: logstash logstash-grok

我在使用Logstash方面非常陌生。我有两种日志,

模式1:--2019-05-09 08:53:45.057 -INFO 11736 --- [ntainer#1-0-C-1] cssservice.MessageLogServiceImpl:[adc7fd862db5307a688817198046b284dbb12b9347bed9067320caa49d8efa381557392024151]事件=>消息状态更改[开始时间:09052019 08:53:44]:CUSTOM_PROCESSING_COMPLETED

模式2:--2019-05-09 06:49:05.590 -TRACE 6293 --- [ntainer#0-0-C-1] cssservice.MessageLogServiceImpl:[41a6811cbc1c66eda0e942712a12a003d6bf4654b3edb6d24bf159b592afc64f1557384545548] INVALID_STRUCTURE

尽管还有其他许多行,但是我只考虑这两种类型。因此,我在过滤器下面使用了

 grok {
     #Event : message status change
     match => {
         "message" => "--(?<logtime>[^\]]*) -%{LOGLEVEL:level} (?<pid>\d+) --- \[(?<thread>[^\]]+)] (?<classname>[\w.]+)\s+: \[(?<token>[^\]]+)] Event \=> Message Status Change \[Start Time : (?<start>[^\]]*)\] : (?<status>[\w]+)"
     }
     add_field => {
         "event" => "message_status_change"
     }
 }


 grok {
     #Event : message failure
     match => {
         "message" => "--(?<logtime>[^\]]*) -%{LOGLEVEL:level} (?<pid>\d+) --- \[(?<thread>[^\]]+)] (?<classname>[\w.]+)\s+: \[(?<token>[^\]]+)] Event \=> Message Failure Identified : (?<code>[\w]+)"
     }
     add_field => {
         "event" => "message_failure"
     }
 }

我还注意到,这两种模式都可以单独工作(如果我发表评论,那么其他模式就可以完美地工作)。当两种模式都处于活动状态时,Logstash服务器也可以。但是当两个都打开并且在日志文件中添加新行时,会引发grokparse错误。

我还想知道,尽管我将输入配置为从头开始读取文件,但即使在服务器重新启动后也不会读取,除非在日志中添加新行。为什么会有这种行为?

谢谢。

0 个答案:

没有答案