从小白到精通——Zabbix企业级监控部署全攻略
一、认识 Zabbix
Zabbix 是一款强大的企业级开源监控系统,用于对服务器、网络设备、应用服务等进行 性能监控、数据采集、报警通知与趋势分析。
一句话总结:Zabbix 是“企业运维的千里眼”,实时掌握系统运行状态与资源健康。
核心功能:
-
支持主动与被动监控(Agent/Agentless)
-
自动发现网络与设备
-
自定义触发器和报警策略
-
可视化图表、仪表盘、报表分析
-
支持分布式监控与高可用部署
二、Zabbix 架构原理
┌───────────────────────────┐ │ Zabbix Web UI │ ← 展示监控数据、配置报警 └────────────┬──────────────┘ │ ┌────────────▼──────────────┐ │ Zabbix Server │ ← 核心调度、存储、分析 └────────────┬──────────────┘ │ ┌────────────▼──────────────┐ │ Zabbix Agent │ ← 采集被监控主机指标 └───────────────────────────┘
主要组件:
| 组件 | 说明 |
|---|---|
| Zabbix Server | 核心服务,处理监控数据 |
| Zabbix Agent | 被监控端数据采集 |
| Zabbix Web | Web 管理与展示界面 |
| Zabbix Database | 存储历史与配置数据 |
| Zabbix Proxy | 分布式监控代理(可选) |
三、安装 Zabbix(以 Ubuntu 为例)
1. 安装依赖
sudo apt update sudo apt install apache2 mysql-server php php-mysql php-bcmath php-xml php-ldap php-json php-gd -y
2. 添加 Zabbix 源
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-1+ubuntu22.04_all.deb sudo dpkg -i zabbix-release_7.0-1+ubuntu22.04_all.deb sudo apt update
3. 安装 Zabbix
sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent -y
四、配置数据库
进入 MySQL:
sudo mysql
创建数据库:
create database zabbix character set utf8mb4 collate utf8mb4_bin; create user 'zabbix'@'localhost' identified by 'Zabbix123!'; grant all privileges on zabbix.* to 'zabbix'@'localhost'; quit;
导入初始数据:
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix
五、配置 Zabbix Server
编辑 /etc/zabbix/zabbix_server.conf:
DBPassword=Zabbix123!
启动服务:
sudo systemctl enable zabbix-server zabbix-agent apache2 sudo systemctl start zabbix-server zabbix-agent apache2
六、访问 Web 管理界面
浏览器打开:
http://<your-server-ip>/zabbix
默认账号:
用户名:admin 密码:zabbix
配置完成后可看到 Zabbix 仪表盘。
七、安装 Zabbix Agent(被监控端)
在目标主机执行:
sudo apt install zabbix-agent -y
修改 /etc/zabbix/zabbix_agentd.conf:
Server=192.168.1.100 ServerActive=192.168.1.100 Hostname=web01
启动:
sudo systemctl enable zabbix-agent sudo systemctl start zabbix-agent
Zabbix Server 即可监控该主机。
八、添加监控主机
Web 界面:
Configuration → Hosts → Create host
填写:
-
Hostname: web01
-
Groups: Linux servers
-
Agent interface: 192.168.1.101:10050
-
Template: “Template OS Linux by Zabbix agent”
保存后等待数据采集即可。
九、监控指标
| 类型 | 示例指标 | 含义 |
|---|---|---|
| CPU | system.cpu.util[,user] |
用户态 CPU 使用率 |
| 内存 | vm.memory.size[available] |
可用内存 |
| 磁盘 | vfs.fs.size[/,free] |
磁盘剩余空间 |
| 网络 | net.if.in[eth0] |
网络流量 |
| 进程 | proc.num[nginx] |
进程数量 |
| 服务 | net.tcp.service[http] |
HTTP 端口状态 |
参考案例:www.pcobio.cn
十、自定义监控项(UserParameter)
编辑 Agent 配置:
vim /etc/zabbix/zabbix_agentd.conf
添加:
UserParameter=nginx.status,/usr/bin/curl -s http://127.0.0.1/nginx_status | grep Active | awk '{print $3}'
重启 Agent:
systemctl restart zabbix-agent
在 Zabbix Web 中添加 Key:nginx.status
十一、触发器与告警
触发器示例:
{web01:system.cpu.util[,user].avg(5m)}>80
表示过去 5 分钟 CPU 使用率超过 80%。
邮件报警配置:
Administration → Media types → Email
设置 SMTP 地址、发件邮箱、授权码。
在用户配置中绑定报警媒介:
Users → admin → Media
十二、自动发现(Auto Discovery)
配置路径:
Configuration → Discovery → Create discovery rule
可自动扫描 IP 段:
192.168.1.1-192.168.1.255
自动添加主机并应用模板。
十三、模板(Template)管理
模板是监控项、触发器、图形、应用集的集合。
常用模板:
-
Template OS Linux
-
Template DB MySQL
-
Template App Nginx
-
Template App Docker
导入模板:
Configuration → Templates → Import
十四、Zabbix 与 SNMP 监控
安装 SNMP 支持:
sudo apt install snmp snmp-mibs-downloader
配置:
- job_name: "switch" static_configs: - targets: ["192.168.1.200:161"]
可监控网络设备流量、端口状态、CPU 使用率等。
十五、Zabbix 与 Grafana 集成
Grafana 安装 Zabbix 插件:
grafana-cli plugins install alexanderzobnin-zabbix-app
重启 Grafana:
sudo systemctl restart grafana-server
在 Grafana 中添加数据源:
Type: Zabbix URL: http://<zabbix-server>/api_jsonrpc.php
即可使用 Grafana 可视化展示 Zabbix 数据。
十六、Zabbix Proxy 分布式部署
当服务器数量多、网络分区时使用 Proxy。
安装:
sudo apt install zabbix-proxy-mysql -y
配置:
Server=192.168.1.100 Hostname=proxy-site1 DBPassword=Zabbix123!
Proxy 将数据批量传给 Server,减轻主服务器压力。
十七、Zabbix API
查询主机列表:
curl -X POST -H "Content-Type: application/json" -d '{ "jsonrpc": "2.0", "method": "host.get", "params": { "output": ["hostid", "name"] }, "auth": "API_TOKEN", "id": 1 }' http://localhost/zabbix/api_jsonrpc.php
API 可与 Python、Jenkins、Prometheus 等系统集成。
十八、性能优化
| 优化项 | 建议 |
|---|---|
| 数据库优化 | 定期清理历史数据 |
| 压缩数据 | 启用 housekeeper 清理规则 |
| 调整采集间隔 | 非关键指标设为 60s+ |
| 启用缓存 | 调整 CacheSize 参数 |
| 分布式代理 | 使用 Proxy 分担负载 |
十九、Zabbix 高可用部署
使用两台 Zabbix Server:
-
通过 Keepalived 实现 VIP 高可用
-
数据库与存储共享
-
Proxy 连接到 VIP
示例 Keepalived 配置:
vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 virtual_ipaddress { 192.168.1.100 } }
二十、完整实战项目:企业级监控体系
目标:
搭建一套 Zabbix + Grafana + Alertmanager 的全栈监控与报警系统。
架构:
[Web Servers][DB Servers][Docker Nodes] │ ▼ [Zabbix Agent]──→[Zabbix Server] │ ▼ [Grafana Dashboard] │ ▼ [Alertmanager 邮件/钉钉通知]
监控范围:
-
CPU、内存、磁盘、进程、端口状态
-
Web 服务存活与延迟
-
数据库连接数与 QPS
-
容器运行状态
告警策略:
-
CPU > 80%(Warning)
-
Memory > 90%(Critical)
-
Nginx Down(High)
结果:
-
Web 端统一展示运行状态
-
Grafana 实时大屏监控趋势
-
异常自动邮件通知
-
所有节点集中管理与备份
更多推荐

所有评论(0)