CentOS 7 安装 Zabbix 监控系统
Zabbix 是一款开源的企业级监控解决方案,支持服务器、网络设备、应用服务的性能与状态监控,本文将详细介绍在 CentOS 7 系统上部署 Zabbix 6.0(最新 LTS 版本)的完整流程,涵盖环境准备、软件安装、配置优化等关键步骤。
环境准备
在开始安装前,需确保系统满足以下要求:
- 操作系统:CentOS 7.x(最小化安装或桌面版均可)。
- 硬件资源:建议至少 2 核 CPU、4GB 内存(生产环境推荐 8GB+)、50GB 磁盘空间。
- 网络配置:确保服务器能访问互联网(用于下载依赖包),且防火墙/SELinux 允许 Zabbix 服务通信。
基础系统更新
首先更新系统并安装必要的工具:
sudo yum update -y # 更新系统软件包 sudo yum install -y wget vim net-tools # 安装常用工具
关闭防火墙与 SELinux(可选但推荐)
为简化安装过程,可临时关闭防火墙和 SELinux:
sudo systemctl stop firewalld && sudo systemctl disable firewalld # 关闭防火墙 sudo setenforce 0 # 临时关闭 SELinux sudo sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config # 永久禁用 SELinux
安装 LAMP 栈(Zabbix 依赖)
Zabbix 需要 Apache、MySQL 和 PHP 运行,因此先搭建 LAMP 环境。
安装 Apache 与 PHP
通过 EPEL 仓库安装 PHP 及扩展:
sudo yum install -y epel-release # 启用 EPEL 仓库 sudo yum install -y httpd php php-mysqlnd php-gd php-ldap php-mbstring php-bcmath php-xml php-fpm
配置 Apache
启动 Apache 并设置开机自启:
sudo systemctl start httpd sudo systemctl enable httpd
安装 MySQL/MariaDB
CentOS 7 默认使用 MariaDB 作为 MySQL 替代品,执行以下命令安装:
sudo yum install -y mariadb-server mariadb sudo systemctl start mariadb sudo systemctl enable mariadb
初始化 MySQL 安全配置
运行 mysql_secure_installation
脚本设置 root 密码、删除匿名用户等:
sudo mysql_secure_installation
按提示完成配置(建议设置强密码)。
创建 Zabbix 数据库与用户
登录 MySQL 并创建 Zabbix 专用数据库及用户:
sudo mysql -u root -p # 输入 MySQL root 密码
在 MySQL 提示符下执行:
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; # 创建数据库 CREATE USER 'zabbix'@'localhost' IDENTIFIED BY '你的密码'; # 创建用户 GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost'; # 授权 FLUSH PRIVILEGES; EXIT;
安装 Zabbix Server
从官方源获取 Zabbix RPM 包并安装:
添加 Zabbix 官方仓库
根据系统版本选择对应仓库(以 x86_64 为例):
sudo rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-1.el7.noarch.rpm sudo yum clean all # 清除缓存
安装 Zabbix 组件
安装 Zabbix server、web 前端及 agent:
sudo yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent
导入初始数据
将 Zabbix 自带的 SQL 文件导入数据库:
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
输入之前设置的 zabbix
用户密码完成导入。
配置 Zabbix Server
编辑 Zabbix Server 配置文件 /etc/zabbix/zabbix_server.conf
,修改数据库连接参数:
DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=你的密码 # 替换为实际密码
配置 PHP 时区
编辑 /etc/php.ini
,找到 date.timezone
行并设置为时区(如 Asia/Shanghai):
date.timezone = Asia/Shanghai
重启服务
重启 Zabbix Server、Apache 及 MySQL 服务:
sudo systemctl restart zabbix-server zabbix-agent httpd mariadb sudo systemctl enable zabbix-server zabbix-agent httpd mariadb
Web 界面初始化
打开浏览器访问 http://你的服务器IP/zabbix
,进入 Zabbix Web 初始化界面:
检查前置条件
页面会自动检测 PHP、数据库等配置是否满足要求,若有报错需返回上一步修正。
配置数据库连接
输入之前创建的数据库信息:
- 数据库类型:MySQL
- 主机名:localhost
- 端口:3306(默认)
- 数据库名称:zabbix
- 用户名:zabbix
- 密码:你的密码
设置管理员账号
创建 Zabbix 管理员账户(默认用户名 Admin
,密码 zabbix
,建议后续修改)。
完成安装
点击“Finish”后即可登录 Zabbix Web 界面。
Agent 端部署(被监控主机)
若需监控其他主机,需在每个目标主机上安装 Zabbix Agent,以 CentOS 7 为例:
# 添加仓库(同 Server 端) sudo rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-1.el7.noarch.rpm sudo yum install -y zabbix-agent # 编辑配置文件 /etc/zabbix/zabbix_agentd.conf Server=你的 Zabbix Server IP # 指定 Server 地址 ServerActive=你的 Zabbix Server IP # 指定主动模式 Server 地址 Hostname=被监控主机名 # 唯一标识,需与 Web 界面中主机名一致 # 启动 Agent sudo systemctl restart zabbix-agent sudo systemctl enable zabbix-agent
常见问题与优化
图形显示异常(乱码/空白)
- 原因:PHP 缺少字体支持或时区配置错误。
- 解决:
sudo yum install -y gd-utils # 安装 GD 库 sudo cp /usr/share/fonts/dejavu/DejaVuSans.ttf /usr/share/zabbix/assets/fonts/ # 复制字体 sudo sed -i 's/GraphFontName=.*/GraphFontName=DejaVuSans/' /etc/zabbix/zabbix_server.conf # 修改配置 sudo systemctl restart zabbix-server httpd
监控数据延迟或不采集
- 原因:Agent 与 Server 通信失败、防火墙拦截、配置文件错误。
- 排查步骤:
- 检查 Agent 日志:
tail -f /var/log/zabbix/zabbix_agentd.log
- 测试网络连通性:
telnet 你的 Zabbix Server IP 10051
(Agent 默认端口 10050,Server 端口 10051) - 确认防火墙允许端口:
sudo firewall-cmd --add-port=10050/tcp --permanent
- 检查 Agent 日志:
相关问答 FAQs
Q1:安装过程中出现 “PHP version < 7.2.0” 错误怎么办?
A:CentOS 7 默认 PHP 版本较低,需升级 PHP 至 7.2+,可通过 Remi 仓库安装:
sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm sudo yum install -y php72-php # 安装 PHP 7.2 sudo alternatives --set php /opt/remi/php72/root/usr/bin/php # 切换默认 PHP 版本
Q2:如何添加自定义监控项?
A:在 Zabbix Web 界面中,依次点击「Configuration」→「Hosts」→ 选择目标主机 → 点击「Items」→ 「Create Item」,填写监控项名称、键值(如 system.cpu.load[percpu,avg1]
)、类型等信息即可,键值可通过 Zabbix 官方文档查询,或参考系统中已有的监控项模板。
通过以上步骤,您可在 CentOS 7 上成功部署 Zabbix 监控系统,生产环境中建议进一步配置高可用、备份及安全策略(如 HTTPS 加密、用户权限管理),以保障系统稳定运行。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复