Logstash is the best for ELK stacks!
Overall Satisfaction with Logstash
We were introduced to Logstash via the ELK stack. Our application generates many data points, and one of many patterns we had seen was to store it in elastic search. Logstash was the router which actually sent data to ES, and received data from our applications. The power of Logstash was quickly realized when we increased the number of source applications generating different kinds of data, but the ingestion point remained same. Since then Logstash has been one of my team's favorite tools and is one of the few things which you can set once and forget. We are happy users of Logstash and expect to use it more in the future.
Pros
- Logstash design is definitely perfect for the use case of ELK. Logstash has "drivers" using which it can inject from virtually any source. This takes the headache from source to implement those "drivers" to store data to ES.
- Logstash is fast, very fast. As per my observance, you don't need more than 1 or 2 servers for even big size projects.
- Data in different shape, size, and formats? No worries, Logstash can handle it. It lets you write simple rules to programmatically take decisions real-time on data.
- You can change your data on the fly! This is the CORE power of Logstash. The concept is similar to Kafka streams, the difference being the source and destination are application and ES respectively.
Cons
- Logstash is all command line, and it can become overwhelming for new developers. If it has any sort of UI, then I don't know about it.
- Documentation could have been better. But this is a work in progress, and with time I am sure community will help with documentation.
- Community support! Being a relatively new tool, the adoption is still mature, and finding answers can be challenging sometimes.
- Positive: Learning curve was relatively easy for our team. We were up and running within a sprint.
- Positive: Managing Logstash has generally been easy. We configure it, and usually, don't have to worry about misbehavior.
- Negative: Updating/Rehydrating Logstash servers have been little challenging. We sometimes even loose data while Logstash is down. It requires more in-depth research and experiments to figure the fine-grained details.
- Negative: This is now one more application/skill/server to manage. Like any other servers, it requires proper grooming or else you will get in trouble. This is also a single point of failure which can have the ability to make other servers useless if it is not running.
Logstash is similar to any service which can be the single point to collect and transform data. Kafka is a very good candidate, but it fails for applications not using Kafka. Kafka streams do pretty much the same thing. On one hand, I personally trust Kafka more, but then Kafka can only handle Kafka messages, whereas Logstash, can inject from any source e.g. databases. So any application can send data to Logstash. Another benefit of Logstash over Kafka is the ability to add plugins. If there is some source which is not supported by core Logstash, you can add other plugins.
Comments
Please log in to join the conversation