背景:哪吒探针v1只支持一天的数据,防止sqlite过大导致性能问题,但我的鸡比较少,所以想改成支持1周的数据。去官网查了下,发现不支持手动指定时长,幸好是开源项目,就想着自己fork后改一改。
新版的哪吒部署支持前后端分离,安装面板时可以选择docker/独立安装。我修改的是独立安装方式。
效果:

基础信息:

  1. 我之前用的是docker安装方式

迁移步骤:

  1. 首先要保存一下数据,防止数据丢失
/opt/nezha/dashboard├── app               //可执行文件,这个地方也可能是docker-*.yml(主要是安装方式决定的)└── data    ├── config.yaml   //面板的一些配置:域名、时区等    └── sqlite.db     //探针数据:service、通知、规则等

备份上面的config.yaml、sqlite.db
2. fork 哪吒项目https://github.com/nezhahq/nezha
3. 修改代码
3.1 自动任务——每天凌晨3:30删除1天前的数据,改为每周1删除1天前的数据(正确做法是每天删除7天前的数据,但这样需要改一个依赖包
github.com/nezhahq/nezha/service/singleton, 我还不会怎么把依赖包deploy到github) 代码位置
3.2 延迟数据查询从1天改成7天代码位置
3.3 由于步骤3.1的遗留问题,还需要把服务启动时触发清空数据的逻辑去掉代码位置
4. 打包
通过worflow自动打包,两个触发机制:1. 打以字母“v”开头的tag;2. 创建一个dev分支,push代码时
5. 将打好的包上传到服务器,解压后重命名为app,替换/opt/nezha/dashboard/app
6. 重启服务

systemctl restart nezha-dashboardsystemctl statu nezha-dashboard #查看状态

备注:打包这一步比较麻烦,workflow经常失败,根据报错fix
我已经打包了一个linux amd的包,大家可以使用

我用夸克网盘分享了「dashboard-linux-amd64.zip」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。链接:https://pan.quark.cn/s/41153f2e1d09