2015-05-19 36 views
1

我在tomcat日志中获得不同的信息。我只想要带有“服务器启动进入”消息的行。我在logstash中使用grok过滤器,但即时通讯无法获得唯一一个过滤的消息与该消息。我收到了tomcat日志中的所有消息。 logstash中的conf文件是...如何使用Grok过滤器来获取tomcat日志中的匹配消息?

input { 
    stdin { } 
    file { 
    type => "tomcat-access" 
    path => ["D:/apache-tomcat-7/logs/catalina.2015-05-19.log"] 
    } 
} 

filter { 
    grok { 
match => [ "message:Server startup in", "%{SYSLOGBASE} %{DATA:message}"] 
    } 
} 

output { 
    stdout { codec => rubydebug } 
    elasticsearch { 
    index => "tomcat" 
    cluster => "cloud-es" 
    } 

} 

回答

0

grok filter用于从消息中提取字段。它不做任何过滤。您应该使用conditionaldrop filter

filter { 
    if [message] !~ /Server start up in/ { 
    drop { } 
    } 
} 

或者:

filter { 
    if "Server start up in" not in [message] { 
    drop { } 
    } 
} 
+0

Thanq非常马格努斯回....现在它的工作.. Thanq乌拉圭回合的帮助...:d –

+0

我想使kibana仪表板定制。我可以得到kibana源代码。 因此,我可以对我的仪表板进行更改,使其更具先进性和我想要的方式。 –

+0

这是一个完全不同的问题,但是,是的,Kibana源代码在GitHub上可用。 –

相关问题