Perfect for projects where Elasticsearch makes sense: if you decide to employ ES in a project, then you will almost inevitably use LogStash, and you should anyways. Such projects would include: 1. Data Science (reading, recording or measure web-based Analytics, Metrics) 2. Web Scraping (which was one of our earlier projects involving LogStash) 3. Syslog-ng Management: While I did point out that it can be a bit of an electric boo-ga-loo in finding an errant configuration item, it is still worth it to implement Syslog-ng management via LogStash: being able to fine-tune your log messages and then pipe them to other sources, depending on the data being read in, is incredibly powerful, and I would say is exemplar of what modern Computer Science looks like: Less Specialization in mathematics, and more specialization in storing and recording data (i.e. Less Engineering, and more Design).
Microsoft SQL Server is a great RDBMS and meets all of our requirements. If you need a stable DB platform to support your line of a business application you'll be well served. Licensing costs are far cheaper, more portable and a lot more user friendly than Oracle. Product support and security patches from Microsoft are strong.
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.
Since it's a Java product, JVM tuning must be done for handling high-load.
The persistent queue feature is nice, but I feel like most companies would want to use Kafka as a general storage location for persistent messages for all consumers to use. Using some pipeline of "Kafka input -> filter plugins -> Kafka output" seems like a good solution for data enrichment without needing to maintain a custom Kafka consumer to accomplish a similar feature.
I would like to see more documentation around creating a distributed Logstash cluster because I imagine for high ingestion use cases, that would be necessary.
We understand that the Microsoft SQL Server will continue to advance, offering the same robust and reliable platform while adding new features that enable us, as a software center, to create a superior product. That provides excellent performance while reducing the hardware requirements and the total cost of ownership of our solution.
SQL Server mostly 'just works' or generates error messages to help you sort out the trouble. You can usually count on the product to get the job done and keep an eye on your potential mistakes. Interaction with other Microsoft products makes operating as a Windows user pretty straight forward. Digging through the multitude of dialogs and wizards can be a pain, but the answer is usually there somewhere.
We managed to handle most of our problems by looking into Microsoft's official documentation that has everything explained and almost every function has an example that illustrates in detail how a particular functionality works. Just like PowerShell has the ability to show you an example of how some cmdlet works, that is the case also here, and in my opinion, it is a very good practice and I like it.
Other than SQL taking quite a bit of time to actually install there are no problems with installation. Even on hardware that has good performance SQL can still take close to an hour to install a typical server with management and reporting services.
MongoDB and Azure SQL Database are just that: Databases, and they allow you to pipe data into a database, which means that alot of the log filtering becomes a simple exercise of querying information from a DBMS. However, LogStash was chosen for it's ease of integration into our choice of using ELK Elasticsearch is an obvious inclusion: Using Logstash with it's native DevOps stack its really rational
[Microsoft] SQL Server has a much better community and professional support and is overall just a more reliable system with Microsoft behind it. I've used MySQL in the past and SQL Server has just become more comfortable for me and is my go to RDBMS.
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.
Increased accuracy - We went from multiple users having different versions of an Excel spreadsheet to a single source of truth for our reporting.
Increased Efficiency - We can now generate reports at any time from a single source rather than multiple users spending their time collating data and generating reports.
Improved Security - Enterprise level security on a dedicated server rather than financial files on multiple laptop hard drives.