网站搜索

如何在 Debian 12 服务器上安装 Zabbix


本教程适用于这些 OS 版本

  • Debian 12(书虫)
  • Debian 11 (靶心)
  • Debian 10 (Buster)
  • Debian 9 (Stretch)
  • Debian 4 (蚀刻)

本页内容

  1. 先决条件
  2. 安装 PostgreSQL 服务器
  3. 创建 PostgreSQL 数据库和用户
  4. 安装 Zabbix
  5. 将 Zabbix 与 PostgreSQL 集成
  6. 设置 Nginx Web 服务器
  7. 重启 Zabbix 服务
  8. Zabbix 安装向导
  9. 结论

Zabbix 是一个免费的开源 IT 基础设施监控解决方案。它允许您监控网络、服务器、虚拟机和云服务。Zabbix 提供客户端/服务器模型。您可以轻松地在目标服务器上安装 Zabbix agent,并通过 Zabbix dashboard 对其进行监控。Zabbix 还支持通用监控协议,例如 SNMP 和 IPMI。

本指南将向您展示如何在 Debian 12 服务器上安装 Zabbix Monitoring Solution。您将安装 Zabbix,并将 PostgreSQL 作为数据库服务器、Nginx Web 服务器和 PHP-FPM。

先决条件

要开始阅读本指南,请确保您具备以下条件:

  • Debian 12 服务器
  • 具有管理员用户的非 root 用户

安装 PostgreSQL 服务器

默认情况下,Zabbix 支持 MySQL 和 PostgreSQL 等 RDBMS。在本指南中,您将使用 PostgreSQL 作为 Zabbix 安装数据库。所以现在,您将使用 APT 包管理器从 Debian 存储库安装 PostgreSQL。

首先,运行下面的 'apt' 命令来更新您的 Debian 软件包索引。

sudo apt update

现在使用以下命令安装 PostgreSQL。输入 'Y' 以确认安装。

sudo apt install postgresql postgresql-contrib

安装完成后,检查“postgresql”服务状态以确保它正在运行。您将看到状态为“running(exited)”的 PostgreSQL,这意味着该服务正在运行,但 systemd 找不到任何要监控的守护进程。

sudo systemctl is-enabled postgresql
sudo systemctl status postgresql

创建 PostgreSQL 数据库和用户

安装 PostgreSQL 后,您必须为 Zabbix 创建一个新的用户和数据库。在此步骤中,您将使用 'createuser' 命令在 PostgreSQL 中创建新角色,并使用 'createdb' 命令创建 PostgreSQL 数据库。

要创建新的 PostgreSQL 用户 'zabbix',请运行以下命令。现在输入数据库用户的密码,并在出现提示时重复此作。

sudo -u postgres createuser --pwprompt zabbix

现在运行下面的命令,创建一个具有默认所有者 'zabbix' 的新数据库 'zabbix'。此数据库和用户将用于 Zabbix 安装。

sudo -u postgres createdb -O zabbix zabbix

安装 Zabbix

现在您已经安装并配置了 PostgreSQL,让我们添加 Zabbix 存储库,并安装 Zabbix 软件包,例如 'zabbix-frontend-php'、'zabbix-server-pgsql' 和 'zabbix-agent'。此外,这将自动安装 Nginx Web 服务器和 PHP-FPM,它们将由 Zabbix 前端使用。

使用以下命令下载 Debian 系统的 Zabbix 存储库。在此示例中,您将在 Debian 服务器上安装 Zabbix 7.2。下载后,文件 'zabbix-release_latest_7.2+debian12_all.deb' 将位于您当前的工作目录中。

wget https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest_7.2+debian12_all.deb

现在运行下面的 'dpkg' 命令,将 Zabbix 仓库添加到您的系统中。

sudo dpkg -i zabbix-release_latest_7.2+debian12_all.deb

之后,运行以下 'apt' 命令刷新您的 Debian 存储库并安装 Zabbix server。在此示例中,您将使用 PostgreSQL 数据库、Nginx Web 服务器和 PHP-FPM 安装 Zabbix 和 Zabbix Agent。

sudo apt update
sudo apt install zabbix-server-pgsql zabbix-frontend-php php8.2-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent

输入 'Y' 继续安装。

将 Zabbix 与 PostgreSQL 集成

现在您已经安装了 Zabbix 软件包,下一步是将 Zabbix 与 PostgreSQL 数据库服务器集成。为此,您需要导入 Zabbix 数据库模式并修改 '/etc/zabbix/zabbix_server.conf' 文件中的 PostgreSQL 凭证。

将 Zabbix 的数据库模式导入到用户为 'zabbix' 的 'zabbix' 数据库中。出现提示时,输入您的 'zabbix' 密码。

