在logstash中更有效地过滤进度4gl跟踪日志



我已经成功地过滤了我的日志,但我想知道我是否可以使它更有效或"更好"的方式,而不是使用大量的"NOTSPACE"。下面是我的示例日志以及我的grok过滤器。

****更新为最新版本******

[15/09/28@09:40:23.467-0700] P-000685 T-956770080 2 WS 4GLTRACE       Run shr/getpref.p " Traveler ID Format" [Main Block - docprep/frames.w @ 1016]

我的grok过滤器:

%{YEAR}/%{MONTHNUM}/%{MONTHDAY}@%{HOUR}:%{MINUTE}:%{SECOND}-%{INT:TIMEZONE}%{NOTSPACE:BRACKET}%{SPACE}%{NOTSPACE:PID}%{SPACE}%{NOTSPACE:T}%{SPACE}%{INT:NUM}%{SPACE}%{NOTSPACE:WS}%{SPACE}%{NOTSPACE:4GLTRACE}%{SPACE}%{NOTSPACE:STATUS}%{SPACE}%{NOTSPACE:MAINPROGRAM}%{GREEDYDATA:SUBPROGRAM}%{SPACE}%{NOTSPACE:BRACKET}

任何提示将不胜感激!

可以在模式中使用括号,但是必须转义开头的括号,因此:

[ .... ] 

可以在你的日期/时间前后使用。

另外,您可以使用%{TIME}来代替三个单独的模式。

您的几个%{NOTSPACE}可能是%{WORD},这可能在几个月后当您重新访问grok{}时更有意义。%{WORD}是bw+b,它将包括字母数字字符和下划线。

当你知道只有一个字面值的空格时,你可以在你的模式中使用:

%{WORD} %{WORD}

也可以提高可读性。

我还尝试为"最后的额外内容"保留GREEDYDATA。查看%{QS}的引号字符串。

相关内容

  • 没有找到相关文章

最新更新