我无法在logstash中为activamq日志创建grok模式

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

我无法为activemq日志创建grok模式:

2018-04-03 20:01:17,960 | INFO  | PListStore:[/data/dccm/activeMQ/apache-activemq-5.15.3/data/localhost/tmp_storage] stopped | org.apache.activemq.store.kahadb.plist.PListStoreImpl | Thread-24

我试过这种模式:

%{TIMESTAMP_ISO8601:timestamp} \s*\|\s*%{LOGLEVEL:loglevel} | %{DATA: data}
\: *\[ %{UNIXPATH:folder} \] stopped * \| %{JAVACLASS:class} \| %{WORD:tread}

我可以获得时间戳和日志级别。我使用过这个调试器:https://grokdebug.herokuapp.com/

logstash activemq logstash-grok
1个回答
3
投票

构建grok模式的最佳方法是从左侧开始,逐步向右移动,直到完成为止。调试“完成”模式是相反的 - 在它开始工作之前关闭它。

在您的情况下,即使这个较短的模式也不匹配:

%{TIMESTAMP_ISO8601:timestamp} \s*\|\s*%{LOGLEVEL:loglevel} | %{DATA:data}:

你现在能看得更轻松吗?是的,你没有在data之前逃脱管道角色。

一旦你解决了这个问题,你可以继续添加部分,直到你发现folder不匹配。这是因为在方括号内(两侧)的模式中只有一个空格。

泡沫,冲洗,重复。

© www.soinside.com 2019 - 2024. All rights reserved.