When comparing Logstash vs Flume, the Slant community recommends Logstash for most people. In the question“What are the best log management, aggregation & monitoring tools?” Logstash is ranked 1st while Flume is ranked 14th. The most important reason people chose Logstash is:
There is an [official Docker image for Logstash](https://hub.docker.com/_/logstash/) which means it'll likely be well supported and maintained for a while.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Has an official Docker image
There is an official Docker image for Logstash which means it'll likely be well supported and maintained for a while.
Pro Free and open source
Logstash is licensed under Apache 2.0.
Pro Extended functionality via plugins
There is a rich repository of plugins available categorized as inputs, codecs, filters and outputs.
Pro Easy installation
No dependencies, it's a single .jar file. It's written in JRuby and only requires Java to be installed.
Pro Great integration with other Elastic products
Logstash is commonly used as part of ELK stack, that also includes ElasticSearch (a clustered search and storage system) and Kibana (a web frontend for ElasticSearch).
Pro Emphasizes flexibility and interoperability
Logstash is built to fit in your stack.
Pro Filters are code
Filters, also known as "groks", are used to query a log stream. They are provided in a configuration file, that also configures source stream and output streams. Since they are stored in a file, they can be under version control and changes can be reviewed (for example, as part of a Git pull request).
Pro Managed cloud version avaible
There is a cloud based managed version if you are prepared to pay a few bucks.
Pro Good performance
You can run on mediocre system without problems
Pro Flume is transactional (no lost when duplicating streams), and can be backuped by Kafka
Pro Hadoop integration
Flume was created to efficiently move log data to Apache Hadoop's HDFS.
Pro Free and open source
Licensed under Apache 2.0.
Cons
Con Does not come bundled with a UI
Logstash does not come bundled with a UI, to visualize data you need to use a tool like Kibana or grafana as the UI.
Con Difficult to maintain
You have to host and maintain it yourself. This can be a challenge as log volume increases.
Con Filters can be hard to write
Simple filters seem easy enough with a pattern like %{SYNTAX:SEMANTIC}
but often RegEx is required. RegEx is a powerful backdoor but it is also dense and hard to learn.
Con No native alerts
Logstash does not have any native alerting capabilities.
Con Hard to manage
Since Flume cannot do multiplex connections, it's extremely hard to manage. It's essentially one socket per log type.