Clustering Kibana #79941
Labels
enhancement
New value added to drive a business result
Team:Core
Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc
Currently, there isn't an easy way to create a cluster of Kibana processes that all run on a single machine. It's common for us to recommend that users do so manually and put all of the Kibana instances behind a load balancer. However, this is a rather large burden to place on our users and makes it difficult to take advantage of a multi-processor machines because Node.js is largely single-threaded, outside of the libuv worker threads.
Node.js has a
Cluster
module, which can be used to have multiple Kibana HTTP servers listening on a single port. It seems worthwhile to explore whether or not this is a viable option for Kibana to take advantage of to address this pain point.Some interesting behaviors we'd need to take into consideration (I'm sure there are many others):
data
folders to write their UUID, we'd need to figure out how to share this folderlogging.dest
setting specifies a file where Kibana should output its logs. Can we have all processes of Kibana writing to the same file? If so, it feels like we should designate which log entry is coming from which instance.Cluster
module, it'll just pick one instance to and use that for/api/stats
.The text was updated successfully, but these errors were encountered: