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,默认为falsesession_life_time
设置sessioin的有效时长,单位秒,默认是86400秒,即24小时
想获取最新内容,请关注微信公众号
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。