自定义日志grok模式

时间:2017-06-07 12:23:54

标签: regex logstash-grok grok

我正在尝试使用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'中的最后几个项目。你能帮忙吗,我哪里出错了? msg应该包含“TRT / TRT serveur'Test10011'OK”

1 个答案:

答案 0 :(得分:1)

您似乎只需要使用GREEDYDATA代替DATA模式:

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

我还建议在\s*周围添加:以摆脱前导/尾随空格。 enter image description here