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

安装完成后,运行以下命令检查 PostgreSQL 服务状态:

sudo systemctl is-enabled postgresql
sudo systemctl status postgresql

在下面的输出中,可以看到 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

添加 Zabbix 仓库

最后运行 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

安装 Zabbix

通过此命令将安装以下软件包:

- 支持 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

DBNameDBUserDBPassword 的默认配置修改为你的 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

取消 listenserver_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 服务

最后运行以下命令检查每个 Zabbix 服务的状态:

sudo systemctl status zabbix-server zabbix-agent nginx php8.3-fpm

在下面的输出中,可以看到 zabbix-server 正在运行,zabbix-agent 服务也在正常运行。

检查 Zabbix Server 状态

检查 Zabbix Agent 状态

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

检查 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 继续。

Zabbix 安装向导欢迎页面

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

检查前提条件

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

设置数据库连接

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

选择时区和主题

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

确认配置信息

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

安装完成

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

Zabbix 登录页面

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

Zabbix 监控仪表板

总结

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