Zabbix 是一个免费开源的 IT 基础设施监控解决方案。它可以监控网络、服务器、虚拟机和云服务。Zabbix 采用客户端/服务器架构,你可以在目标服务器上安装 Zabbix agent,通过 Zabbix 仪表板进行监控。Zabbix 还支持 SNMP 和 IPMI 等通用监控协议。
本教程将介绍如何在 Ubuntu 24.04 服务器上安装和配置 Zabbix。我们将使用 PostgreSQL 数据库服务器、Nginx Web 服务器和 PHP-FPM。
前提条件
要完成本教程,请确保具备以下条件:
- 一台 Ubuntu 24.04 服务器
- 一个具有管理员权限的非 root 用户
安装 PostgreSQL 服务器
Zabbix 支持 MySQL 和 PostgreSQL 两种 SQL 数据库。本教程使用 PostgreSQL 作为 Zabbix 的默认数据库。首先从 Ubuntu 官方仓库安装 PostgreSQL。
运行以下命令更新 Ubuntu 软件包索引:
sudo apt update
仓库更新完成后,使用以下命令在 Ubuntu 上安装 PostgreSQL 服务器。输入 Y 确认安装。
sudo apt install postgresql postgresql-contrib

安装完成后,运行以下命令检查 PostgreSQL 服务状态:
sudo systemctl is-enabled postgresql
sudo systemctl status postgresql
在下面的输出中,可以看到 PostgreSQL 服务器已启用并将在启动时自动运行。状态显示为正在运行。

添加 Zabbix 仓库
PostgreSQL 安装完成后,现在可以将 Zabbix 仓库添加到系统中。本示例将设置 Zabbix 7.0 LTS 的仓库。
使用以下命令下载 Zabbix 仓库文件:
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest+ubuntu24.04_all.deb
运行以下 dpkg 命令安装 Zabbix 仓库:
sudo dpkg -i zabbix-release_latest+ubuntu24.04_all.deb

最后运行 apt update 命令再次刷新 Ubuntu 软件包索引。添加新仓库后必须刷新软件包索引。
sudo apt update

安装 Zabbix
添加 Zabbix 仓库后,下一步是在 Ubuntu 服务器上安装 Zabbix 软件包。本节将安装 Zabbix 7.0、PHP-FPM、Nginx Web 服务器以及 Zabbix 运行所需的依赖项。
运行以下 apt 命令安装 Zabbix。输入 Y 确认安装。
sudo apt install zabbix-server-pgsql zabbix-frontend-php php8.3-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent

通过此命令将安装以下软件包:
- 支持 PostgreSQL 数据库的 Zabbix
- Zabbix Web 应用程序或前端
- PHP 及模块(包括用于 PostgreSQL 驱动的 pgsql 模块)
- Nginx 及 Zabbix 配置
- Zabbix SQL 脚本
- 用于监控 Zabbix 系统的 Zabbix agent
将 Zabbix 与 PostgreSQL 服务器集成
Zabbix 安装完成后,接下来需要准备 PostgreSQL 数据库和用户,导入 Zabbix 的数据库架构,并将 Zabbix 与 PostgreSQL 数据库和用户进行集成。
运行以下命令创建新的 PostgreSQL 用户和数据库 zabbix。输入用户 zabbix 的新密码并确认。
sudo -u postgres createuser --pwprompt zabbix
sudo -u postgres createdb -O zabbix zabbix

创建数据库和用户后,运行以下命令将数据库架构导入到 zabbix 数据库中。系统提示输入密码时,输入你设置的 zabbix 密码。
zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix
如果成功,你会看到类似 IMPORT 0 1 的输出。
接下来使用 nano 编辑器打开 Zabbix 配置文件 /etc/zabbix/zabbix_server.conf:
nano /etc/zabbix/zabbix_server.conf
将 DBName、DBUser 和 DBPassword 的默认配置修改为你的 PostgreSQL 数据库详细信息:
DBName=zabbix DBUser=zabbix DBPassword=password
完成后保存文件并退出编辑器。
配置 Nginx
配置好 Zabbix 与 PostgreSQL 后,还需要配置 Nginx Web 服务器。安装了 zabbix-nginx-conf 软件包后,可以修改 Zabbix 提供的 Nginx 配置。本示例中 Zabbix 将在本地域名上使用 8080 端口运行。
使用 nano 编辑器打开 Zabbix 的 Nginx 配置文件 /etc/zabbix/nginx.conf:
sudo nano /etc/zabbix/nginx.conf
取消 listen 和 server_name 选项的注释,如下所示。本示例中 Zabbix 将在端口 8080 上运行,本地域名为 zabbix.howtoforge.local。
listen 8080; server_name example.com;
完成后保存文件并退出编辑器。
重启 Zabbix 服务
此时已配置好 Zabbix 与 PostgreSQL 以及 Nginx Web 服务器。现在需要重启 Zabbix 服务并验证这些服务是否正常运行。
已配置好所有 Zabbix 组件后,需要重启以下 Zabbix 服务:
- zabbix-server
- zabbix-agent
- Nginx 和 PHP-FPM
运行以下 systemctl 命令重启并启用这些服务:
sudo systemctl restart zabbix-server zabbix-agent nginx php8.3-fpm
sudo systemctl enable zabbix-server zabbix-agent nginx php8.3-fpm

最后运行以下命令检查每个 Zabbix 服务的状态:
sudo systemctl status zabbix-server zabbix-agent nginx php8.3-fpm
在下面的输出中,可以看到 zabbix-server 正在运行,zabbix-agent 服务也在正常运行。


Nginx 和 PHP-FPM 服务也都在服务器上正常运行。


Zabbix 安装向导
Zabbix 服务已启动并运行,现在可以通过安装向导访问和配置 Zabbix。
首先编辑本地计算机上的 hosts 文件,输入 Zabbix 域名和服务器 IP 地址,如下所示:
192.168.10.60 zabbix.howtoforge.local
打开 Web 浏览器访问 http://zabbix.howtoforge.local:8080/。如果 Zabbix 安装成功,你将看到 Zabbix 安装向导。
选择默认语言并点击 Next step 继续。

确保你的 Ubuntu 服务器满足 Zabbix 要求,然后再次点击 Next step。

选择数据库类型为 PostgreSQL,输入数据库详细信息,然后点击 Next step。

选择默认时区和主题,然后点击 Next step。

仔细检查设置后点击 Next step 继续安装。

如果安装成功,你将看到以下页面:点击 Finish 完成安装。

你将被重定向到 Zabbix 登录页面。输入默认用户名 Admin,密码 Zabbix,然后点击 Sign In。

你现在将看到 Zabbix 监控仪表板,如下所示:

总结
恭喜你已在 Ubuntu 24.04 服务器上完成 Zabbix 监控解决方案的安装。Zabbix 已与 PostgreSQL 服务器、Nginx Web 服务器和 PHP-FPM 一起正常运行。下一步你可以通过 Zabbix agent 添加目标监控服务器,并在发生错误时设置通知。