从5.3升级到6.4
升级说明: http://docs.grafana.org/installation/upgrading/#upgrading-to-v6-0
变更文件: https://github.com/grafana/grafana/blob/master/CHANGELOG.md
发行版说明:https://community.grafana.com/c/releases
6.0新特性: https://grafana.com/blog/2019/02/25/grafana-v6.0-released/
原因
1.有了很多新特性:https://github.com/grafana/grafana/blob/master/CHANGELOG.md
(重要的部分也就是,不用返回就可以切换面板展示形式、支持面板内数据检索和比对,还有就是使用了react是官方下一步趋势,有利于后面升级不然跨版本太多,以后想升级就会更加困难)
2.现在Prometheus正在慢慢使用,所采用的一部分好用功能在新版本的grafana中有很好体现(好比查询提示),还有就是grafana提供的官方模板语法在低版本中不兼容
3.旧的grafana是采用的单节点物理部署,数据库为sqlite不方便做迁移和数据库安全备份(升级后采用MySQL存储)
时间节点
服务低峰期
升级步骤
数据库迁移部分
step1:
将现行的grafana 5.3.2的sqlite数据库db文件备份
step2:
将db文件(grafana.db)通过以下脚本转为MySQL的脚本,命令:
展开源码
sqlitedump.sh
#!/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
step3:
运行grafana5.3.2(连接mysql库),初始化MySQL数据库表(方便sqlite的sql script导入)
MySQL库初始完毕之后,导入SQL: grafana.sql
连接服务,验证服务(失败回滚)
step4:
运行grafana6.3.6(连接mysql库),系统自动完成升级库表
连接服务,验证服务(失败回滚)
step5:
没有问题,将线上域名指向grafana6.3.6新的grafana服务
step5:
successed!let's cheers!
软件升级部分
此次升级由5.3.2 → 6.3.6,先平滑升级方式到29.14上,正常运行两周后,视整体情况,可使用原地升级方案搬迁回原25.7
OS: Ubuntu 14.04
升级前准备:
- 下载grafana 6.3.6
wget https://dl.grafana.com/oss/release/grafana_6.3.6_amd64.deb
- 检查原版本包含文件,备份配置和数据
# check grafana file list
sudo dpkg -L grafana
# backup configuration and data directory
tar -czvf grafana_etc.tar.gz /etc/grafana
tar -czvf grafana_var_lib.tar.gz /var/lib/grafana
平滑升级方案:
Host:10.10.25.7→10.10.29.14
- # install
sudo dpkg -i grafana_6.3.6_amd64.deb
- # restore configuration and data directory
tar -xvf grafana_etc.tar.gz -C /etc/
tar -xvf grafana_var_lib.tar.gz -C /var/lib/
- sudo /etc/init.d/grafana-server start
原地升级方案:
- grafana upgrade
# stop grafana
sudo /etc/init.d/grafana-server stop
# remove old version
sudo dpkg -r grafana
# install
sudo dpkg -i grafana_6.3.6_amd64.deb
- check configuration
从测试环境来看,dpkg -r并不会删除原配置和数据目录的相关文件,可直接启动;
如原配置和数据目录被删除,从backup恢复即可
- sudo /etc/init.d/grafana-server start
回滚方案
重新启动旧的grafana 5.3.2