本教程适用于以下操作系统版本

  • Debian 12 (Bookworm)
  • Debian 11 (Bullseye)
  • Debian 10 (Buster)
  • Debian 9 (Stretch)
  • Debian 4 (Etch)

本页内容

  • 先决条件
  • 添加 Zabbix 仓库
  • 安装 Zabbix 6 Server
  • 安装并配置 MariaDB 数据库
  • 配置 Zabbix Server
  • 访问 Zabbix 6 Web 界面
  • 结语

Zabbix 是一款免费的开源软件,用于监控多种 IT 组件,包括网络、服务器、虚拟机和云服务。它提供实时的监控指标,例如网络利用率、CPU 负载和磁盘空间占用情况。这些指标可帮助系统管理员检查 IT 基础设施的当前健康状况,并检测硬件或软件组件的问题。Zabbix 使用 MySQL、PostgreSQL 或 Oracle 来存储其采集的数据。Zabbix 在被监控的服务器上使用 agent 软件来收集数据并发送到 Zabbix server。

本教程将向你展示如何在 Debian 11 上安装 Zabbix 监控服务器。

先决条件

  • 一台运行 Debian 11 的 server。
  • 该 server 上已配置 root 密码。

添加 Zabbix 仓库

默认情况下,Debian 11 的默认仓库中不包含 Zabbix 软件包。因此你需要在你的 server 上添加 Zabbix 官方仓库。

首先,使用以下命令下载 Zabbix 6 仓库软件包:

wget https://repo.zabbix.com/zabbix/6.0/debian/pool/main/z/zabbix-release/zabbix-release_6.0-1+debian11_all.deb

软件包下载完成后,使用以下命令安装它:

dpkg -i zabbix-release_6.0-1+debian11_all.deb

这会将 Zabbix 仓库添加到 APT。完成后,你可以继续安装 Zabbix server。

安装 Zabbix 6 Server

现在,使用以下命令更新仓库缓存:

apt-get update -y

仓库更新完成后,使用以下命令安装 Zabbix 6 server 及其他所需组件:

apt-get install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent zabbix-frontend-php zabbix-apache-conf -y

所有软件包安装完成后,编辑 PHP 配置文件并设置你的时区:

nano /etc/php/7.4/apache2/php.ini

修改以下行:

date.timezone = UTC

完成后保存并关闭文件。

安装并配置 MariaDB 数据库

接下来,你需要安装数据库 server 来存储 Zabbix 数据。你可以通过运行以下命令来安装 MariaDB 数据库 server:

apt-get install mariadb-server -y

MariaDB 安装完成后,使用以下命令加固 MariaDB 安装并设置 root 密码:

mariadb-secure-installation

按如下所示回答所有问题:

Enter current password for root (enter for none): 

Switch to unix_socket authentication [Y/n] n
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y

接下来,使用以下命令登录 MariaDB shell:

mysql -u root -p

登录后,使用以下命令为 Zabbix 创建数据库和用户:

MariaDB [(none)]> CREATE DATABASE zabbix character set utf8mb4 collate utf8mb4_bin;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'password';

接下来,使用以下命令刷新权限并退出 MariaDB:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

完成后,你可以进入下一步。

配置 Zabbix Server

接下来,你需要在 Zabbix 配置文件中定义你的数据库。你可以通过编辑以下文件来完成:

nano /etc/zabbix/zabbix_server.conf

修改以下行:

DBName=zabbix
DBUser=zabbix
DBPassword=password

保存并关闭文件,然后使用以下命令导入 Zabbix 数据:

zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql -u zabbix -p zabbix

接下来,使用以下命令重启并启用所有服务:

systemctl restart apache2
systemctl enable zabbix-server zabbix-agent apache2
systemctl restart zabbix-server zabbix-agent

现在你可以使用以下命令检查 Zabbix 状态:

systemctl status zabbix-server

你将看到以下输出:

