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

Grok Parsing Failure in logstash with Pattern That Includes Square Brackets

我有一个日志模式,其中每个日志元素都用方括号括起来。我无法控制原始日志。我只希望 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} \ ]