【问题标题】:more efficient filter of progress 4gl trace logs in logstashlogstash 中更有效的进度过滤器 4gl 跟踪日志
【发布时间】:2015-09-29 16:48:30
【问题描述】:

我已经成功过滤了我的日志,但我很好奇我是否可以让它更高效或“更好”,而不是使用大量的“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}

任何提示将不胜感激!

【问题讨论】:

    标签: logging filter logstash openedge grok


    【解决方案1】:

    你可以在你的模式中使用括号,但你必须避开开头的括号,所以:

    \[ .... ] 
    

    可以在您的日期/时间附近使用。

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

    您的几个 %{NOTSPACE} 可能是 %{WORD},这在您重新访问 grok 时可能会更有意义{}。 %{WORD} 是 \b\w+\b,其中包含字母数字字符和下划线。

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

    %{WORD} %{WORD}
    

    这也将提高可读性。

    我还尝试为“最后的额外内容”保留 GREEDYDATA。查看 %{QS} 以获取带引号的字符串。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多