首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >日志文件的Grok模式

日志文件的Grok模式
EN

Stack Overflow用户
提问于 2020-05-27 22:06:17
回答 1查看 90关注 0票数 1

一般来说,我对Logstash和ELK都很陌生。我需要为日志文件编写一个grok模式,格式如下:

代码语言:javascript
复制
[191114|16:51:13.577|BPDM|MDS|2|209|ERROR|39999]Interrupted by a signal!!!

我试图通过引用grok-patterns并在grok-debugger中尝试我的实现来编写一个grok模式,但它不起作用。

代码语言:javascript
复制
grok {
match => { "message" => "%{NONNEGINT:fixed}|%{HOSTNAME:host}|%{WORD:word1}|%{WORD:word2}|%{NONNEGINT:num1}|%{NONNEGINT:num2}|%{ERROR|INFO|EVENT}|%{NONNEGINT:num1}|%{GREEDYDATA:message}" }
 }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-27 23:01:50

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

这个方法有效,只需验证字段名称即可。

代码语言:javascript
复制
\[%{NONNEGINT:fixed}\|%{DATA:time}\|%{WORD:word1}\|%{WORD:word2}\|%{NONNEGINT:num1}\|%{NONNEGINT:num2}\|%{WORD:loglevel}\|%{NONNEGINT:num3}\]%{GREEDYDATA:message}

这个grok会像这样解析你的消息。

代码语言:javascript
复制
{
  "word1": "BPDM",
  "word2": "MDS",
  "message": "Interrupted by a signal!!!",
  "loglevel": "ERROR",
  "num1": "2",
  "fixed": "191114",
  "time": "16:51:13.577",
  "num3": "39999",
  "num2": "209"
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62045092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档