Grafana的高可用主要经过这两项类保证:mysql
部署多个grafana实例,改访问sqlite3为共享数据库redis
处理session问题sql
alerting目前还不支持高可用配置数据库
Grafana默认使用了内嵌数据库sqlite3来进行用户以及dashboard相关配置的存储。更改配置文件的[database]部分,好比改成mysql:微信
[database] ; Either "mysql", "postgres" or "sqlite3", it's your choice type = mysql host = 192.168.99.100:3306 name = grafana user = root password = mypwd
Grafana支持memory,file,mysql,postgres,memchche,redis这几种存储。默认把session存在本地的文件系统,所以若是是采用session sticky策略进行转发的,则没有影响,不然的话,须要处理session同步问题。cookie
[session] ;provider = file ;provider_config = sessions ;cookie_name = grafana_sess ;cookie_secure = false ;session_life_time = 86400
改成mysql实例session
[session] provider = mysql provider_config = user:password@tcp(192.168.99.100:3306)/database_name cookie_name = grafana_sess cookie_secure = false session_life_time = 86400
而后手动建立表tcp
CREATE TABLE `session` ( `key` CHAR(16) NOT NULL, `data` BLOB, `expiry` INT(11) UNSIGNED NOT NULL, PRIMARY KEY (`key`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
cookie_name
指定grafana的cookie的名称ide
cookie_secure
若是开启https的话,这里设置为true,默认为falsepost
session_life_time
设置sessioin的有效时长,单位秒,默认是86400秒,即24小时
想获取最新内容,请关注微信公众号