Logstash grok方括号

DMa*_*ack 5 logstash logstash-grok

我正在尝试使某种grok模式与以下日志记录格式配合使用:

*Sun 07:05:18.372 INFO  [main] [userID] perf - 0ms - select x from y
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是方括号中的字段,在此将其注释为userID。有时会填充此字段,而在其他时候则不会。如果我使用下面的grok模式:

*%{DAY:Day} %{TIME:Time} %{LOGLEVEL:Loglevel}\s+(\[%{WORD:module}\]\s+)(\[%{HOSTNAME:id}\]\s+)%{GREEDYDATA:logline}*
Run Code Online (Sandbox Code Playgroud)

只要UserID字段中有一些数据,它就可以正确解析。如果该字段为空(下面的示例),则不匹配。任何想法深表感谢!

*Sun 07:05:18.372 INFO  [main] [] perf - 0ms - select x from y
Run Code Online (Sandbox Code Playgroud)

Ere*_*bih 6

您是否尝试用反斜杠将括号转义?如\[%{WORD:module}\]