夜莺升级步骤

夜莺监控(Nightingale)不同版本如何升级,应该注意什么,应该替换哪些文件

V6、V7、以及 V8 各个小版本之间的升级,方法相同。

升级步骤

  1. 备份数据:在升级之前,备份 MySQL 数据库的内容、备份二进制、备份 etcintegrations 目录,以防万一,有了后路之后就可以放心大胆操作了
  2. 如果是二进制部署,替换二进制、替换 integrations 目录(可以直接把老的 integrations 目录挪走 mv integrations integrations.bak,直接使用新的 integrations 目录),配置文件可以 diff 一下新老配置,手工补齐一下差异点(实际上应该几乎不用修改配置文件,因为已经很久没有调整过了)
  3. 如果是容器部署的,拉取一下最新的镜像,配置文件 diff 一下,补齐差异点,再重启一下容器即可
  4. 重新访问夜莺的时候,强制刷新一下浏览器,以防止浏览器缓存了旧的 js、css 文件

关于 DB 表结构

如果夜莺所用的 DB 账号是有建表、改表权限的话,您不需要手动去修改 DB 表结构,夜莺会在启动时自动检查表结构是否需要升级,如果需要升级,则会自动改表。如果夜莺所用的 DB 账号没有建表、改表权限,则需要手工调整,近期的改动可以参考 migrate.sql。如果自动改表失败,请提 issue,我们会尽快跟进。

理论上数据库同时支持 MySQL 和 Postgres,不过社区缺少 Postgres 的长期贡献者,所以建议优先使用 MySQL。

FAQ

Docker 镜像如何使用老版本

可以到 Docker Hub 上选择需要的 Tag 自行 pull,然后在 docker-compose.yml 里指定对应的 Tag 即可。

常见问题

Q1:升级会丢数据吗?

A:n9e 升级不会自动清数据。但建议升级前备份:

  • 数据库 mysqldump 备份;
  • 配置文件 n9e.toml 备份;
  • 升级新版本第一次启动会自动跑 schema migration — 看日志确认成功。

Q2:能否跨大版本升级(如 v6 → v9)?

A:建议逐版本升级(v6 → v7 → v8 → v9),不要直接跳两个大版本。每个大版本可能有 schema breaking changes,跳级升级 migration 不一定干净。

Q3:升级后告警规则失效了?

A:

  • 检查告警引擎是否健康;
  • 老版本的 PromQL 在新版本是否兼容(极少数旧函数被废弃);
  • 数据源 URL / 认证是否仍有效。

参考资料

更新时间 2025-08-18

快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云