我的日志:
(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配置中工作。
答案 0 :(得分: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}\))?: