Logstash Alternatives: Pros & Cons of 5 Log Shippers [2019] - Sematext - 0 views
-
In this case, Elasticsearch. And because Elasticsearch can be down or struggling, or the network can be down, the shipper would ideally be able to buffer and retry
-
Logstash is typically used for collecting, parsing, and storing logs for future use as part of log management.
-
Logstash’s biggest con or “Achille’s heel” has always been performance and resource consumption (the default heap size is 1GB).
- ...37 more annotations...
-
This can be a problem for high traffic deployments, when Logstash servers would need to be comparable with the Elasticsearch ones.
-
differences between Logstash and Filebeat are that Logstash has more functionality, while Filebeat takes less resources.
-
For example, how aggressive it should be in searching for new files to tail and when to close file handles when a file didn’t get changes for a while.
-
Initially it could only send logs to Logstash and Elasticsearch, but now it can send to Kafka and Redis, and in 5.x it also gains filtering capabilities.
-
you can push directly from Filebeat to Elasticsearch, and have Elasticsearch do both parsing and storing.
-
You shouldn’t need a buffer when tailing files because, just as Logstash, Filebeat remembers where it left off
-
For larger deployments, you’d typically use Kafka as a queue instead, because Filebeat can talk to Kafka as well
-
The default syslog daemon on most Linux distros, rsyslog can do so much more than just picking logs from the syslog socket and writing to /var/log/messages.
-
It can tail files, parse them, buffer (on disk and in memory) and ship to a number of destinations, including Elasticsearch.
-
Its grammar-based parsing module (mmnormalize) works at constant speed no matter the number of rules (we tested this claim).
-
the main difference between Logstash and rsyslog is that Logstash is easier to use while rsyslog lighter.
-
rsyslog fits well in scenarios where you either need something very light yet capable (an appliance, a small VM, collecting syslog from within a Docker container).
-
Similarly to rsyslog, you’d probably want to deploy syslog-ng on boxes where resources are tight, yet you do want to perform potentially complex processing.
-
Fluentd was built on the idea of logging in JSON wherever possible (which is a practice we totally agree with) so that log shippers down the line don’t have to guess which substring is which field of which type.
-
structured data through Fluentd, it’s not made to have the flexibility of other shippers on this list (Filebeat excluded).
-
Fluentd is a good fit when you have diverse or exotic sources and destinations for your logs, because of the number of plugins.
-
Graylog is nice because you have a complete logging solution, but it’s going to be harder to customize than an ELK stack.