Zabbix监控搭建教程:从零安装到主机监控完整步骤

Zabbix 是一套开源的企业级监控系统,用来监测服务器、网络设备和应用的运行状态。
这篇 Zabbix 监控搭建教程面向零基础用户,按“准备环境→安装服务端→配置 Web→添加被监控主机→验证与排错”的顺序展开,每一步都给出可直接执行的命令。

搭建前的环境确认与软件源准备

推荐使用干净的 CentOS 7/8 或 Ubuntu 20.04/22.04 系统,内存至少 2GB(监控 10 台以内主机足够),并确保服务器能访问外网。
Zabbix 的组件较多,手动编译容易出错,新手建议直接使用官方软件源安装。

先更新系统并安装基础工具:

# CentOS
yum update -y
yum install -y wget vim net-tools

# Ubuntu
apt update && apt upgrade -y
apt install -y wget vim net-tools

随后安装数据库和 Web 服务器。
Zabbix 支持 MySQL/MariaDB 和 PostgreSQL,这里以 MySQL 为例。
CentOS 下执行:

yum install -y mariadb-server mariadb nginx php php-fpm php-mysql php-gd php-xml php-bcmath php-mbstring php-ldap
systemctl enable --now mariadb nginx php-fpm

Ubuntu 下包名略有差异:

apt install -y mysql-server nginx php-fpm php-mysql php-gd php-xml php-bcmath php-mbstring php-ldap
systemctl enable --now mysql nginx php*-fpm

完成后用 systemctl status nginx 和 systemctl status mariadb(或 mysql)确认服务处于 running 状态。
如果服务启动失败,先检查 80 端口是否被占用、数据库数据目录权限是否正确。

安装 Zabbix Server 与数据库初始化

以 Zabbix 6.0 LTS 为例,先添加官方仓库。
CentOS 下:

rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm
yum clean all
yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent

Ubuntu 下:

wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4+ubuntu22.04_all.deb
dpkg -i zabbix-release_6.0-4+ubuntu22.04_all.deb
apt update
apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent

仓库地址中的版本号和系统代号可能随官方更新变化,如果下载失败,到 Zabbix 官方下载页核对当前可用的 release 包链接。

创建数据库并导入初始数据:

mysql -uroot -p

在 MySQL 提示符下执行:

CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'YourStrongPass';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
SET GLOBAL log_bin_trust_function_creators = 1;
FLUSH PRIVILEGES;
EXIT;

然后导入表结构和初始数据:

zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix

导入过程可能需要几十秒到几分钟,完成后用 mysql -uzabbix -p -e "use zabbix; show tables;" 确认表已存在。
如果导入时报错,多半是数据库字符集或权限问题,回看上面的建库语句。

编辑 Zabbix Server 配置文件,填入数据库密码:

vim /etc/zabbix/zabbix_server.conf

找到 DBPassword= 一行,改为 DBPassword=YourStrongPass,保存后启动服务:

systemctl restart zabbix-server zabbix-agent nginx php-fpm
systemctl enable zabbix-server zabbix-agent nginx php-fpm

配置 Web 前端并登录后台

Zabbix 的 Web 界面依赖 Nginx 和 PHP-FPM 配合。
以 CentOS 为例,官方仓库会提供 /etc/nginx/conf.d/zabbix.conf,通常只需取消 listen 80; 和 server_name 前的注释,然后重启 Nginx:

systemctl restart nginx

Ubuntu 下配置文件在 /etc/zabbix/nginx.conf,需要把它软链接或复制到 Nginx 的站点目录,并确保 PHP-FPM 的 socket 路径与配置一致。

浏览器访问 http://你的服务器IP,会进入 Zabbix 安装向导。
按提示检查 PHP 环境,全部显示 OK 后填写数据库连接信息:

  • Database host:localhost
  • Database name:zabbix
  • User:zabbix
  • Password:刚才设置的数据库密码

下一步设置 Zabbix 服务端名称,默认即可。
完成后用默认账号登录:

  • 用户名:Admin
  • 密码:zabbix

登录后第一件事是修改 Admin 密码,路径在 User settings → Change password。
如果访问页面显示 502,检查 PHP-FPM 是否运行、Nginx 配置里的 fastcgi_pass 地址是否正确;
如果显示数据库连接失败,确认 zabbix_server.conf 和 Web 向导里的密码一致。

添加被监控主机并验证数据采集

Zabbix 默认已把本机作为被监控对象。
要监控其他服务器,需要在被监控端安装 Zabbix Agent,并在服务端添加主机。

在被监控服务器上安装 Agent(以 CentOS 为例):

rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm
yum install -y zabbix-agent

编辑 /etc/zabbix/zabbix_agentd.conf,至少修改两项:

Server=服务端IP
ServerActive=服务端IP
Hostname=本机主机名

启动并设置开机自启:

systemctl enable --now zabbix-agent

回到 Zabbix Web 后台,进入 Configuration → Hosts → Create host,填写主机名称、可见名称,在 Interfaces 中添加 Agent 接口并填写被监控服务器 IP 和端口 10050,选择模板如 Linux by Zabbix agent,保存。
稍等片刻,在 Monitoring → Latest data 中筛选该主机,能看到 CPU、内存、磁盘等数据即表示采集成功。
如果显示红色不可用,先在服务端用 zabbix_get -s 被监控IP -p 10050 -k agent.ping 测试连通性,返回 1 说明 Agent 正常,再检查防火墙是否放行 10050 端口。

新手容易踩的几个坑

  • 数据库密码、Zabbix Server 配置文件、Web 向导三处密码必须一致,改过任意一处都要同步更新。
  • 防火墙未放行 10050 端口是最常见的“主机不可用”原因,firewall-cmd --add-port=10050/tcp --permanent 后记得 reload。
  • PHP 时区未设置会导致 Web 界面报错,在 php.ini 中配置 date.timezone = Asia/Shanghai 并重启 PHP-FPM。
  • 导入数据库时若报 log_bin_trust_function_creators 相关错误,按前面步骤在 MySQL 中临时开启该参数再导入。
  • 生产环境建议把数据库独立部署,并定期备份 zabbix 库,避免监控数据和服务端一起丢失。

常见疑问

Zabbix Server 和 Agent 必须装在同一台机器吗? 不是。
Server 负责收集和展示,Agent 装在被监控主机上,通过 10050 端口上报数据,两者可以跨服务器部署。

没有公网 IP 的内网机器能监控吗? 可以,只要 Server 能通过网络访问到 Agent 的 10050 端口即可,通常是同一内网或通过 VPN 打通。

搭建后如何确认监控真的生效? 登录后台查看 Monitoring → Latest data,能看到目标主机的实时指标且有更新时间,就说明采集链路正常。

Zabbix 和 Prometheus 该选哪个? Zabbix 自带 Web 界面和告警,适合传统服务器监控快速上手;
Prometheus 更适合容器和云原生环境,选型时按现有技术栈和维护成本决定。

完成以上步骤后,你就拥有了一个可用的 Zabbix 监控环境。
建议先监控少量主机跑通流程,再逐步增加模板和告警规则,避免一次性配置过多导致排查困难。

分享到:
上一篇
Harbor镜像仓库搭建:从零部署到推送验证
下一篇
RabbitMQ消息队列配置:零基础安装到收发验证
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意