如何使用Grok Patterns跳过消息的开头



我正试图使用Graylog中的Grok Patterns只提取Linux日志的最后一部分,但这比我所做的要困难。

这是我收到的信息:

3月18日11:10:01 graylog CRON[14637]:pam_unix(CRON:session(:用户根的会话已关闭

我只想保留日期、时间和;为用户根关闭会话";部分

这是我尝试过的,但没有结果:

%{GREEDYDATA} pam_unix(cron:session):
%{GREEDYDATA} session closed for user root
%{MONTH} %{BASE10NUM} %{TIME} %{GREEDYDATA}graylog CRON[18698]: pam_unix(cron:session):

也许我还在用";greedydata";错了(?(,如果有任何帮助,我们将不胜感激!

您可以使用

%{MONTH:month} %{BASE10NUM:day} %{TIME:time} %{DATA}: pam_unix(cron:session):s*%{GREEDYDATA:message}

详细信息

  • %{MONTH:month}-月份名称
  • %{BASE10NUM:day}-一个或多个数字
  • %{TIME:time}-时间模式
  • %{DATA}-.*?惰性点正则表达式模式,匹配除换行符之外的任何零个或多个字符,尽可能少地匹配(注意,您可以将其更改为%{DATA:cron}以在输出中获得graylog CRON[14637](
  • : pam_unix(cron:session):-文字: pam_unix(cron:session):文本
  • s*-零个或多个空白
  • %{GREEDYDATA:message}-.*正则表达式模式与行的其余部分匹配

最新更新