因sentry从9.1.2后开始改版,并加入了很多中间组件,整个集群系统变得更加复杂,由原来的不到10个组件容器一下增加到30个左右的容器组件。组件增加,整个架构体系全面调整,系统也更复杂,搭建和维护排查难度成指数级增加。sentry官方一直鼓励升级到最新版本。升级到最新版的优点是可以使用很多最新功能,而且官方对于性能和稳定性也做了相应优化。如果你想升级,下面这篇教程可以帮到你少走弯路。
资料
升级教程
旧版本教程
确定版本
如果你要升级,首先要确认自己当前版本号。可以看系统左下角,如下图
版本升级路径
我的版本是9.1.2。因版本跨度很大,所以不是一下子就可以升级到最新版本,是需要逐步升级。升级过程会对数据库结构和组件搭配等自动做调整的。官方升级路径如下图:
执行动作
在确定好我们当前版本和版本升级路径后,我们需要对当前旧版本系统做停止动作。
1 | #到旧版本的安装包下,执行 |
新版本教程
程序包下载
从官方包下载对应版本的包,然后解压。
1 | wget https://codeload.github.com/getsentry/self-hosted/tar.gz/refs/tags/21.5.0/self-hosted-21.5.0.tar.gz |
升级
1 | #直接执行安装动作即可 |
优化
因升级过程中需要拉取很多文件,并打包镜像。而打包镜像又使用了debian的官方的源,造成总是下载或超时失败。我们可以去改为国内源就会对升级过程加快很多。需要对Dockerfile文件做调整
1 | cd self-hosted-21.5.0/cron/ |
sentry 历史数据清理
SENTRY数据软清理
清理完不会释放磁盘,如果很长时间没有运行,清理时间会很长
1 | #登录worker容器 |
POSTGRES数据清理
清理完后会释放磁盘空间
1 | #登录postgres容器 |
定时清理脚本
1 | ### 写入cronjob,切记低峰期操作 |
清理kafka 数据
1 | #.env 默认配置 |
总结
根据上面教程方法,就可以把当前版本按照版本升级路径逐步升级到最新的版本。