? zabbix-server.service - Zabbix Server
     Loaded: loaded (/lib/systemd/system/zabbix-server.service; disabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-03-25 15:00:56 UTC; 27s ago
    Process: 15504 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS)
   Main PID: 15511 (zabbix_server)
      Tasks: 48 (limit: 2341)
     Memory: 37.1M
        CPU: 333ms
     CGroup: /system.slice/zabbix-server.service
             ??15511 /usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
             ??15524 /usr/sbin/zabbix_server: ha manager
             ??15527 /usr/sbin/zabbix_server: service manager #1 [processed 0 events, updated 0 event tags, deleted 0 problems, synced 0 serv>
             ??15528 /usr/sbin/zabbix_server: configuration syncer [synced configuration in 0.299588 sec, idle 60 sec]
             ??15542 /usr/sbin/zabbix_server: alert manager #1 [sent 0, failed 0 alerts, idle 5.006726 sec during 5.006891 sec]
             ??15543 /usr/sbin/zabbix_server: alerter #1 started
             ??15544 /usr/sbin/zabbix_server: alerter #2 started
             ??15545 /usr/sbin/zabbix_server: alerter #3 started
             ??15546 /usr/sbin/zabbix_server: preprocessing manager #1 [queued 0, processed 5 values, idle 5.005976 sec during 5.006175 sec]
             ??15547 /usr/sbin/zabbix_server: preprocessing worker #1 started
             ??15548 /usr/sbin/zabbix_server: preprocessing worker #2 started
             ??15549 /usr/sbin/zabbix_server: preprocessing worker #3 started
             ??15550 /usr/sbin/zabbix_server: lld manager #1 [processed 0 LLD rules, idle 5.002947sec during 5.003052 sec]
             ??15551 /usr/sbin/zabbix_server: lld worker #1 started
             ??15552 /usr/sbin/zabbix_server: lld worker #2 started
             ??15553 /usr/sbin/zabbix_server: housekeeper [startup idle for 30 minutes]
             ??15554 /usr/sbin/zabbix_server: timer #1 [updated 0 hosts, suppressed 0 events in 0.001865 sec, idle 59 sec]
             ??15555 /usr/sbin/zabbix_server: http poller #1 [got 0 values in 0.001076 sec, idle 5 sec]
             ??15556 /usr/sbin/zabbix_server: discoverer #1 [processed 0 rules in 0.000573 sec, idle 60 sec]
             ??15557 /usr/sbin/zabbix_server: history syncer #1 [processed 2 values, 1 triggers in 0.006625 sec, idle 1 sec]
             ??15558 /usr/sbin/zabbix_server: history syncer #2 [processed 0 values, 0 triggers in 0.000037 sec, idle 1 sec]
             ??15559 /usr/sbin/zabbix_server: history syncer #3 [processed 0 values, 0 triggers in 0.000047 sec, idle 1 sec]
             ??15567 /usr/sbin/zabbix_server: history syncer #4 [processed 0 values, 0 triggers in 0.000036 sec, idle 1 sec]
             ??15568 /usr/sbin/zabbix_server: escalator #1 [processed 0 escalations in 0.005513 sec, idle 3 sec]
             ??15569 /usr/sbin/zabbix_server: proxy poller #1 [exchanged data with 0 proxies in 0.000025 sec, idle 5 sec]
             ??15570 /usr/sbin/zabbix_server: self-monitoring [processed data in 0.000081 sec, idle 1 sec]

要检查 Zabbix agent 状态,运行以下命令:

systemctl status zabbix-agent

你将看到以下输出:

? zabbix-agent.service - Zabbix Agent
     Loaded: loaded (/lib/systemd/system/zabbix-agent.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-03-25 15:00:56 UTC; 1min 12s ago
    Process: 15508 ExecStart=/usr/sbin/zabbix_agentd -c $CONFFILE (code=exited, status=0/SUCCESS)
   Main PID: 15513 (zabbix_agentd)
      Tasks: 6 (limit: 2341)
     Memory: 4.0M
        CPU: 79ms
     CGroup: /system.slice/zabbix-agent.service
             ??15513 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
             ??15517 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
             ??15518 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
             ??15519 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
             ??15520 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
             ??15521 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]

Mar 25 15:00:56 debian11 systemd[1]: Starting Zabbix Agent...

要检查 Apache 状态,运行以下命令:

systemctl status apache2

你将看到以下输出:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-03-25 15:00:56 UTC; 1min 31s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 15531 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 15535 (apache2)
      Tasks: 6 (limit: 2341)
     Memory: 13.6M
        CPU: 83ms
     CGroup: /system.slice/apache2.service
             ??15535 /usr/sbin/apache2 -k start
             ??15536 /usr/sbin/apache2 -k start
             ??15537 /usr/sbin/apache2 -k start
             ??15538 /usr/sbin/apache2 -k start
             ??15539 /usr/sbin/apache2 -k start
             ??15540 /usr/sbin/apache2 -k start

访问 Zabbix 6 Web 界面

现在,打开你的 Web 浏览器,使用 URL http://your-server-ip/zabbix 访问 Zabbix 6 web interface。你应该会看到 Zabbix 语言选择页面:

手把手教你在 Debian 11 上安装配置 Zabbix 6 监控系统

选择你的语言,然后点击 Next step。你应该会看到先决条件检查页面:

手把手教你在 Debian 11 上安装配置 Zabbix 6 监控系统

如果所有检查都通过,则点击 Next step 按钮。你应该会看到数据库连接页面:

手把手教你在 Debian 11 上安装配置 Zabbix 6 监控系统

填写你的数据库信息,然后点击 Next step 按钮。你应该会看到 Settings 页面:

手把手教你在 Debian 11 上安装配置 Zabbix 6 监控系统

定义你的 Zabbix server 名称、时区、主题,然后点击 Next step 按钮。你应该会看到安装摘要页面:

手把手教你在 Debian 11 上安装配置 Zabbix 6 监控系统

如果一切正常,点击 Next step 按钮开始安装。Zabbix 6 安装完成后,你应该会看到以下页面:

手把手教你在 Debian 11 上安装配置 Zabbix 6 监控系统

点击 Finish 按钮完成安装。你应该会看到 Zabbix 登录页面:

手把手教你在 Debian 11 上安装配置 Zabbix 6 监控系统

输入默认用户名 Admin 和密码 zabbix,然后点击 Sign in 按钮。在以下页面你应该会看到 Zabbix dashboard:

手把手教你在 Debian 11 上安装配置 Zabbix 6 监控系统

结语

恭喜!你已成功在 Debian 11 上安装了 Zabbix 6。现在你可以在远程 server 上安装 Zabbix agent,并从 Zabbix dashboard 开始监控它们。