I have a basic ELK setup on a single box that is fed data from several inputs like syslog and lumberjack. It started dying from too much log data coming in so I installed redis server and added it to config, but now the logs never make it to elastic search.
Are you sure type => "syslog" in the redis input actually changes and overwrites the existing type field of incoming events? By reading the code it's not what I'd expect. I'm guessing that message are just looping back and forth between Redis and Logstash.
I couldn't find any place where @type variable gets set in the code of the redis input plugin so I assume it gets overwritten correctly since it isn't set.
Just in case I also tried to use a custom tag which also doesn't work.
I couldn't find any place where @type variable gets set in the code of the redis input plugin so I assume it gets overwritten correctly since it isn't set.
You make dangerous assumptions. The @type attribute is set by code inherited into the redis input plugin, but what ends up in the event depends on the I quoted above.
Just in case I also tried to use a custom tag which also doesn't work.
Could you be more specific than "doesn't work"? Anything interesting in the logs if you start Logstash with --verbose or --debug? To remove a potential source of errors, what if you replace the elasticsearch output with a simple stdout output?
More strange info:
Two random entries from input type exec did show up in elastic search over a period of a ~4 hours. These are setup with a 10 second interval so about 1440 of these are missing.
Problem solved by moving Redis to another server. Seems like tagging is broken at least on the Redis input, so I don't think there's a way to get this working on a single server.
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.