我使用的是与elasticsearch 1.3.4和kibana 3.1.1 logstash-1.4.0(我知道我已经过时了,这是我现在可以做的最好的) 。Grok过滤器不工作,即使它在grok调试器中工作
日志示例:
2016年5月31日16时05分33秒RequestManager [INFO]手动标志LOLROFLin TRALALA 123456Was变为真
我神交滤波器:
filter {
grok {
match => { "message" => "%{DATESTAMP:timestamp} %{WORD:clazz} %{NOTSPACE:level} %{GREEDYDATA:content}"}
}
if (!([stack_trace])) and (!([clazz] == "RequestAsset")) {
drop {}
}
}
我的问题是:
为什么我看不到kibana的grok字段?我只看到默认字段,但不是我的。 Grok调试器显示成功,但kibana不起作用。
我的目标是放弃没有堆栈跟踪的任何日志消息或不是来自类(在grok过滤器中称为clazz)“RequestAsset”。这应该工作吗?我可以在单独的过滤器中使用grok过滤器创建的字段吗?
编辑:我意识到了什么差错,我用它已经的方式隔开日志,其内容log4j的插件,和现场的消息已经不仅仅是信息本身。
我没有看到两者之间的任何区别?我也在你提到的grok调试器中尝试过它们,但都没有工作。我使用这一个,两者都有效:https://grokdebug.herokuapp.com/ – user1137582
对不起,我粘贴了错误的grok声明。你应该检查编辑。 –