I want to obliterate everything this grok filter matches unconditionally is there a simple way? There are a lot of combinations so it's better if mated by grok otherwise I will be declaring a lot of conditions. Unless of course there's a simple condition that can catch all of them.
This is what I tried and it doesn't work
grok {
match => {
"stacktraces" => "^(?[\w\d:-.()\ $[?]]+)"
}
drop { }
}
}
}
reason=>"Expected one of #, input, filter, output at line 25, column 1 (byte 637) after ", :level=>:error, :file=>"logstash/agent.rb", :line=>"448", :method=>"create_pipeline"}
How do I describe the lines because they haven't been through main filters yet. They are stacktrace lines I'm trying to get rid of. What's the best way of describing them so it's dropped before the main filter kicks in. At this point there are no fields.
I can't use
if [blah] in "message"
at ac.com.xxx.etrading.xxxxx.pfserver.services.PriceRequestListener.handlePriceRequest(PriceRequestListener.java:117) [pfserver-2.20.3.jar:?]
at ac.com.xxx.etrading.xxxxx.pfserver.services.PriceRequestListener.onMessage(PriceRequestListener.java:204) [pfserver-2.20.3.jar:?]
at ac.com.xxx.etrading.xxxxx.pfserver.services.PriceRequestListener.onMessage(PriceRequestListener.java:23) [pfserver-2.20.3.jar:?]
at ac.com.xxx.etrading.xxxxx.messaging.tum.AbstractTumProtoSubscriber$TumProtoEventListener.go(AbstractTumProtoSubscriber.java:66) [xxxxx-messaging-tum-1.0.21.jar:?]
Is this an example of four lines of input or have you joined the lines into a single event?
We can save some time if you give more details. Seeing exactly what an event looks like is a good start. Use a stdout { codec => rubydebug } output to get the raw event.
And why would you want to drop these lines? Anyway, if they enter Logstash at all they are stored in a field and then you can use a conditional to drop them.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.