grafana高可用架构

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

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

grafana高可用架构_第1张图片
qrcode_for_gh_121b87c80448_258.jpg

你可能感兴趣的:(grafana高可用架构)