elastic / elastic/logstash

Logstash testing mode

Open
#6,494 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
14.9k
Forks
3.5k
Avg merge
19h 14m
Merged PRs (30d)
63

Description

Hello,

I use logstash with some complex ruby code because of my input data that is quite ugly but I can not change it.

In my migration from 2.3.1 to 5.1.1, I spent a lot of time handling the breaking change of the event being immutable and with the new get and set event's methods.

During this migration, I had the following idea that would have been of great value for me in order to validate the migration and the non regression of my logstash configuration.
Here it is : introduce a test mode for logstash. In this mode, logstash would function globally with the given configuration file and an input file of data for the test.
It would produce data on an output file and shut down simply once done instead of being resident.

With this simple behavior, it would permit to test simply that for a given input, the output is correct and even do assertions on the result data for each line of specific data in the input.
It would guarantee that logstash configuration is correct and has no regression over time and over logstash versions from a user point of view.
It could also be used to define some sort of protocol in order to send bugs in logstash given a configuration, dataset and asserted result.

In my case, I have 5 input event types with an entirely specific and complex filter chain so it is actually quite difficult to validate the logstash configuration.

I hope, this will be present in a future version of logstash.

Regards,

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.