在 Debian 9 上安装 Zabbix 监控服务器和代理
本教程适用于这些操作系统版本
- Debian 9(拉伸)
- Debian 4(蚀刻)
在此页
- 要求
- 开始
- 安装 Apache、PHP 和 MariaDB
- 安装 Zabbix 服务器
- 配置 Zabbix 数据库
- 配置 Zabbix
- 配置防火墙
- 访问 Zabbix Web 安装向导
- 安装 Zabbix 代理
- 将 Zabbix Agent 节点添加到 Zabbix Server
- 结论
监控工具用于持续跟踪系统状态,并在出现任何问题时发出警报和通知。此外,监控工具可帮助您确保您的关键系统、应用程序和服务始终正常运行。监控工具是您网络安全的补充,让您可以检测恶意流量、它来自哪里以及如何取消它。
Zabbix 是一款免费、开源的终极企业级监控工具,旨在实时监控从数万台服务器、虚拟机和网络设备收集的数百万指标。 Zabbix 被设计成从小环境到大环境的技能。其Web前端用PHP编写,后端用C编写,使用MySQL、PostgreSQL、SQLite、Oracle或IBM DB2存储数据。 Zabbix 提供图形功能,让您可以概览特定节点和网络的当前状态
下面列出了 Zabbix 的一些主要特性:
- 监控服务器、数据库、应用程序、网络设备、Vmware 管理程序、虚拟机等等。
- 专为支持小型到大型环境而设计,可通过避免停机来提高服务质量并降低运营成本。
- 完全开源,因此您无需支付任何费用。
- 提供用户友好的网络界面,让您可以在中央位置完成所有工作。
- 带有 SNMP 来监控网络设备和 IPMI 来监控硬件设备。
- 基于网络的前端,允许通过浏览器进行全面的系统控制。
本教程将逐步指导您如何在 Debian 9 服务器上安装 Zabbix Server 和 Zabbix agent。我们还将介绍如何将 Zabbix agent 添加到 Zabbix server 进行监控。
要求
- 两个系统都安装了 Debian 9。
- 至少需要 1 GB 的 RAM 和 10 DB 的磁盘空间。 RAM 和磁盘空间的数量取决于主机的数量和正在监视的参数。
- 在您的服务器上设置了 sudo 权限的非根用户。
入门
在开始之前,有必要将您的服务器包存储库更新到最新的稳定版本。您可以通过在两个实例上运行以下命令来更新它:
sudo apt-get update -y
sudo apt-get upgrade -y
接下来,重新启动系统以应用这些更改。
安装 Apache、PHP 和 MariaDB
Zabbix 在 Apache 网络服务器上运行,用 PHP 编写,并使用 MariaDB/MySQL 来存储它们的数据。因此,为了安装 Zabbix,您需要 Apache、MariaDB 和 PHP 才能工作。首先,通过运行以下命令安装 Apache、PHP 和其他 PHP 模块:
sudo apt-get install apache2 libapache2-mod-php7.0 php7.0 php7.0-xml php7.0-bcmath php7.0-mbstring -y
接下来,您需要将 MariaDB 存储库添加到您的系统。因为,最新版本的 MariaDB 在 Debian 9 默认存储库中不可用。
您可以通过运行以下命令来添加存储库:
sudo apt-get install software-properties-common -y
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64] http://www.ftp.saix.net/DB/mariadb/repo/10.1/debian stretch main'
接下来,通过运行以下命令更新存储库:
sudo apt-get update -y
最后,使用以下命令安装 MariaDB 服务器:
sudo apt-get install mariadb-server -y
默认情况下,MariaDB 安装是不安全的。所以你需要先保护它。您可以通过运行 mysql_secure_installation 脚本来完成此操作。
sudo mysql_secure_installation
如下图所示回答所有问题:
Enter current password for root (enter for none): Enter
Set root password? [Y/n]: Y
New password:
Re-enter new password:
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
上面的脚本将设置 root 密码,删除测试数据库,删除匿名用户和禁止从远程位置的 root 登录。
MariaDB 安装安全后,启动 Apache 和 MariaDB 服务,并通过运行以下命令使它们能够在引导时启动:
sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl start mysql
sudo systemctl enable mysql
安装 Zabbix 服务器
默认情况下,Zabbix 在 Debian 9 存储库中可用,但它可能已过时。因此,建议从官方 Zabbix 存储库安装最新版本。您可以使用以下命令下载并添加最新版本的 Zabbix 存储库:
wget http://repo.zabbix.com/zabbix/3.0/debian/pool/main/z/zabbix-release/zabbix-release_3.0-2+stretch_all.deb
接下来,使用以下命令安装下载的存储库:
sudo dpkg -i zabbix-release_3.0-2+stretch_all.deb
接下来,通过运行以下命令更新包缓存并安装具有 Web 前端和 Mysql 支持的 Zabbix 服务器:
sudo apt-get update -y
sudo apt-get install zabbix-server-mysql zabbix-frontend-php -y
您还需要安装 Zabbix 代理来收集有关 Zabbix 服务器状态本身的数据:
sudo apt-get install zabbix-agent -y
安装 Zabbix agent 后,启动 Zabbix agent 服务并通过运行以下命令使其在开机时启动:
sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent
配置 Zabbix 数据库
Zabbix 使用 MariaDB/MySQL 作为数据库后端。因此,您需要为 zabbix 安装创建一个 MySQL 数据库和用户:
首先,使用以下命令登录 MySQL shell:
mysql -u root -p
输入您的 root 密码,然后使用以下命令为 Zabbix 创建一个数据库:
MariaDB [(none)]> CREATE DATABASE zabbixdb character set utf8 collate utf8_bin;
接下来,为 Zabbix 创建一个用户,分配密码并使用以下命令授予对 Zabbix 数据库的所有权限:
MariaDB [(none)]> CREATE user zabbixuser identified by 'password';
MariaDB [(none)]> GRANT ALL PRIVILEGES on zabbixdb.* to identified by 'password';
接下来,使用以下命令刷新权限:
MariaDB [(none)]> FLUSH PRIVILEGES;
最后,使用以下命令退出 MySQL shell:
MariaDB [(none)]> exit;
接下来,使用以下命令将初始模式和数据导入新创建的数据库:
cd /usr/share/doc/zabbix-server-mysql*/
zcat create.sql.gz | mysql -u zabbixuser -p zabbixdb
配置 Zabbix
Zabbix 在\/etc/zabbix/apache.conf\ 中创建自己的配置文件。根据您的需要编辑此文件并更新时区和 PHP 设置:
sudo nano /etc/zabbix/apache.conf
更改文件如下所示:
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 32M
php_value upload_max_filesize 8M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Kolkata
完成后保存文件。
接下来,您需要更新 Zabbix 的数据库详细信息。您可以通过编辑“/etc/zabbix/zabbix_server.conf”文件来完成此操作:
sudo nano /etc/zabbix/zabbix_server.conf
更改以下行:
DBHost=localhost
DBName=zabbixdb
DBUser=zabbixuser
DBPassword=password
完成后保存并关闭文件。然后使用以下命令重新启动所有服务:
sudo systemctl restart apache2
sudo systemctl restart mysql
sudo systemctl restart zabbix-server
配置防火墙
在继续之前,您需要配置 UFW 防火墙以保护 Zabbix 服务器。
首先,确保你的系统上安装了 UFW。否则,您可以通过运行以下命令来安装它:
sudo apt-get install ufw -y
接下来,启用 UFW 防火墙:
sudo ufw enable
接下来,使用以下命令通过 UFW 允许端口 10050、10051 和 80:
sudo ufw allow 10050/tcp
sudo ufw allow 10051/tcp
sudo ufw allow 80/tcp
最后,使用以下命令重新加载防火墙以应用这些更改:
sudo ufw reload
配置 UFW 防火墙后,您可以继续通过 Web 界面安装 Zabbix 服务器。
访问 Zabbix Web 安装向导
一旦一切正常,就可以访问 Zabbix Web 安装向导了。
打开您的网络浏览器并导航 http://zabbix-server-ip/zabbix URL,您将被重定向到以下页面:

