Thanks for the response. I have no trouble using the above. Unfortunately, though, it doesn't work. The stuff I'm trying to filter out is still getting through. I seem to be having a problem filtering out anything using fields with the pattern x.y.z
Using periods in field names is unsupported. It works most of the time, but some things will break. So having a field called system.syslog.hostname is not good.
Are you certain the system object has been parsed at the point where you are testing it?
This is exactly how the field looks in Kibana: system.syslog.message (there are others of the same format). I guess that's the way Filebeat presents the field.
Apologies,but, where/how do I run the code you just provided?
Can you show us your logstash config? The "if" works in your software version, but does not match the data in kibana. That suggests the data in logstash at the point where the "if" occurs does not match the data in kibana. i.e., there is some transformation in the logstash configuration that matters.
Something else that might help would be to show us the output of your data using "output { stdout { codec => rubydebug } }". That would make it clear if one of the structures in [system][syslog][message] is actually an array. I cannot remember if that shows up clearly in kibana.
Sure. I have three config files - input, filter, and output. You can find them here: https://pastebin.com/cZa8Wwth . A warning that the filter config is very long. And, thanks for sticking with this! I very much appreciate it.
Yeah, the filter config is a bit messy, but it does work (for the most part ). That last } closes the first filter. I rejiggered the file to add } to the first filter (used for geoip), and removed it from the very end of the file (after the filter that I'm trying to make work). Alas, it still doesn't work. It's making me absolutely crazy!
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.