Trying to create multiple Grafana instances for High Availability

  • What Grafana version and what operating system are you using?


  • What are you trying to achieve?

I would like to deploy Grafana on an infrastructure where many users will login and see their visualized data. The users only have permission of a viewer, so they couldn’t change anything. All changes on all dashboards are done programmatically via API.

This has already been done on a single test node, and all is well. It is time to go for multiple nodes. I am looking at Kubernetes which I will use to create multiple instances of Grafana for load balancing and high availability purposes. And map each Grafana’s data directory to a network directory where all Grafana instances will share their data.

I would like to know the following:

  1. Where does Grafana store its data such as created dashboards, users, orgs, etc? I believe all Grafana instances on all nodes should have their data directory mounted to a network directory where they will share all the data.

  2. Is it recommended to do this? Or is there a more recommended approach for load balancing and high availability for Grafana?

Hi @iono, what you’re planning should work, except for the database part. Have you looked at Set up Grafana for high availability | Grafana Labs ? I think it might answer your question.