单击下一步按钮,您应该看到以下页面:

在这里,检查并验证了所有 Zabbix 先决条件,然后单击下一步按钮,您应该会看到以下页面:

在这里,提供 Zabbix 数据库名称、数据库用户和密码,然后单击下一步按钮,您应该会看到以下页面:

在这里,指定 Zabbix 服务器详细信息和端口号,然后单击下一步按钮,您应该在以下页面中看到 Zabbix 服务器的预安装摘要:

接下来,单击下一步按钮开始 Zabbix 安装。 Zabbix 安装成功完成后,您应该会看到以下页面:

在这里,点击完成按钮,它将重定向到 Zabbix 登录页面,如下所示:

在这里,提供用户名 Admin 和密码 zabbix,然后单击“登录”按钮。您应该在下图中看到 Zabbix 服务器仪表板:

您的 Zabbix Web 安装现已完成。
安装 Zabbix 代理
现在您的 Zabbix 服务器已启动并正常运行。是时候将 Zabbix 代理节点添加到 Zabbix 服务器以进行监控了。
首先,登录到 Zabbix 代理实例并使用以下命令添加 Zabbix 存储库:
wget http://repo.zabbix.com/zabbix/3.0/debian/pool/main/z/zabbix-release/zabbix-release_3.0-2+stretch_all.deb
sudo dpkg -i zabbix-release_3.0-2+stretch_all.deb
sudo apt-get update -y
在系统上配置 Zabbix 存储库后,只需运行以下命令即可安装 Zabbix 代理:
sudo apt-get install zabbix-agent -y
安装 Zabbix 代理后,您需要配置 Zabbix 代理以与 Zabbix 服务器通信。您可以通过编辑 Zabbix 代理配置文件来执行此操作:
sudo nano /etc/zabbix/zabbix_agentd.conf
更改文件如下所示:
#Zabbix Server IP Address / Hostname
Server=192.168.0.103
#Zabbix Agent Hostname
Hostname=zabbix-agent
完成后保存并关闭文件,然后重新启动 Zabbix 代理服务并使用以下命令使其在启动时启动:
sudo systemctl restart zabbix-agent
sudo systemctl enable zabbix-agent
将 Zabbix Agent 节点添加到 Zabbix Server
接下来需要将Zabbix agent节点添加到Zabbix server中进行监控。首先,登录到 Zabbix 服务器 Web 界面。