zcat /usr/share/zabbix/sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix

接下来,使用 'nano' 编辑器打开 Zabbix 配置 '/etc/zabbix/zabbix_server.conf'。

sudo nano /etc/zabbix/zabbix_server.conf

使用 PostgreSQL 凭证取消注释默认的 'DBHost'、'DBName'、'DBUser' 和 'DBPassword'。

DBHost = localhost
DBName = zabbix
DBUser = zabbix
DBPassword = password

保存文件并在完成后退出编辑器。

设置 Nginx Web 服务器

现在您已经将 Zabbix 与 PostgreSQL 集成,让我们配置 Nginx Web 服务器。默认情况下,Zabbix 的 Nginx 配置位于 /etc/zabbix/nginx.conf 文件中,现在您需要通过更改默认域名和更改 Zabbix 的默认端口(可选)来修改它。

打开 Nginx 配置 '/etc/zabbix/nginx.conf',以便 Zabbix 与 'nano' 编辑器集成。

sudo nano /etc/zabbix/nginx.conf

将默认的 'listen' 选项更改为端口 '8080'。在此示例中,我们将在端口 '8080' 上使用 Nginx Web 服务器运行 Zabbix。

listen 8080;

使用您的域名更改 'server_name' 选项。在此示例中,我们将使用您可以通过 '/etc/hosts' 文件创建的本地域名。

server_name zabbix.howtoforge.local;

保存文件并在完成后退出编辑器。

最后,运行下面的 'nginx' 命令来验证您的 Nginx 配置。如果您已更正 Nginx 配置,您将看到类似 'syntax is ok - test is successful' 的输出。

sudo nginx -t

重启 Zabbix 服务

此时,您已经安装了 Zabbix 软件包并将 Zabbix 与 PostgreSQL 服务器和 Nginx Web 服务器集成。现在你需要重启每个 Zabbix 服务以应用所有更改,然后你需要检查每个 Zabbix 服务以确保它正在运行。

首先,运行下面的 'systemctl' 命令来启用 'zabbix-server'、'zabbix-agent'、'nginx' 和 'php8.2-fpm' 的服务。

sudo systemctl enable zabbix-server zabbix-agent nginx php8.2-fpm

现在运行以下命令以重新启动 Zabbix 服务并将您的新更改应用到 Zabbix。

sudo systemctl restart zabbix-server zabbix-agent nginx php8.2-fpm

最后,使用以下命令检查这些 Zabbix 服务,以确保服务正在运行。

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

您可以在下面看到 'zabbix-server' 正在运行。

此外,'zabbix-agent' 也在运行。

在下面,您可以看到 'nginx' 服务正在运行。

最后,您可以看到 'php8.2-fpm' 服务正在您的服务器上运行。

Zabbix 安装向导

随着每个 Zabbix 服务的运行,您现在可以访问您的 Zabbix 安装。

在本地计算机上,使用文本编辑器编辑 '/etc/hosts' 文件。确保使用管理员权限。对于 Windows 用户,您可以以管理员身份修改 'C:\Windows\System32\drivers\etc\hosts'。

在 'hosts' 文件中,定义您的 Zabbix server IP 地址和域名,如下所示:

192.168.10.10 zabbix.howtoforge.local

保存文件并退出编辑器。

现在打开您的网络浏览器并访问 http://zabbix.howtoforge.local:8080/。如果您的 Zabbix 安装成功,您将看到 Zabbix 安装向导。

选择 Zabbix 的默认语言,然后单击 'Next step' 继续。

在预检查期间,请确保您的 server 配置满足 Zabbix 要求。

现在选择数据库作为 'PostgreSQL' 并输入您的数据库详细信息。

输入您的服务器名称并选择 Zabbix 的默认时区。

在继续之前检查所有内容,然后单击“下一步”。

安装完成后,您将看到一条消息,例如“恭喜!您已成功安装 Zabbix 前端。'.

单击 'Finish' 完成安装。

现在您将被重定向到 Zabbix 登录页面。输入用户 Admin 和密码 zabbix,然后单击 'Sign in'。

如果一切顺利,您将看到以下 Zabbix 管理仪表板。

结论

祝贺!您已经在 Debian 12 服务器上完成了 Zabbix 监控解决方案的安装。您已经启动并运行了 Zabbix 的 PostgreSQL 数据库服务器、Nginx Web 服务器和 PHP-FPM。您还在服务器上运行了 'zabbix-agent',它将监控您的 Zabbix 实例。从这里,您现在可以添加新的目标主机来监控 Zabbix,通过多个服务设置通知,然后通过 Zabbix 监控您的服务。