Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 定制原木格洛克图案_Regex_Logstash Grok_Grok - Fatal编程技术网

Regex 定制原木格洛克图案

Regex 定制原木格洛克图案,regex,logstash-grok,grok,Regex,Logstash Grok,Grok,我试图使用grok模式解析自定义日志行,但无法完全解析该行 自定义日志行: site 'TRT' : alias 'TRT,FAK,FAS,ATI,ONE,DVZ,TWO' : serveur 'Test10011' RAS : TRT / TRT serveur 'Test10011' OK 格罗克模式: %{DATA:site}\:%{DATA:alias}\:%{DATA:server}\:%{DATA:msg} 结果: { "site": [ [ "site

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

自定义日志行:

site 'TRT' : alias 'TRT,FAK,FAS,ATI,ONE,DVZ,TWO' : serveur 'Test10011' RAS : TRT / TRT serveur 'Test10011' OK
格罗克模式:

%{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”

您似乎只需要使用
GREEDYDATA
而不是
数据
模式:

%{DATA:site}\s*:\s*%{DATA:alias}\s*:\s*%{DATA:server}\s*:\s*%{GREEDYDATA:msg}
我还建议在
周围添加
\s*
,以消除前导/尾随空格。

谢谢@Wiktor。以前没有考虑GRADEYDATA:)是的,代码> GReDyDATAs/COD>被翻译成<代码> .*<代码>模式(贪心点匹配模式),和<代码>数据< /代码>被翻译成<代码> *> /COD>(懒点匹配模式)。你可以多读一些,最后一件事。如果我只想在“msg”标签中使用“OK”,那么如何删除OK之前的字符?如果该单词总是在末尾,并且前面总是有空格,那么将最后一个
\s*
替换为
*\s
%{DATA:site}\s*:\s*{DATA:alias}\s*:\s*{DATA:server}\s*:.*\s%{greedydydyddata:msg}