接下来,点击 Configuration —> Hosts —> Create Host,您应该会看到以下页面:

在这里,指定 Zabbix 代理的主机名、IP 地址和组名。然后导航到模板选项卡,您应该看到以下页面:

在这里,搜索合适的模板并单击添加按钮,您应该会看到以下页面:

最后,再次单击添加按钮。您会看到带有绿色标签的新主机,表明一切正常。

如果您有额外的服务器和网络设备要监控,请登录每个主机,安装 Zabbix 代理并从 Zabbix Web 界面添加每个主机。
结论
恭喜!您已经在 Debian 9 服务器上成功安装了 Zabbix 服务器和 Zabbix 代理。您还已将 Zabbix 代理节点添加到 Zabbix 服务器以进行监控。您现在可以轻松列出当前问题和过去的历史记录,获取主机的最新数据,列出当前问题,还可以通过图形可视化收集的资源统计信息,如 CPU 负载、CPU 利用率、内存使用率等。我希望您现在可以轻松地在 Debian 9 服务器上安装和配置 Zabbix,并将其部署到生产环境中。与其他监控软件相比,Zabbix 允许您在监控多台主机的同时,构建自己的不同网段地图。您还可以使用 Zabbix windows agent 监控 Windows 主机。有关更多信息,您可以参考 Zabbix 文档页面。如果您有任何问题,请随时问我。