Grok在包含方括号的模式的logstash中解析失败

Grok在包含方括号的模式的logstash中解析失败,logstash,logstash-grok,Logstash,Logstash Grok,我有一个日志模式,其中每个日志元素都包含在方括号中。我无法控制原始日志。我只希望grok解析忽略括号,只解释括号之间的内容。基于接近以下行的内容: 2019-04-04 13.23.57.057 [52] [77] [MEASURE] [XYZService] ,我希望模式将52视为threadId。我有以下代码: if [message] =~ "MEASURE" { grok { match => { " message" => "%{TIMESTAMP

我有一个日志模式,其中每个日志元素都包含在方括号中。我无法控制原始日志。我只希望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。我确信它只与括号中的部分有关,因为当我去掉那个图案时,一切都很好。如果有人知道我做错了什么,我将不胜感激。谢谢

别客气。我通过像这样转义括号使其工作:\[%{NUMBER:threadId} \]