2015-05-19 60 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上可用。 –

相關問題