夜莺监控之升级篇(v3)
本教程讲述如何将滴滴夜莺监控平台进行升级
环境准备:
当前版本:3.1.6
待升级版本:3.5.0
升级步骤:
1、下载最新的安装包,可去官网或者通过wget的方式下载
2、根据升级文件提示进行升级,升级文件内容如下:
文件位置:https://github.com/didi/nightingale/blob/master/changelog

3.5.0中的配置文件job.yml,rdb.yml,monapi.yml,ams.yml中的cookieName的值为ecmc-sid,原来版本中的值为ecmc-user

3、升级对应的sql文件,将3.5.0版本的压缩包进行解压,进入到sql/upgrade目录中,将除了3.1.6以外的sql文件全部导入到mysql数据库中,按照由低到高的顺序导入,如图:

例如:mysql -u root -p < n9e_mon-3.5.0.sql
5、升级后,注意看monapi.yml文件中的alarmEnabled,3.5.0默认为false,需要改成true,否则无法正常实现告警推送,3.6之后版本已经默认改为true,如图:

6、替换前端文件pub,解压后直接移动过去即可,如图:

7、升级完成后,清除浏览器缓存,然后重新访问页面即可

注意:升级的时候要注意每个模块对应的配置文件以及关联文件
夜莺最新版本为3.7.1,新版增加了prober功能,提供了很多的组件,例如:ping ,url,prometheus、haproxy、nginx、mysql等
那么 可以从v3的某个小版本直接升级到最新的v3.7.0吗? 答案是可以的
1、在sql/upgrade目录下,有各个版本的sql patch文件,需要依次执行比你当前版本高的sql patch文件,很多人问这些sql文件执行了之后会不会对数据产生影响之类的,亲,打开这些sql文件看一眼,一目了然,放心,查看这些sql文件,电脑不会爆炸。
2、挨个版本查看变更了哪些二进制,就替换哪些二进制,简单起见,就把所有二进制都替换了,省事。
3、有些版本的变更会修改配置文件,所以,要查看changelog,看看哪些配置文件需要修改
4、重启各个模块即可。
小技巧:
夜莺各个模块的配置文件 , 如果想修改哪个配置文件,就拷贝一份,后缀改成.local.yml,服务就会自动高优读取.local.yml文件,忽略.yml文件。比如judge模块默认会读取judge.yml配置,如果judge发现etc目录下有judge.local.yml,就会优先读取这个配置。
所有的生产环境的配置如果有修改的需求,统统建议用.local.yml文件。后续如果要升级,从github拿到最新的.yml文件覆盖本地的,然后用vimdiff就可以方便查阅.yml文件和.local.yml的差异,一目了然知道哪些配置发生变化。
另外,如果升级出现问题,基本的排查思路要有嘛。先看各个进程是否都存活,再看各个进程日志是否有线索,再看浏览器发起的request和收到的response,查看具体是哪个接口报的什么错,如果有问题,通常会在这些地方找到线索。


