自定义日志 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 空格。
我正在尝试使用 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 空格。