如何使用grok解析以下日志行还有如何匹配日期的模式。我尝试了%{TIMESTAMP_ISO8601:logtime},但没有匹配
日志行:
2019年11月13日00:00:220.230调试[[ACTIVE]执行线程:'272'队列:'weblogic.kernel.Default(自调优('][196.157.7.12]965929132[wire]>>"[\n]">
这个问题有点不清楚,你想把它们映射到什么字段。
所以,以下是适合我的:
%{MONTHDAY:day}[-]%{MONTH:month}[-]%{YEAR:year} %{TIME:time} %{WORD:logtype} [[%{WORD:status}] ExecuteThread: '%{NUMBER:threadNumber}' for queue: '%{GREEDYDATA:queueData}'] [%{IP:ip}] %{NUMBER:numbers} [%{WORD:text}] >> "[\n]"
前4个字段回答您的日期/时间模式查询,其余字段是我用来适应其余字段的字段。由于没有提供确切的映射,我使用根据我的理解进行了映射
这是输出:
{
"day": [
[
"13"
]
],
"month": [
[
"Nov"
]
],
"year": [
[
"2019"
]
],
"time": [
[
"00:00:20.230"
]
],
"logtype": [
[
"DEBUG"
]
],
"status": [
[
"ACTIVE"
]
],
"threadNumber": [
[
"272"
]
],
"queueData": [
[
"weblogic.kernel.Default (self-tuning)"
]
],
"ip": [
[
"196.157.7.12"
]
],
"numbers": [
[
"965929132"
]
],
"text": [
[
"wire"
]
]
}
如果你愿意的话,你可以把"时间"进一步打破。有关图案的任何其他组合,请参阅Grok patterns。