如何在其中有数字的 grok 中转义括号?例如,(396)

How to escape parenthesis in grok that have number in it? For example, (396)

我想将示例日志文件传输到 grok regex,但无法在线找到方法。如何将日志消息传输到 grok 正则表达式。

我想转让这样的东西" 2019-07-09 13:51:00,146 INFO Thread-89 task.AbstractTaskProcessor(106) 条消息” 理解正则表达式

Windows 机。我尝试了多种方法将日志消息转换为正则表达式,但其中 none 有效。 Kibana 不显示 Loglevel 的 Filed。

 grok {
    match => {
       "messgae" => "%{TIMESTAMP_ISO8601:timestamp} *%{LOGLEVEL:level} (?<logthread>(?:[()a-zA-Zd-]+[0-9]*)) 
%{JAVACLASS:class} %{NUMBER} %{GREEDYDATA:message} 
    }
  }

Kibana 应该有 loglevel 作为字段

你可以试试这个:

%{TIMESTAMP_ISO8601:timestamp},%{NUMBER} %{LOGLEVEL:level} %{DATA:logthread} %{DATA:class}\(%{NUMBER}\) %{GREEDYDATA:message}

我在 :

上测试过它
2019-07-09 13:51:00,146 INFO Thread-89 task.AbstractTaskProcessor(106) messages

您将获得以下字段:

timestamp   2019-07-09·13:51:00
message     messages
class       task.AbstractTaskProcessor
logthread   Thread-89
level       INFO