grafana高可用架构

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

session配置

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


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

图片描述

相关文章
相关标签/搜索