我对 logstash grok 过滤器有疑问

I have a question about logstash grok filter

我想通过 logstash 的 grok 过滤器提取字段。 比如出现如下日志,我想提取消息时间、线程、日志级别、状态码。

2020-01-01 10:10:10 [QuartzScheduler-1] 错误 c.l.c.i.c.t.a.c.AmazonElbV2Task-Exception occurred ..... LoadBalancing;状态码:400;错误代码:节流;

消息时间、线程和日志级别是通过以下过滤器提取的。如何提取状态码?

%{TIME:messageTime} [(?[A-Za-z0-9\W.-_]+)] %{LOGLEVEL:logLevel}

您可以使用以下 GROK 表达式。它是使用 GROK 调试器和您提供的输入进行测试的。我建议您也使用 kibana 中的 GROK 调试器,或者您可以在线找到 1 个来构建您的 GROK 表达式。

^%{TIMESTAMP_ISO8601:event_timestamp}%{SPACE}\[%{DATA:thread}\]%{SPACE}%{LOGLEVEL:log_level}%{GREEDYDATA}Status Code: %{NUMBER:status:int}%{GREEDYDATA}$