zbxtable 3.0.7

ZbxTable 是一个开源的 Zabbix 报表系统。在上一个版本(3.0.6)中,拓扑已全面兼容自定义设备类型,并完善了告警筛选与登录外观配置。随着 Zabbix 8.0 逐步落地,社区反馈了设备初始化接口失效、PostgreSQL 升级失败等问题。V3.0.7 重点完成对 Zabbix 8.0 的兼容,并修复跨数据库升级与设备绑定编辑体验体验,建议尽快更新。


重点功能更新

  • 兼容 Zabbix 8.0(核心更新):设备初始化改用 host.update 批量写入资产信息,主机监控项分组改为 item.get + 标签 / 键 / 名称归类,避免调用 8.0 已移除的 host.massupdate / application API。
  • 设备绑定模板回填:各指标所选模板 ID 可持久化;编辑 / 复制绑定配置时自动回填模板与监控项名称,旧数据无模板 ID 时也可按 itemid 批量查询显示。
  • PostgreSQL 升级修复:配置字段统一为跨库 text 类型,恢复启动阶段跨库迁移,修复从旧版本升级到 PostgreSQL 时 longtext 不存在导致的 502。
  • 报表与稳定性增强:主机报表参考主机支持按名称搜索;优化 API 连接池、配置缓存与并发回源,提升多实例场景下的稳定性与响应。

兼容 Zabbix 8.0

Zabbix 7 / 8 已移除 host.massupdate,并在更早版本移除了 Application 体系。3.0.6 在 Zabbix 8.0 上执行「设备配置 → 初始化」会直接报错:

-32601 (Method not found.): Incorrect method "host.massupdate"

3.0.7 对此做了系统性适配:

  • 设备 / 资产初始化:改为按批调用 host.update(每批最多 500 台),为每台主机写入 hostid、inventory_mode 与 inventory,兼容 Zabbix 6 / 7 / 8;
  • 主机监控项分组:5.4 及以上改用 item.get + selectTags,按 component 标签、标准 item key 与中英文名称归类到 CPU / Memory / Filesystem / Interface;5.4 以下仍走 application.get;
  • 实测验证:已在 Zabbix 8.0.0 环境验证登录、主机列表、监控项批量查询、模板列表与监控项分组均可正常返回。

至此,ZbxTable 可在 Zabbix 8.0 上完成设备绑定初始化与主机监控数据展示,而不必停留在旧版 API。


设备绑定模板与监控项回填

此前编辑设备绑定时,只能看到已保存的监控项 ID,模板下拉无法回填,换模板后还可能把旧监控项一起提交。3.0.7 打通了模板选择的完整闭环:

  • 后端新增各指标 *_template_id 字段,创建 / 更新时一并持久化;
  • 新增按 itemids 批量查询监控项接口,用于旧数据或仅有 itemid 时回填名称;
  • 前端编辑 / 复制时自动恢复模板与监控项;更换模板会清空旧监控项,避免错配。

管理员再次打开绑定配置时,可直接看到「模板 + 监控项」的完整选择状态,减少重复配置成本。


PostgreSQL 升级与跨库迁移

部分用户从 3.0.5 升级到 3.0.6 后,在 PostgreSQL 环境启动失败:

Failed to auto migrate: ERROR: type "longtext" does not exist

根因是配置表字段使用了 MySQL 专用的 longtext。3.0.7 将 config_value 统一为跨库可用的 text,并恢复启动阶段的跨库迁移校验,使 MySQL / PostgreSQL 升级路径保持一致。


其他体验与稳定性优化

除上述核心更新外,本版本还包括:

  • 主机报表「参考主机」下拉支持按名称搜索,批量加载匹配主机后可快速定位;
  • API 连接池按实例独立建连,避免单实例慢 / 宕机拖垮全局;
  • 配置项内存缓存、主机列表 / 统计 singleflight 回源,降低缓存击穿对 Zabbix 的压力;
  • 安装状态检查结果进程内缓存,减少每请求读盘;
  • 修复若干 gofmt / CI 格式问题,保证发布流水线稳定。

相关 Issue

  • #177 Zabbix 8.0 设备初始化 host.massupdate 报错 — 已修复
  • #173 PostgreSQL 升级 longtext 不存在 — 已修复
  • #175 报表主机下拉搜索 — 参考主机搜索已修复;主机组搜索与超阈值结论仍待后续版本

在线 Demo

https://demo.zbxtable.com

全新安装

全新安装可查看安装文档https://www.zbxtable.com/docs/install/install/

升级

在线升级

点击系统管理-版本信息-检查更新,发现新版本后,点击升级更新完成,重启应用并重新登录即可.

二进制升级

按照以下方法升级 下载最新版本,解压后替换zbxtable二进制文件,并重启

wget https://dl.cactifans.com/zbxtable/zbxtable-latest-linux-amd64.tar.gz
tar -xzf zbxtable-latest-linux-amd64.tar.gz
cd zbxtable-*-linux-amd64
mv zbxtable /usr/local/zbxtable/
chmod a+x /usr/local/zbxtable/zbxtable
chown zbxtable:zbxtable /usr/local/zbxtable/
systemctl restart zbxtable

前后端版本都已经升级成功。如前端未更新,请退出重新登陆并使用 Ctrl+F5 强制刷新即可.

文档

帮助文档:https://zbxtable.com/docs/
发布公告:https://zbxtable.com/blog/releases/
FAQ: https://zbxtable.com/docs/faq/faq/