繁体   English   中英

Logstash grok方括号

[英]Logstash grok square brackets

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

*Sun 07:05:18.372 INFO  [main] [userID] perf - 0ms - select x from y

我遇到的问题是方括号中的字段,我在这里注释为userID。 有时这个字段是填充的,有时则不是。 如果我使用下面的grok模式:

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

只要UserID字段中有一些数据,它就会正确解析。 如果该字段为空(例如下面),则它不匹配。 任何想法都感激不尽!

*Sun 07:05:18.372 INFO  [main] [] perf - 0ms - select x from y

你试图用反斜杠来逃避括号吗? \\[%{WORD:module}\\]

问题不是关于[]一个简单的零或更多运算符(?)的转义应该这样做:

(?\[%{WORD:module}?]\s+)

(第二 ?)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM