diff --git a/docs/sources/tutorials/ha_setup.md b/docs/sources/tutorials/ha_setup.md new file mode 100644 index 00000000000..998b382a43f --- /dev/null +++ b/docs/sources/tutorials/ha_setup.md @@ -0,0 +1,40 @@ ++++ +title = "Setup Grafana for High availability" +type = "docs" +keywords = ["grafana", "tutorials", "HA", "high availability"] +[menu.docs] +parent = "tutorials" +weight = 10 ++++ + +# How to setup Grafana for high availability + +> Alerting does not support high availability yet. + +Setting up Grafana for high availability is fairly simple. It comes down to two things: + + * Use a shared database for multiple grafana instances. + * Consider how user sessions are stored. + +## Configure multiple servers to use the same database + +First you need to do is to setup mysql or postgres on another server and configure Grafana to use that database. +You can find the configuration for doing that in the [[database]]({{< relref "configuration.md" >}}#database) section in the grafana config. +Grafana will now persist all long term data in the database. +It also worth considering how to setup the database for high availability but thats outside the scope of this guide. + +## User sessions + +The second thing to consider is how to deal with user sessions and how to balance the load between servers. +By default Grafana stores user sessions on disk which works fine if you use `sticky sessions` in your load balancer. +Grafana also supports storing the session data in the database, redis or memcache which makes it possible to use round robin in your load balancer. +If you use mysql/postgres for session storage you first need a table to store the session data in. More details about that in [[sessions]]({{< relref "configuration.md" >}}#session) + +For Grafana itself it doesn't really matter if you store your sessions on disk or database/redis/memcache. +But we suggest that you store the session in redis/memcache since it makes it easier to add/remote instances from the group. + +## Alerting + +Currently alerting does not support high availability. But this is something that we will be working on in the future. + +