grafana升级 5.3.2~6.3.6

从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

升级前准备:

  1. 下载grafana 6.3.6
    wget https://dl.grafana.com/oss/release/grafana_6.3.6_amd64.deb
     
  2. 检查原版本包含文件,备份配置和数据
    # 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

  1. # install
    sudo dpkg -i grafana_6.3.6_amd64.deb
     
  2. # restore configuration and data directory
    tar -xvf grafana_etc.tar.gz -C /etc/
    tar -xvf grafana_var_lib.tar.gz -C /var/lib/
     
  3. sudo /etc/init.d/grafana-server start

原地升级方案:

  1. 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
     
  2. check configuration
    从测试环境来看,dpkg -r并不会删除原配置和数据目录的相关文件,可直接启动;
    如原配置和数据目录被删除,从backup恢复即可
     
  3. sudo /etc/init.d/grafana-server start

回滚方案

重新启动旧的grafana 5.3.2

发布了212 篇原创文章 · 获赞 68 · 访问量 36万+

猜你喜欢

转载自blog.csdn.net/singgel/article/details/105241840