自定义日志 grok 模式

custom log grok pattern

我正在尝试使用 grok 模式解析自定义日志行,但我无法完全解析该行。

自定义日志行:

site 'TRT' : alias 'TRT,FAK,FAS,ATI,ONE,DVZ,TWO' : serveur 'Test10011' RAS : TRT / TRT serveur 'Test10011' OK

Grok 模式:

%{DATA:site}\:%{DATA:alias}\:%{DATA:server}\:%{DATA:msg}

结果:

{
  "site": [
    [
      "site 'TRT' "
    ]
  ],
  "alias": [
    [
      " alias 'TRT,FAK,FAS,ATI,ONE,DVZ,TWO' "
    ]
  ],
  "server": [
    [
      " serveur 'Test10011' RAS "
    ]
  ],
  "msg": [
    [
      ""
    ]
  ]
}

我无法解析 'msg' 中的最后几项,。你能帮忙吗,我哪里出错了?消息应包含 "TRT / TRT serveur 'Test10011' OK"

看来您只需要使用 GREEDYDATA 而不是 DATA 模式:

%{DATA:site}\s*:\s*%{DATA:alias}\s*:\s*%{DATA:server}\s*:\s*%{GREEDYDATA:msg}

我还建议在 : 周围添加 \s* 以去除 leading/trailing 空格。