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小时


想获取最新内容,请关注微信公众号

图片描述


codecraft
11.9k 声望2k 粉丝

当一个代码的工匠回首往事时,不因虚度年华而悔恨,也不因碌碌无为而羞愧,这样,当他老的时候,可以很自豪告诉世人,我曾经将代码注入生命去打造互联网的浪潮之巅,那是个很疯狂的时代,我在一波波的浪潮上留下...


引用和评论

0 条评论