日志文件的Grok模式

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

总的来说,我对Logstash和ELK还是陌生的。我需要以以下格式为日志文件编写grok模式:

[191114|16:51:13.577|BPDM|MDS|2|209|ERROR|39999]Interrupted by a signal!!!

[我试图通过引用grok-patterns并通过在grok-debugger中试用我的实现来编写grok模式,但是它没有用。

grok {
match => { "message" => "%{NONNEGINT:fixed}|%{HOSTNAME:host}|%{WORD:word1}|%{WORD:word2}|%{NONNEGINT:num1}|%{NONNEGINT:num2}|%{ERROR|INFO|EVENT}|%{NONNEGINT:num1}|%{GREEDYDATA:message}" }
 }
logstash elastic-stack logstash-grok logstash-configuration
1个回答
0
投票

您需要转义括号和管道,并且您的第二个字段不是主机,而是时间。

此方法有效,只需验证字段名称。

\[%{NONNEGINT:fixed}\|%{DATA:time}\|%{WORD:word1}\|%{WORD:word2}\|%{NONNEGINT:num1}\|%{NONNEGINT:num2}\|%{WORD:loglevel}\|%{NONNEGINT:num1}\]%{GREEDYDATA:message}

这个骗子会这样解析您的消息。

{
  "word1": "BPDM",
  "loglevel": "ERROR",
  "num1": "2",
  "word2": "MDS",
  "fixed": "191114",
  "time": "16:51:13.577",
  "message": "Interrupted by a signal!!!",
  "num2": "209"
}
© www.soinside.com 2019 - 2024. All rights reserved.