Zabbix作为主流的开源监控工具,支持对CPU、内存、磁盘、网络等各类服务器指标进行实时采集和告警,在Linux系统上部署Zabbix需要依次完成环境搭建、服务端配置、客户端部署等环节。

环境准备
本文以CentOS 7系统为例进行演示,安装Zabbix前需要先准备好LAMP或者LNMP环境,因为Zabbix服务端依赖Web服务和数据库运行。这里选择安装MySQL作为数据库,Apache作为Web服务,PHP版本需要不低于7.2。
首先关闭系统防火墙和SELinux,避免后续访问出现权限问题:
# 关闭防火墙 systemctl stop firewalld systemctl disable firewalld # 临时关闭SELinux setenforce 0 # 永久关闭SELinux,修改配置文件 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
安装Zabbix服务端
添加Zabbix官方仓库
首先导入Zabbix的仓库源,避免直接下载安装包出现依赖问题:
rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm yum clean all
安装Zabbix相关组件
执行以下命令安装Zabbix服务端、Web前端和Agent组件:
yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent
配置MySQL数据库
启动MySQL服务并创建Zabbix专用的数据库和用户:
# 启动MySQL systemctl start mysqld systemctl enable mysqld # 登录MySQL,初始密码可以在/var/log/mysqld.log中查看 mysql -uroot -p # 进入MySQL后执行以下SQL create database zabbix character set utf8mb4 collate utf8mb4_bin; create user 'zabbix'@'localhost' identified by 'Zabbix@123'; grant all privileges on zabbix.* to 'zabbix'@'localhost'; set global log_bin_trust_function_creators = 1; quit;
导入Zabbix初始数据库结构:
# 解压SQL文件 gunzip /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz # 导入数据库 mysql -uzabbix -pZabbix@123 zabbix < /usr/share/doc/zabbix-sql-scripts/mysql/server.sql # 导入完成后关闭二进制日志信任设置 mysql -uroot -p set global log_bin_trust_function_creators = 0; quit;
配置Zabbix服务端
修改Zabbix服务端配置文件/etc/zabbix/zabbix_server.conf,设置数据库连接信息:
# 编辑配置文件 vim /etc/zabbix/zabbix_server.conf # 修改以下配置项,去掉前面的注释并修改值 DBPassword=Zabbix@123 DBUser=zabbix DBName=zabbix
启动Zabbix服务端和Apache服务:
systemctl restart zabbix-server apachectl systemctl enable zabbix-server apachectl
Web界面初始化
打开浏览器访问服务器IP地址,会自动跳转到Zabbix安装向导页面,按照提示完成以下步骤:
- 检查PHP环境是否满足要求,若有不满足的项需要调整PHP配置
- 填写数据库连接信息,数据库主机填localhost,端口3306,用户zabbix,密码Zabbix@123
- 设置Zabbix管理员账号密码,默认管理员账号为Admin,密码自定义
- 确认配置信息无误后完成初始化
安装Zabbix客户端
如果需要监控其他Linux服务器,需要在被监控端安装Zabbix客户端,这里以监控Zabbix服务端所在服务器为例,客户端已经随服务端一起安装,只需要修改配置即可。
编辑客户端配置文件/etc/zabbix/zabbix_agent2.conf:
vim /etc/zabbix/zabbix_agent2.conf # 修改以下配置项 Server=127.0.0.1 # 服务端IP地址,这里是本机 ServerActive=127.0.0.1 # 主动模式服务端地址 Hostname=Zabbix_server # 客户端主机名,需要和Web界面添加的主机名一致
启动Zabbix客户端:
systemctl start zabbix-agent2 systemctl enable zabbix-agent2
添加监控主机
登录Zabbix Web界面,依次点击配置-主机-创建主机,填写以下信息:
- 主机名称:填写客户端配置中的Hostname值,这里是Zabbix_server
- 群组:选择Linux servers
- Agent的接口:IP地址填127.0.0.1,端口10050
点击模板标签页,链接模板Template OS Linux by Zabbix agent,点击添加后更新配置。
等待几分钟,在监测-主机页面可以看到对应主机可用性显示绿色,说明监控已经正常生效,点击主机名称可以查看各项监控指标的实时数据。
常见问题解决
- 如果Zabbix服务端启动失败,可以查看
/var/log/zabbix/zabbix_server.log日志,通常是数据库连接配置错误导致 - 如果客户端无法被服务端发现,检查客户端配置中的Server地址是否正确,防火墙是否放行10050端口
- Web界面显示PHP参数不满足要求,修改
/etc/php.ini对应参数后重启Apache服务即可