使用包括方括号的模式在logstash中进行Grok解析失败

时间:2019-04-08 12:23:44

标签: logstash logstash-grok

我有一个日志模式,其中每个日志元素都放在方括号中。我无法控制原始日志。我只希望grok解析忽略括号,而只解释括号之间的内容。基于接近以下行的内容:

2019-04-04 13.23.57.057 [52] [77] [MEASURE] [XYZService]

,我希望模式将52视为threadId。我有以下代码:

if [message] =~ "MEASURE" {
    grok {
        match => { " message" => "%{TIMESTAMP_ISO8601:logtime} [%{NUMBER:threadId}] %{GREEDYDATA:restofmessage}" }
    }
}
else {
    drop()
}

在这种状态下,logstash尝试解释该行时出现grokparsefailure。我敢肯定它仅与方括号有关,因为当我删除该模式时,每种方法都可以正常工作。对于任何想法,我做错了我将不胜感激。谢谢

1 个答案:

答案 0 :(得分:1)

没关系。我通过这样的转义来使它起作用:\ [%{NUMBER:threadId} \]