Grafana的高可用主要通过这两项类保证:
- 部署多个grafana实例,改访问sqlite3为共享数据库
- 处理session问题
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
##session配置 Grafana支持memory,file,mysql,postgres,memchche,redis这几种存储。默认把session存在本地的文件系统,因此如果是采用session sticky策略进行转发的,则没有影响,否则的话,需要处理session同步问题。
[session]
;provider = file
;provider_config = sessions
;cookie_name = grafana_sess
;cookie_secure = false
;session_life_time = 86400
改为mysql实例
[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
然后手动创建表
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的名称
- cookie_secure 如果开启https的话,这里设置为true,默认为false
- session_life_time 设置sessioin的有效时长,单位秒,默认是86400秒,即24小时
想获取最新资讯,请关注微信公众号