|
@@ -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.
|
|
|
|
|
+
|
|
|
|
|
+
|