我在tomcat日志中获得了不同的不同信息。我只想要消息"服务器启动" 。我在logstash中使用了grok过滤器,但我无法获得带有该消息的唯一一条过滤消息。我收到了tomcat日志中的所有消息。 logstash中的conf文件是......
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 :(得分:0)
grok filter用于从邮件中提取字段。它没有做任何过滤。您应该使用conditional和drop filter:
filter {
if [message] !~ /Server start up in/ {
drop { }
}
}
或者:
filter {
if "Server start up in" not in [message] {
drop { }
}
}