一、简介
默认安装的Grafana使用sqlite3来存储用户、密码、session等信息,默认保存路径为:/var/lib/grafana/,如果要部署高可用grafana的话,sqlite3来管理存储数据显得不太协调。因此我们可以将Grafana使用的sqlite3改为mysql,这样方便多个Grafana实例共同使用同一个数据库(mysql)。
二、更改
这里分为两种场景:
场景一:
grafana数据已经初始化为sqlite3存储格式,方法如下:
1.先停止grafana
$ sudo systemctl stop grafana-server
2.导出grafana的sqlite数据库为mysql格式
#!/bin/bash
DB=$1
TABLES=$(sqlite3 $DB .tables | sed -r 's/(\S+)\s+(\S)/\1\n\2/g' | grep -v migration_log)
for t in $TABLES; do
echo "TRUNCATE TABLE $t;"
done
for t in $TABLES; do
echo -e ".mode insert $t\nselect * from $t;"
done | sqlite3 $DB
执行导出命令:
$ ./export_sqlite.sh grafana.db > grafana.sql
3.更改grafana配置文件
grafana默认配置文件为/etc/grafana/grafana.ini,找到[database]部分,修改grafana存储信息
方式一:直接配置MySQL细腻
type = mysql
host = IPADDRESS:3306
name = DATABASE_NAME
user = USER
password = PASSWORD
或者通过url进行定义database信息,参考如下:
url = mysql://USER:PASSWORD@IPADDRESS:3306/DATABASE_NAME
4.数据库导入到MySQL
$ mysql -p IPADDR -u USERNAME -p -D grafana < grafana.sql
5.启动grafana
$ sudo systemctl start grafana-server
场景二:
grafana数据为初始化,方法如下:
参考场景一的方法,先配置grafana.ini的database配置信息,然后再启动grafana应用,这样启动的时候grafana的数据会自动初始化在database配置的数据库中。【此方法较简单–推荐】
提示:
另外,使用Ansible的playbook脚本自动完成多grafana实例的安装–>配置–>数据初始化到mysql数据库,实现高可用的playbook脚本,笔者已多次测试,未发现BUG,如下所示:
您暂时无权查看此隐藏内容!
内容查看价格6.66元立即支付
注意:本站少数资源收集于网络,如涉及版权等问题请及时与站长联系,我们会在第一时间内与您协商解决。如非特殊说明,本站所有资源解压密码均为:zhangqiongjie.com。
作者:1923002089
评论前必须登录!
注册