grafana部署高可用架构
为了获得高可用性的服务,需要对单台部署grafana的服务器进行扩充。
图片引自grafana文档
这个过程中需要做两件事:
- 配置一个公共数据库,使所有的grafana服务器可以将配置写入公共数据库中而不是存在本地;
- 选用一个会话存储方案,这一步可以通过让负载均衡启用会话保持功能解决
数据库配置
grafana为数据库提供多种可选方案,包括:mysql,postgresql,sqlite3(default)。
配置文件为:
vi /etc/grafana/grafana.ini
配置项为database部分:
# You can configure the database connection by specifying type, host, name, user and password # as separate properties or as on string using the url properties. # Either "mysql", "postgres" or "sqlite3", it's your choice type = mysql ;数据库类型 host = www.url.com ;数据库域名 name = grafana_configure ;数据库名称 user = admin ;数据库用户名 # If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;""" password = admin_password ;数据库用户密码 # Use either URL or the previous fields to configure the database # Example: mysql://user:secret@host:port/database ;url = # For "postgres" only, either "disable", "require" or "verify-full" ;ssl_mode = disable "/etc/grafana/grafana.ini" 487L, 15112C written
仅需要为grafana开辟一个数据库即可,数据表和字段将在用户新建一个dashboard后自动写入。
会话策略
grafana支持将回话保存在磁盘/数据库中,这两种保存方法对应着两种策略:会话保持和无状态会话。
- 会话保持
配合负载均衡,将同一用户的请求转发到相同的服务器上。这样工作量最小,但是也会出现某台服务器负载较其他服务器更高的情况。 - 无状态回话
grafana将用户的会话保存在数据库中,这样同一用户的会话也将会被分发到各个服务器中处理,这种方式需要在数据库中提前预设一张数据表,在grafana.ini中的session部分有关于此项的配置信息。
方案步骤
- 新建一个数据库,为grafana新建可操作用户
- 部署N台grafana服务器,修改各服务器的grafana.ini文件,写入数据库相关配置信息,重启grafana-server。
- 将配置好的grafana服务器挂载到负载均衡中,开启会话保持
- 访问负载均衡的IP,获得高可用的grafana服务

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
组复制官方翻译二、Group Replication Background
https://dev.mysql.com/doc/refman/8.0/en/group-replication-background.html 这一章主要描述一些组复制的背景 构建一个容错系统最常用的方法就是让组件冗余,换句话说就是组件即便被移除掉,整个系统还是能够正常对外提供服务这无疑在不同层面上提出了更多的挑战需要注意的是,复制结构的数据库系统必须思考的一个事实就是:他们需要维护和管理一堆不同的sever此外,他们还必须解决分布式系统所面临的问题:比如 脑裂、网络分区等等 因此,最大的挑战就是去融合这种逻辑数据库,保证数据复制的一致性换句话说,为了让不同server都同意这个系统的状态,他们每一台server的数据修改都必须验证一致这就意味着他们需要运作的想一个状态机一样(分布式) MySQL Group Replication提供了一套分布式状态机制复制管理方法 对于要提交的事务,这个group采取大部分原则来投票,让事务全局有序决定commit还是拒绝这个事务都是由server自行判断,但是所有servers都会做出一样的决定如果网络产生了分区,脑裂产生导致成员之间无法达成...
- 下一篇
Django 1.8.2 文档
django 百科全书 入门¶刚开始学习Django或者编程?让我们从这里开始吧! 从零开始:概述|安装 教程:第1部分:模型(100%)|第2部分:管理站点(100%)|第3部分:视图和模板|第4部分:表单和通用视图(100%)|第5部分:测试(100%)|第6部分:静态文件(100%) 高级教程:如何编写可重用的应用(100%)|编写Django的第一个补丁(100%) 模型层¶ Django提供了一个抽象层(“模型”),用于构造和操纵Web应用程序的数据。通过以下内容了解更多: 模型:模型简介(100%)|字段类型(100%)|元选项(100%)|模型类(100%) 查询集:执行查询(100%)|查询集方法参考(100%)|查找表达式(100%) 模型的实例:实例方法(100%)|访问关联对象(100%) 迁移:迁移简介(100%)|操作参考(100%)|模式编辑器(100%)|编写迁移(100%) 高级:管理器(100%)|原始SQL(100%)|事务(100%)|聚合(100%)|自定义字段(100%)|多数据库(100%)|自定义查找(100%)|查询表达式(100%)|条...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS关闭SELinux安全模块
- CentOS8编译安装MySQL8.0.19
- Windows10,CentOS7,CentOS8安装Nodejs环境
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- 设置Eclipse缩进为4个空格,增强代码规范