Grok模式在Grok调试器中工作,但在logstash配置中不起作用

问题描述 投票:0回答:1

我的日志:

(49087) Login incorrect (eap_peap: TLS Alert write:fatal:decode error): [johndoe] (from client WIFI-Control-Dev port 13 cli bb-41-e2-1c-12-12)

我使用的grok模式:

\(%{NOTSPACE:removed}\) %{DATA:AUTHWAY} (?:\(%{DATA:radius_reason}\))?: (?:\[%{DATA:username}\]) \(from client %{NOTSPACE:radius_client} port %{INT:radius_port}(?: cli %{NOTSPACE:radius_cli})?(?: via %{DATA:radius_via})?\)

这在grok调试器中匹配并完美地工作,但是当我在logstash配置中使用相同的模式时,它不起作用。

AUTHWAY字段即将出现:

"AUTHWAY" => "Login incorrect (eap: Failed continuing EAP PEAP (25) session. EAP sub-module failed)",

我需要的是Login incorrect(eap: Failed continuing EAP PEAP (25) session. EAP sub-module failed)作为单独的领域。

任何人都可以说有什么区别,我怎样才能让grok模式在logstash配置中工作。

logstash elastic-stack logstash-grok
1个回答
0
投票

我自己找到了答案。所以我发布它是因为它可以帮助任何人。

这是我使用的grok模式,它在grok调试器和服务器中都有效。

\(%{DATA:removed}\) %{DATA:AUTHWAY}(?::)? (?:\((.*?)\):)?%{SPACE}\[%{DATA:username}\] \(from client %{NOTSPACE:radius_client} port %{INT:radius_port}(?: cli %{NOTSPACE:radius_cli})?(?: via %{DATA:radius_via})?\)

在这里,我使用(?::)? (?:\((.*?)\):)?%{SPACE}而不是(?:\(%{DATA:radius_reason}\))?:

© www.soinside.com 2019 - 2024. All rights reserved.