Zabbix 6.4 完整部署教程:从环境准备到监控实战
本文详细介绍了在CentOS7.9系统上部署Zabbix6.4企业级监控系统的完整流程。内容包括:环境准备(系统配置、时间同步)、MySQL8.0数据库安装与配置、Zabbix服务端和Agent的部署、Web界面(Apache+PHP)的搭建,以及通过Web界面完成初始化配置。教程还提供了常见问题排查方法和后续操作建议,适合新手快速掌握Zabbix部署要点。通过本教程,用户可实现对服务器的基础监控
Zabbix 6.4 完整部署教程:从环境准备到监控实战
Zabbix 作为一款开源企业级监控解决方案,支持对服务器、网络设备、应用程序等多类对象进行实时监控,具备灵活的告警机制、可视化报表和自动发现功能。本文将以 CentOS 7.9 操作系统为例,详细讲解 Zabbix 6.4(LTS 长期支持版)的部署流程,包括环境依赖安装、数据库配置、Zabbix 服务部署及 Web 界面初始化,适合新手快速上手。
一、部署前准备:明确环境要求与基础配置
在开始部署前,需确保服务器满足最低环境要求,并完成基础系统配置,避免后续出现兼容性问题。
1.1 环境要求(最低配置)
| 组件 | 要求 |
|---|---|
| 操作系统 | CentOS 7/8、Ubuntu 20.04/22.04 等主流 Linux 发行版(本文以 CentOS 7.9 为例) |
| CPU | 1 核及以上(生产环境建议 2 核 +) |
| 内存 | 2GB 及以上(监控节点较多时建议 4GB+) |
| 磁盘空间 | 20GB 及以上(需存储监控历史数据,生产环境建议挂载独立数据盘) |
| 数据库 | MySQL 8.0、PostgreSQL 14 等(本文以 MySQL 8.0 为例) |
| 依赖组件 | Apache/Nginx(Web 服务器)、PHP 7.4+(Zabbix Web 界面依赖) |
1.2 基础系统配置
(1)关闭防火墙与 SELinux
Zabbix 服务需用到 10050(Agent 端口)、10051(Server 端口)、80(Web 端口),为简化部署,先关闭防火墙与 SELinux(生产环境可按需开放端口,不建议直接关闭):
# 关闭防火墙并设置开机不启动
systemctl stop firewalld
systemctl disable firewalld
# 临时关闭SELinux(重启后失效)
setenforce 0
# 永久关闭SELinux(需重启生效,当前部署可先临时关闭)
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
(2)配置时间同步
监控数据对时间精度要求较高,需确保服务器时间与标准时间同步:
# 安装ntpdate工具
yum install -y ntpdate
# 同步阿里云时间服务器
ntpdate ntp.aliyun.com
# 设置定时任务,每小时同步一次时间
echo "0 * * * * /usr/sbin/ntpdate ntp.aliyun.com > /dev/null 2>&1" >> /var/spool/cron/root
(3)安装基础依赖包
yum install -y wget vim net-tools gcc gcc-c++
二、部署数据库:MySQL 8.0 安装与配置
Zabbix 需要数据库存储监控配置、历史数据等信息,本文选择 MySQL 8.0(开源且兼容性好),步骤如下:
2.1 卸载系统自带 MySQL(若存在)
CentOS 7 可能预装 MariaDB(MySQL 分支),需先卸载避免冲突:
rpm -qa | grep mariadb # 查看预装的MariaDB包
rpm -e --nodeps 包名 # 卸载(例:rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64)
2.2 安装 MySQL 8.0
(1)添加 MySQL 官方 YUM 源
# 下载MySQL 8.0 YUM源配置文件
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
# 安装YUM源
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
(2)安装 MySQL 服务
# 安装MySQL社区版服务器
yum install -y mysql-community-server
(3)启动 MySQL 并设置开机自启
# 启动MySQL服务
systemctl start mysqld
# 设置开机自启
systemctl enable mysqld
# 查看MySQL运行状态(确保状态为active (running))
systemctl status mysqld
2.3 配置 MySQL(关键步骤)
(1)获取初始密码
MySQL 8.0 安装后会生成临时密码,存储在日志文件中:
grep "temporary password" /var/log/mysqld.log
输出示例:2024-05-01T08:30:00.123456Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: abc123!DEF其中 abc123!DEF 即为初始密码。
(2)登录 MySQL 并修改初始密码
# 登录MySQL(输入上述初始密码)
mysql -u root -p
# 修改root密码(MySQL 8.0要求密码包含大小写、数字、特殊符号,例:Zabbix@123)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Zabbix@123';
# 刷新权限
FLUSH PRIVILEGES;
(3)创建 Zabbix 专用数据库与用户
为 Zabbix 创建独立数据库和用户,避免直接使用 root 账户,提升安全性:
# 创建数据库(数据库名:zabbix,字符集:utf8mb4,排序规则:utf8mb4_bin)
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
# 创建用户(用户名:zabbix,密码:ZabbixDB@123,允许本地访问)
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'ZabbixDB@123';
# 授予用户对zabbix数据库的所有权限
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
# 刷新权限
FLUSH PRIVILEGES;
# 退出MySQL
exit;
三、部署 Zabbix 服务:Server + Agent
Zabbix 核心服务包括 Zabbix Server(监控核心,处理数据)和 Zabbix Agent(部署在被监控端,采集数据),本文先在服务器上部署 Server 和本地 Agent(监控自身)。
3.1 添加 Zabbix 官方 YUM 源
Zabbix 官方提供 YUM 源,避免手动下载安装包:
# 下载Zabbix 6.4 YUM源(CentOS 7)
rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/7/x86_64/zabbix-release-6.4-1.el7.noarch.rpm
# 清理YUM缓存并生成新缓存
yum clean all
yum makecache fast
3.2 安装 Zabbix Server 与 Agent
# 安装Zabbix Server、Agent及MySQL依赖(zabbix-server-mysql用于连接MySQL)
yum install -y zabbix-server-mysql zabbix-agent
3.3 导入 Zabbix 初始数据库
Zabbix 提供预设的数据库表结构和初始数据,需导入到之前创建的 zabbix 数据库中:
# 导入初始 schema 和数据(注意:6.4版本需按顺序导入3个文件,路径为默认安装路径)
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -u zabbix -p zabbix
zcat /usr/share/zabbix-sql-scripts/mysql/images.sql.gz | mysql -u zabbix -p zabbix
zcat /usr/share/zabbix-sql-scripts/mysql/data.sql.gz | mysql -u zabbix -p zabbix
执行时需输入之前创建的 Zabbix 数据库用户密码(ZabbixDB@123),等待导入完成(无报错即成功)。
3.4 配置 Zabbix Server(连接数据库)
修改 Zabbix Server 配置文件,指定数据库连接信息:
# 编辑Zabbix Server配置文件
vim /etc/zabbix/zabbix_server.conf
找到以下参数,按实际配置修改(删除注释符 # 并填写值):
DBName=zabbix # 数据库名(与之前创建的一致)
DBUser=zabbix # 数据库用户名(与之前创建的一致)
DBPassword=ZabbixDB@123 # 数据库密码(与之前创建的一致)
DBPort=3306 # MySQL端口(默认3306,无需修改)
保存退出(:wq)。
3.5 启动 Zabbix Server 与 Agent
# 启动Zabbix Server和Agent
systemctl start zabbix-server zabbix-agent
# 设置开机自启
systemctl enable zabbix-server zabbix-agent
# 查看服务状态(确保状态为active (running))
systemctl status zabbix-server zabbix-agent
若 Zabbix Server 启动失败,可查看日志排查问题:
cat /var/log/zabbix/zabbix_server.log
四、部署 Zabbix Web 界面:Apache + PHP
Zabbix 提供 Web 界面用于配置监控、查看报表和管理告警,需部署 Apache Web 服务器和 PHP 环境。
4.1 安装 Apache 与 PHP 依赖
Zabbix 6.4 要求 PHP 7.4+,CentOS 7 默认 PHP 版本较低,需先启用 Remi 源(提供高版本 PHP):
# 安装Remi源(用于获取PHP 7.4)
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
# 启用PHP 7.4模块
yum-config-manager --enable remi-php74
# 安装Apache、PHP及Zabbix Web依赖的PHP扩展
yum install -y httpd php php-mysqlnd php-gd php-xml php-bcmath php-mbstring php-ldap php-json php-opcache
4.2 配置 PHP 参数(适配 Zabbix 要求)
Zabbix 对 PHP 部分参数有最低要求,需修改 PHP 配置文件:
# 编辑PHP配置文件(Apache使用的PHP配置文件路径)
vim /etc/php.ini
找到以下参数,修改为符合要求的值:
max_execution_time = 300 # 脚本最大执行时间(默认30,改为300)
memory_limit = 128M # 内存限制(默认128M,足够,无需修改)
post_max_size = 16M # POST数据最大尺寸(默认8M,改为16M)
upload_max_filesize = 2M # 上传文件最大尺寸(默认2M,足够,无需修改)
max_input_time = 300 # 输入数据最大处理时间(默认60,改为300)
date.timezone = Asia/Shanghai # 时区(必须设置,否则Web界面报错)
保存退出(:wq)。
4.3 部署 Zabbix Web 文件
Zabbix 安装时已自动将 Web 文件放到 /usr/share/zabbix/ 目录,需创建 Apache 虚拟主机配置,指向该目录:
# 创建Zabbix Web虚拟主机配置文件
vim /etc/httpd/conf.d/zabbix.conf
添加以下内容(指定 Web 根目录和访问权限):
Alias /zabbix /usr/share/zabbix
<Directory /usr/share/zabbix/>
Options FollowSymLinks
AllowOverride None
Require all granted
<IfModule mod_php.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value date.timezone Asia/Shanghai
</IfModule>
</Directory>
<Directory /usr/share/zabbix/conf/>
Require all denied
</Directory>
<Directory /usr/share/zabbix/conf/zabbix.conf.php>
Require all denied
</Directory>
保存退出(:wq)。
4.4 启动 Apache 服务
# 启动Apache服务
systemctl start httpd
# 设置开机自启
systemctl enable httpd
# 查看Apache状态(确保状态为active (running))
systemctl status httpd
五、Web 界面初始化:完成 Zabbix 配置
至此,Zabbix 服务已全部部署完成,需通过 Web 界面完成初始化配置。
5.1 访问 Zabbix Web 界面
在浏览器中输入服务器 IP 地址 + /zabbix,例如:http://192.168.1.100/zabbix(替换为你的服务器实际 IP)。
(1)欢迎页面
首次访问将进入 Zabbix 安装向导,点击 Next step。
(2)环境检查页面
系统会自动检查 PHP 扩展、参数等是否符合要求,确保所有选项均为 OK(若有报错,返回步骤 4.2 重新配置 PHP),点击 Next step。
(3)数据库连接配置页面
填写之前创建的数据库信息:
- Database type:选择
MySQL - Database host:填写
localhost(本地数据库) - Database port:默认
3306 - Database name:
zabbix - Database user:
zabbix - Database password:
ZabbixDB@123
填写完成后点击 Next step,若提示 “Database connection successful”,说明连接正常。
(4)Zabbix Server 配置页面
设置 Zabbix Server 信息(默认即可,无需修改):
- Zabbix server host:
localhost - Zabbix server port:
10051 - Zabbix server name:可自定义(例:
My Zabbix Server)
点击 Next step。
(5)安装 summary 页面
确认所有配置信息无误,点击 Next step,等待安装完成。
(6)安装完成页面
提示 “Congratulations! You have successfully installed Zabbix frontend”,点击 Finish,进入登录页面。
5.2 登录 Zabbix Web 界面
Zabbix 默认管理员账号和密码:
- 用户名:
Admin(首字母大写) - 密码:
zabbix
登录后建议立即修改默认密码:点击右上角 Admin → Change password,输入新密码并保存。
六、验证监控:确认本地 Agent 已上线
登录后,首先验证本地 Zabbix Agent 是否正常连接(即监控服务器自身):
- 点击左侧菜单栏 Monitoring → Hosts
- 查看
Zabbix server主机的 Status 列,若显示 Enabled(绿色),且 Availability 列的两个图标均为绿色,说明 Agent 已正常上线,监控数据可正常采集。
七、常见问题排查
-
Zabbix Server 启动失败,日志提示 “Cannot connect to database”
- 检查
/etc/zabbix/zabbix_server.conf中数据库参数是否正确(用户名、密码、数据库名)。 - 验证 Zabbix 数据库用户是否能正常登录:
mysql -u zabbix -p zabbix(输入密码后能登录即正常)。
- 检查
-
Web 界面访问白屏或提示 “500 Internal Server Error”
- 检查 Apache 日志:
cat /var/log/httpd/error_log,查看具体报错(常见为 PHP 参数配置错误或文件权限问题)。 - 确保
/usr/share/zabbix/目录权限正确:chown -R apache:apache /usr/share/zabbix/。
- 检查 Apache 日志:
-
Hosts 页面中 “Zabbix server” 状态为红色(Disabled)
- 检查 Zabbix Agent 是否启动:
systemctl status zabbix-agent。 - 检查 Agent 配置文件
/etc/zabbix/zabbix_agentd.conf中Server=127.0.0.1(允许本地 Server 访问)是否正确,修改后重启 Agent:systemctl restart zabbix-agent。
- 检查 Zabbix Agent 是否启动:
八、后续操作建议
- 添加被监控节点:在需要监控的服务器上部署 Zabbix Agent,配置指向 Zabbix Server 地址,然后在 Web 界面添加主机。
- 配置告警媒介:通过
Administration→Media types配置邮件、短信、企业微信等告警方式,避免遗漏异常。 - 创建自定义监控项:根据业务需求,添加对特定应用(如 Nginx、MySQL、Java 应用)的监控项。
- 备份数据库:定期备份
zabbix数据库,避免监控数据丢失(可使用mysqldump工具)。
至此,Zabbix 6.4 完整部署流程已结束,如需进一步深入使用,可参考 Zabbix 官方文档 获取更多高级配置教程。
更多推荐


所有评论(0)