使用包含以 [日期] [主机名] 开头的文本的解析日志的 Grok 解析问题
Grok parsing issue using parsing log containing text starting [date] [hostname]
我正在尝试使用 grok 解析以下日志
[2018-10-06 12:04:03:0227] [MYMACHINENAME]
我使用的 grok 表达式是
/[%{DATESTAMP:date}/] /[%{WORD:data}%/]
并且此表达式无效。我尝试用主机名替换 WORD,即使它不起作用,如果我尝试单独使用任何一个匹配器,它也会起作用。
任何人都可以提供更好的教程页面来学习 grok 表达式吗?
正则表达式模式 DATESTAMP
对您的字符串不正确。尝试使用 TIMESTAMP_ISO8601
.
在这里您可以看到所有 grok 正则表达式模式:grok-patterns。
您的模式中几乎没有错误。
首先,您使用反斜杠 /
而不是正斜杠 \
来转义字符。其次,你不需要 %
最后匹配 ]
。
第三,DATESTAMP
与您的日期格式不匹配,您需要 TIMESTAMP_ISO8601
.
你的最终模式应该变成,
\[%{TIMESTAMP_ISO8601}\] \[%{WORD}\]
我正在尝试使用 grok 解析以下日志
[2018-10-06 12:04:03:0227] [MYMACHINENAME]
我使用的 grok 表达式是
/[%{DATESTAMP:date}/] /[%{WORD:data}%/]
并且此表达式无效。我尝试用主机名替换 WORD,即使它不起作用,如果我尝试单独使用任何一个匹配器,它也会起作用。 任何人都可以提供更好的教程页面来学习 grok 表达式吗?
正则表达式模式 DATESTAMP
对您的字符串不正确。尝试使用 TIMESTAMP_ISO8601
.
在这里您可以看到所有 grok 正则表达式模式:grok-patterns。
您的模式中几乎没有错误。
首先,您使用反斜杠 /
而不是正斜杠 \
来转义字符。其次,你不需要 %
最后匹配 ]
。
第三,DATESTAMP
与您的日期格式不匹配,您需要 TIMESTAMP_ISO8601
.
你的最终模式应该变成,
\[%{TIMESTAMP_ISO8601}\] \[%{WORD}\]