-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Description
Today, each Logstash instance is a full pipeline -- inputs, filters and outputs stages. In large-scale Logstash deployments, users run multiple instances of Logstash in order to horizontally scale event processing. This requires manual management of individual configuration files, or custom/3rd party configuration automation tools such as Puppet or Chef.
We plan to introduce a concept of a Logstash cluster, where instances can be controlled as a whole (on a cluster level), instead of being separate parts. This would entail the following features:
- Provide an option to centrally store a Logstash config, which is shared across all the instances in the cluster. This would be the single source of truth for all the instances
- Provide APIs to control the cluster, dynamically, to change configuration. See Provide APIs to manage pipeline #2612
- Provide APIs to monitor instances at the cluster level. See Provide APIs to monitor pipeline #2611
Logstash can still be started in a single-instance, non-clustered mode; file based configuration will continue to work.
Clustering instances will also provide the necessary groundwork for potential long-term enhancements like automatic load balancing, failover, running multiple pipelines and so on.