在Linux系统监控领域,Zabbix以其强大的功能和灵活性,成为众多管理员的首选方案,对于运行CentOS 7.4服务器的用户而言,部署一套稳定可靠的Zabbix监控系统,是提升运维效率、保障业务连续性的重要一步,本文将详细指导您在CentOS 7.4上完成Zabbix Server的安装与基础配置。
环境准备与基础设定
在开始安装前,请确保您拥有一台运行CentOS 7.4操作系统的服务器(物理机或虚拟机均可),并具备root权限或sudo权限,建议系统资源至少满足:2核CPU、4GB内存、10GB以上可用磁盘空间,具体规模需根据监控目标数量调整。
更新系统: 良好的起点是更新现有软件包到最新版本,这将修复已知漏洞并确保系统兼容性,执行命令:
sudo yum update -y
配置主机名与解析: 为服务器设置一个清晰的主机名(
zabbix-server
)并确保其在/etc/hosts
文件中正确解析到本机IP地址,这对Zabbix组件间的通信至关重要。sudo hostnamectl set-hostname zabbix-server echo "192.168.1.100 zabbix-server" | sudo tee -a /etc/hosts # 替换为您的实际IP
关闭防火墙或开放端口: Zabbix Server需要监听特定端口(如10051),您可以选择暂时禁用防火墙(仅限测试环境),或更安全地开放所需端口:
sudo systemctl stop firewalld # 临时停止防火墙(测试用) sudo systemctl disable firewalld # 永久禁用防火墙(不推荐生产)
生产环境建议: 使用
firewall-cmd
永久开放端口:sudo firewall-cmd --permanent --add-port=80/tcp # Zabbix Web界面 (HTTP) sudo firewall-cmd --permanent --add-port=10050/tcp # Zabbix Agent (被监控端) sudo firewall-cmd --permanent --add-port=10051/tcp # Zabbix Server (接收Agent数据) sudo firewall-cmd --reload
调整SELinux: SELinux可能会干扰Zabbix运行,可以将其设置为宽容模式(Permissive)或根据需要配置策略:
sudo setenforce 0 # 临时设置为Permissive sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config # 永久设置
安装核心依赖:数据库与Web服务器
Zabbix Server需要数据库存储配置和监控数据,以及Web服务器提供用户界面。
安装MariaDB数据库: CentOS 7.4默认仓库提供MariaDB(MySQL的兼容分支)。
sudo yum install -y mariadb-server mariadb sudo systemctl start mariadb sudo systemctl enable mariadb
加固MariaDB安全: 运行初始安全脚本,设置root密码并移除匿名用户等不安全配置:
sudo mysql_secure_installation
按照提示操作,设置强密码并回答 'Y' 移除匿名用户、禁止root远程登录、移除测试数据库等。
创建Zabbix数据库与用户: 登录MySQL,为Zabbix创建专用数据库和用户:
mysql -u root -p
输入设置的root密码后,在MySQL提示符下执行:
CREATE DATABASE zabbixdb CHARACTER SET utf8 COLLATE utf8_bin; CREATE USER 'zabbixuser'@'localhost' IDENTIFIED BY 'YourStrongPasswordHere'; -- 替换为强密码 GRANT ALL PRIVILEGES ON zabbixdb.* TO 'zabbixuser'@'localhost'; FLUSH PRIVILEGES; EXIT;
安装PHP与Web服务器: Zabbix Web前端依赖PHP和Web服务器(这里使用Apache)。
sudo yum install -y httpd php php-mysql php-gd php-bcmath php-mbstring php-xml php-ldap php-net-socket
安装后,需要调整PHP配置以满足Zabbix要求,编辑
/etc/php.ini
:sudo vi /etc/php.ini
找到并修改以下参数(确保移除行首的注释):
max_execution_time = 300 max_input_time = 300 memory_limit = 128M post_max_size = 16M upload_max_filesize = 2M date.timezone = Asia/Shanghai # 根据您的时区设置,Europe/London, America/New_York
保存退出后,启动Apache并设置开机启动:
sudo systemctl start httpd sudo systemctl enable httpd
安装Zabbix Server、前端与Agent
添加Zabbix仓库: CentOS基础仓库不包含Zabbix,需要添加Zabbix官方仓库。
sudo rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-3.el7.noarch.rpm # 注意:请访问 https://www.zabbix.com/download 确认适用于CentOS 7的最新稳定版仓库URL,替换上面的6.0版本号。 sudo yum clean all
安装Zabbix组件: 一次性安装Server、前端和Agent(Server自身也需要Agent进行基础监控)。
sudo yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-agent
导入初始数据库架构: 使用Zabbix提供的脚本将初始数据库结构导入到之前创建的
zabbixdb
中。zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql -u zabbixuser -p zabbixdb
系统会提示输入之前为
zabbixuser
设置的数据库密码。配置Zabbix Server连接数据库: 编辑Server配置文件:
sudo vi /etc/zabbix/zabbix_server.conf
找到并修改以下关键参数:
DBHost=localhost DBName=zabbixdb DBUser=zabbixuser DBPassword=YourStrongPasswordHere # 替换为实际密码 # (可选) 调整监听端口,保持10051默认通常即可 # ListenPort=10051
保存退出。
配置Zabbix Agent: 编辑Agent配置文件(主要用于监控Server本机):
sudo vi /etc/zabbix/zabbix_agentd.conf
确保以下参数设置正确:
Server=127.0.0.1 # 允许本地Zabbix Server连接 ServerActive=127.0.0.1 # Agent主动连接的目标Server(本机) Hostname=zabbix-server # 必须与Server配置中识别的主机名一致(即之前设置的hostname)
保存退出。
启动Zabbix服务并设置开机启动:
sudo systemctl start zabbix-server zabbix-agent httpd sudo systemctl enable zabbix-server zabbix-agent httpd
完成Zabbix Web安装向导
所有服务启动后,通过浏览器访问您的服务器IP地址或域名,进入Zabbix Web安装向导:
http://your_server_ip_or_domain/zabbix/
- 欢迎页面: 检查所有先决条件是否满足(PHP参数、数据库连接等),如有问题(标红),需返回调整PHP配置或检查服务状态。
- 数据库配置:
- Database type:
MySQL
- Database host:
localhost
- Database port:
3306
(默认) - Database name:
zabbixdb
- User:
zabbixuser
- Password:
YourStrongPasswordHere
- Database type:
- Zabbix Server 详细信息:
- Host:
localhost
或0.0.1
(因为Server和Web在同一台机器) - Port:
10051
(默认) - Name: 给您的Zabbix实例起个名字(如
My Company Zabbix
)
- Host:
- 安装前检查: 确认配置摘要信息无误。
- 下载配置文件: 向导会生成一个
zabbix.conf.php
文件供下载,将其上传到Web服务器的配置目录:sudo mv /tmp/zabbix.conf.php /etc/zabbix/web/ # 确保权限正确 sudo chown apache:apache /etc/zabbix/web/zabbix.conf.php sudo chmod 644 /etc/zabbix/web/zabbix.conf.php
- 完成安装: 点击完成,将跳转到Zabbix登录页面,默认管理员账号是
Admin
(注意大写A),密码是zabbix
。强烈建议首次登录后立即修改管理员密码!
基础配置与验证
登录Zabbix Web界面(http://your_server_ip_or_domain/zabbix/
)后:
- 修改管理员密码: 导航到
Administration
->Users
,选择用户Admin
,点击Change password
。 - 检查主机状态: 导航到
Monitoring
->Hosts
,您应该能看到Zabbix server
主机(即本机)已被自动添加,并且状态应为Enabled
和Available
(绿色ZBX图标),这表示Server已成功接收到Agent的数据。 - 添加新主机: 尝试添加您网络中的另一台服务器(需在其上安装并配置Zabbix Agent,指向此Zabbix Server的IP)。
关键注意事项
- 资源监控: Zabbix Server本身会消耗一定资源(CPU、内存、磁盘I/O),特别是随着监控项和历史的增长,务必监控Server本身的资源使用情况,并根据需要扩容。
- 定期维护: 包括数据库清理(调整Housekeeper设置)、Zabbix版本升级、操作系统补丁更新等。
- 安全性: 使用强密码、保持Zabbix和系统组件更新、限制Zabbix Web界面的访问IP范围、考虑使用HTTPS加密Web访问。
- 备份: 极其重要! 定期备份Zabbix数据库(
zabbixdb
)和配置文件(/etc/zabbix
),数据库备份是恢复监控数据的关键。
在CentOS 7.4上部署Zabbix Server是一项基础但关键的工作,遵循这些步骤,结合对自身环境的理解进行适当调整,您就能建立起一个功能强大的监控中心,清晰的监控视图是运维工作的眼睛,它能帮助您更早发现问题、更快定位根源、更有效地保障业务稳定运行,投入时间配置好监控规则和告警策略,其回报将在未来的运维工作中持续体现。