使用包含以 [日期] [主机名] 开头的文本的解析日志的 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}\]