如何在 Debian 11 上安装 Zabbix 6 监控软件
Zabbix 是一款免费开源软件,用于监控多个 IT 组件,包括网络、服务器、虚拟机和云服务。它提供实时监控指标,例如网络利用率、CPU 负载和磁盘空间消耗。这些指标可帮助系统管理员检查 IT 基础架构的当前运行状况并检测硬件或软件组件的问题。 Zabbix 使用 MySQL、PostgreSQL 或 Oracle 来存储其收集的数据。 Zabbix 使用受监控服务器上的代理软件来收集数据并将其发送到 Zabbix 服务器。
本教程将向您展示如何在 Debian 11 上安装 Zabbix 监控服务器。
先决条件
- 运行 Debian 11 的服务器。
- 服务器上配置了 root 密码。
添加 Zabbix 存储库
默认情况下,Zabbix 软件包不包含在 Debian 11 默认存储库中。因此,您需要在您的服务器上添加 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 服务器。
安装 Zabbix 6 服务器
现在,使用以下命令更新存储库缓存:
apt-get update -y
更新存储库后,使用以下命令安装 Zabbix 6 服务器以及其他所需组件:
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 数据库
接下来,您需要安装数据库服务器来存储 Zabbix 数据。您可以通过运行以下命令来安装 MariaDB 数据库服务器:
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 服务器
接下来,您需要在 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 代理状态,请运行以下命令:
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 界面。您应该看到 Zabbix 语言选择页面:
选择您的语言,然后单击下一步步骤。您应该看到先决条件检查页面:
如果所有检查均正常,则单击下一步步骤按钮。您应该看到数据库连接页面:
提供您的数据库信息,然后单击下一步步骤按钮。您应该看到“设置”页面:
定义您的 Zabbix 服务器名称、时区、主题,然后单击下一步 步骤按钮。您应该看到安装摘要页面:
如果一切正常,请单击下一步步骤按钮开始安装。安装 Zabbix 6 后,您应该看到以下页面:
单击完成按钮完成安装。您应该看到 Zabbix 登录页面:
提供默认用户名 Admin 和密码 zabbix,然后单击登录按钮。您应该在以下页面上看到 Zabbix 仪表板:
结论
恭喜!您已在 Debian 11 上成功安装 Zabbix 6。您现在可以在远程服务器上安装 Zabbix 代理并开始从 Zabbix 仪表板监控它们。