【问题标题】:Grok pattern works in Grok debugger but not in logstash configGrok 模式在 Grok 调试器中有效,但在 logstash 配置中无效
【发布时间】:2017-07-29 23:52:51
【问题描述】:

我的日志:

(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】:

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

    这是我使用的 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}\))?:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-19
      • 1970-01-01
      • 2021-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多