如何为我的日志编写grok表达式?

时间:2019-07-08 08:16:59

标签: logstash logstash-grok

我正试图写一个古希腊人来分析我的日志。

使用logstash 7收集日志。但是经过多次尝试,我写grok失败了。

日志如下:

[2018-09-17 18:53:43]-biz_util.py [Line:55]-[ERROR]-[thread:14836]-[process:9504]-需要一个整数

我的Grok(假):

%{TIMESTAMP_ISO8601:log_time}-%{USERNAME:module} [Line:%{NUMBER:line_no}]-[%{WORD:level}]-[thread:%{NUMBER:thread_no}]-[过程: %{NUMBER:process_no}]-%{GREEDYDATA:log}

只有时间戳部分可以。其他人失败了。

2 个答案:

答案 0 :(得分:1)

将起作用:

\[%{TIMESTAMP_ISO8601:log_time}\] - %{DATA:module} \[Line:%{NUMBER:line_no}\] - \[%{WORD:level}\]-\[thread:%{NUMBER:thread_no}\]-\[process:%{NUMBER:process_no}\] - %{GREEDYDATA:log}

您需要转义[

答案 1 :(得分:0)

这将起作用,

[%{TIMESTAMP_ISO8601:log_time}]%{NOTSPACE}%{USERNAME:module} [Line:%{BASE10NUM:Line}]%{NOTSPACE} [%{LOGLEVEL}]%{NOTSPACE} [thread:%{ BASE10NUM:thread}]%{NOTSPACE} [进程:%{BASE10NUM:process}]