安装 Zabbix Server

2025-09-18 18:50:00
丁国栋
原创 15
摘要:本文记录和汇总如何安装Zabbix Server。

前言

因为近期需要迁移Zabbix服务,所以又要部署新的Zabbix服务了,借此机会对之前的一些积累进行一些整理和汇总,并且看看在新的版本和手册中有哪些新的特性和最佳实践。

做过迁移的人都知道迁移是一件非常不容易的麻烦事,不是因为有多复杂,而是涉及到:


  1. 服务停止和部分监控数据缺失,zabbix 监控服务停止期间无法接收新的告警和接收新的监控指标。所以这里也建议不要依赖一个监控服务,万一迁移期间出现关键告警可能无法及时收到通知。
  2. 因为监控系统一般要保留超过180天的数据,所以积累下来的数据较大,迁移需要花费较长的时间。
  3. 监控客户端和Zabbix代理服务器都需要批量修改Zabbix Server的地址。所以这里后续我们后面需要改为域名来代替IP,并且需要有批量管理节点的能力。

Zabbix 截至2025-09-18最新的版本是7.4,LTS版本是7.0。

通过容器的方式安装Zabbix Server

根据官网的手册可知,最简单的安装方式是使用Docker Compose,Docker Compose 的版本库是 https://github.com/zabbix/zabbix-docker。

这个安装的优势是Zabbix Server 所需的组件包括数据库、Web服务器等都默认内置和配置好了。

选择一个干净的主机环境(主要是避免端口冲突),安装 Docker 引擎。

克隆 https://github.com/zabbix/zabbix-docker.git 到主机本地。

从目录结构可知:

  • docker-compose_v3_ubuntu_mysql_latest.yaml 依赖并扩展了 compose_zabbix_components.yaml
  • compose_zabbix_components.yaml 中的环境变量 ${DATA_DIRECTORY} 是来自 .env 文件,默认定义是 DATA_DIRECTORY=./zbx_env
  • 在 .env 文件中 ZABBIX_WEB_NGINX_HTTP_PORT=80 和 ZABBIX_WEB_NGINX_HTTPS_PORT=443 定义了 Nginx 默认的监听端口,可以按需改

创建并启动Zabbix Server:

docker compose -f docker-compose_v3_ubuntu_mysql_latest.yaml up -d
停止 Zabbix Server
docker compose -f docker-compose_v3_ubuntu_mysql_latest.yaml down
启动完成后,可以访问 http://<ip> 或者 http://<fqdn> 访问,登录名依然是 Admin,密码是 zabbix。


参考和提示:

  • 目前Zabbix官方还没有提供 Kubernetes 中安装的方法以及 Helm Chart,可以自己实现
  • 在安装文档中有详细的解释

通过包管理器方式安装Zabbix Server

参考 https://www.zabbix.com/download 即可。

注意:Zabbix Server Web组件是由PHP编写,虽然安装zabbix时会自动安装php,但注意检查是否安装了必要的php扩展,例如mbstring。如果是选择使用 Nginx ,当访问Web页面出现500时注意检查Nginx错误日志,Apache2的也是这样。

注意:如果是将数据库从主机A迁移到主机B使用,那么需要注意数据库的版本,Zabbix Server 在启动过程中会检查数据库的版本是否是所要求的版本,如果数据库版本过低并且 /etc/zabbix/zabbix_server.conf 配置文件中没有设置使用 AllowUnsupportedDBVersions=1 那么 Zabbix Server 可能会拒绝启动。这时可以参考Zabbix Server的日志文件 /var/log/zabbix/zabbix_server.log 排查修改,journalctl -xe 信息有限。


--

发表评论
博客分类