使用解析日志(包含以[date] [hostname]开头的文本)进行Grok解析问题

时间:2018-07-03 14:45:15

标签: logstash logstash-grok

我正在尝试使用grok解析下面的日志

 [2018-10-06 12:04:03:0227] [MYMACHINENAME]

而我使用的grok表达式是

/[%{DATESTAMP:date}/] /[%{WORD:data}%/]

,此表达式不起作用。我尝试用主机名替换WORD,即使它不起作用,并且如果我尝试单独使用任何一个匹配器,则它都可以工作。 谁能为我提供更好的教程页面来学习grok表达式?

2 个答案:

答案 0 :(得分:1)

模式中几乎没有错误。 首先,您使用反斜杠/而不是正斜杠\来转义字符。其次,您不需要%来最后匹配]。 第三,DATESTAMP与您的日期格式不匹配,您需要TIMESTAMP_ISO8601

您的最终模式应该变成

\[%{TIMESTAMP_ISO8601}\] \[%{WORD}\]

答案 1 :(得分:0)

正则表达式模式DATESTAMP与您的字符串不正确。尝试使用TIMESTAMP_ISO8601

在这里您可以看到所有grok regex模式:grok-patterns