CentOS ...部署Zabbix. 手把手、保姆级

📅 2026/7/26 6:15:53
CentOS ...部署Zabbix. 手把手、保姆级
CentOS 7 部署 Zabbix 6.0手把手、保姆级教程大家好我是一名资深技术博主。今天我要带大家一步步在 CentOS 7 上部署 Zabbix 6.0 LTS——一个强大的开源监控系统。别担心我会用最通俗的语言和实际代码让你从零开始轻松搭建起属于自己的监控平台。这篇文章适合所有对监控感兴趣的开发者或运维人员即使你之前没接触过 Zabbix也能跟着做。## 为什么选择 ZabbixZabbix 是一个企业级分布式监控解决方案能监控网络设备、服务器、应用等。它支持自动发现、告警、可视化图表而且免费开源。CentOS 7 作为稳定服务器系统搭配 Zabbix 6.0 LTS长期支持版简直是黄金搭档。本教程将覆盖环境准备、安装数据库、配置 Zabbix 服务、启动 Web 界面最后测试一下监控效果。## 环境准备先搭好地基在开始之前确保你的 CentOS 7 系统是最新的并且有 root 权限。我会用虚拟机模拟但云服务器也一样。先更新系统包bash# 更新系统确保依赖包最新sudo yum update -y# 安装必要的工具如 wget 和 vimsudo yum install -y wget vim net-tools接下来关闭防火墙为了简洁生产环境要配置规则bash# 临时关闭防火墙sudo systemctl stop firewalld# 禁止开机自启sudo systemctl disable firewalld还要关闭 SELinux否则 Zabbix 可能报权限错误。编辑/etc/selinux/config把SELINUXenforcing改成disabled然后重启或执行setenforce 0。## 第一步安装和配置 MySQL 数据库Zabbix 需要数据库存储监控数据这里我们用 MariaDBMySQL 的兼容分支。先安装bash# 安装 MariaDB 服务器和客户端sudo yum install -y mariadb-server mariadb# 启动并设置开机自启sudo systemctl start mariadbsudo systemctl enable mariadb接着安全初始化数据库设置 root 密码。运行以下命令按提示操作bashsudo mysql_secure_installation通常步骤输入当前密码默认空- 设置新密码 - 删除匿名用户 - 禁止远程 root 登录 - 删除测试数据库 - 重新加载权限。完成后创建 Zabbix 的数据库和用户sql-- 登录数据库输入你刚设置的密码mysql -u root -p-- 创建数据库指定字符集CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;-- 创建用户密码设为 yourpassword实际自己改CREATE USER zabbixlocalhost IDENTIFIED BY yourpassword;-- 授权GRANT ALL PRIVILEGES ON zabbix.* TO zabbixlocalhost;-- 刷新权限FLUSH PRIVILEGES;-- 退出EXIT;## 第二步安装 Zabbix 仓库和核心组件Zabbix 官方提供专门针对 CentOS 7 的仓库。先添加仓库bash# 下载 Zabbix 6.0 的 RPM 包rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm# 清理缓存并安装yum clean allsudo yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent这里安装了三个组件zabbix-server-mysql服务端、zabbix-web-mysqlWeb 界面、zabbix-agent被监控端。安装过程会下载依赖耐心等待。接下来导入 Zabbix 的初始数据库结构。Zabbix 安装包自带 SQL 文件bash# 解压并导入zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -u zabbix -p zabbix输入之前设置的yourpassword。如果没报错说明数据库导入成功。然后配置 Zabbix 服务端编辑配置文件/etc/zabbix/zabbix_server.confbash# 用 vim 打开配置文件sudo vim /etc/zabbix/zabbix_server.conf找到以下参数并修改或取消注释iniDBHostlocalhost # 数据库主机DBNamezabbix # 数据库名DBUserzabbix # 数据库用户DBPasswordyourpassword # 数据库密码替换成你设的保存退出后启动 Zabbix 服务bashsudo systemctl start zabbix-serversudo systemctl enable zabbix-server检查服务状态确认正常运行bashsudo systemctl status zabbix-server如果看到active (running)就对了。## 第三步配置 Web 界面Apache PHPZabbix 的 Web 界面需要 PHP 环境。之前安装zabbix-web-mysql时已经带了 Apache 和 PHP 依赖。我们只需调整时区和 PHP 配置。编辑/etc/httpd/conf.d/zabbix.conf找到php_value date.timezone并改成Asia/Shanghaibashsudo vim /etc/httpd/conf.d/zabbix.conf找到类似行修改为iniphp_value date.timezone Asia/Shanghai然后启动 Apache 和 PHP-FPM如果有的话Zabbix 6.0 通常用 PHP-FPMbashsudo systemctl start httpdsudo systemctl enable httpdsudo systemctl start php-fpmsudo systemctl enable php-fpm现在访问 Web 界面打开浏览器输入http://你的服务器IP/zabbix。你会看到安装向导。按步骤检查依赖通常都通过 - 配置数据库连接输入刚才的数据库信息 - 设置 Zabbix 服务器名称随便填比如 “My Zabbix” - 完成。默认管理员账号是Admin密码zabbix。## 第四步配置和测试监控Zabbix 自带一个代理agent在本机运行。我们刚才已经安装了zabbix-agent现在配置它。编辑/etc/zabbix/zabbix_agentd.confbashsudo vim /etc/zabbix/zabbix_agentd.conf修改以下内容iniServer127.0.0.1 # 允许接收数据的服务器IP本机ServerActive127.0.0.1 # 主动模式下服务器IPHostnameZabbix server # 本机主机名需唯一保存后启动 agentbashsudo systemctl start zabbix-agentsudo systemctl enable zabbix-agent现在在 Web 界面添加主机。登录后点击左侧菜单配置-主机- 右上角创建主机。填写- 主机名称比如 “CentOS-7”- 可见名称随意- 群组选 “Linux servers”如果没显示先创建- 接口选择 “Agent”IP 地址填127.0.0.1端口默认 10050点击添加然后看到主机状态为绿色代表连接成功。接下来我们可以手动执行一个监控项测试。比如监控 CPU 使用率。在主机页面切换到监控项标签点击创建监控项- 名称CPU User- 类型Zabbix 代理- 键值system.cpu.util[,user]- 信息类型浮点数- 更新间隔30秒保存后等几分钟去监测-最新数据查看就能看到 CPU 使用率数据了。## 代码示例编写简单的自定义监控脚本Zabbix 非常灵活我们可以写脚本自定义监控。比如监控一个文件是否存在。先在 agent 配置里启用自定义脚本bash# 允许用户参数sudo vim /etc/zabbix/zabbix_agentd.conf找到# Include行取消注释并添加iniInclude/etc/zabbix/zabbix_agentd.d/*.conf创建自定义脚本目录bashsudo mkdir -p /etc/zabbix/scripts写一个简单的 Shell 脚本check_file.shbash#!/bin/bash# 检查 /tmp/test.txt 文件是否存在# 返回 1 表示存在0 表示不存在if [ -f /tmp/test.txt ]; then echo 1else echo 0fi赋予执行权限bashsudo chmod x /etc/zabbix/scripts/check_file.sh然后创建用户参数文件/etc/zabbix/zabbix_agentd.d/userparameter_check.confiniUserParametercheck.file,/etc/zabbix/scripts/check_file.sh重启 agentbashsudo systemctl restart zabbix-agent在 Web 界面添加监控项键值填check.file类型选Zabbix 代理。创建后手动在服务器上创建/tmp/test.txt文件过几分钟查看数据应该返回 1。## 总结本文从零开始手把手教你在 CentOS 7 上部署 Zabbix 6.0。我们完成了环境准备、数据库安装、Zabbix 服务配置、Web 界面初始化还写了一个自定义监控脚本。整个过程虽然步骤多但每一步都有代码和解释相信你跟着做都能成功。Zabbix 功能强大这只是冰山一角——后面你可以探索告警、模板、自动发现等特性。如果遇到问题检查日志/var/log/zabbix/和/var/log/httpd/或重读步骤。记住监控是运维的基石掌握了它你的系统会更稳定。动手试试吧