以下是在CentOS Stream 10上部署Zabbix 7.0监控平台,并配置多种监控目标的完整操作指南:
一、Zabbix 7.0 基础环境部署
1. 系统准备
# 更新系统
sudo dnf update -y
sudo reboot
# 安装基础依赖
sudo dnf install -y epel-release vim wget curl net-tools
# 关闭防火墙(生产环境需配置规则)
sudo systemctl stop firewalld
sudo systemctl disable firewalld
2. 安装数据库(MySQL 8.0)
# 添加MySQL官方仓库
sudo rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm
# 安装MySQL
sudo dnf install -y mysql-server mysql-devel
# 启动服务
sudo systemctl start mysqld
sudo systemctl enable mysqld
# 获取初始密码
sudo grep 'temporary password' /var/log/mysqld.log
# 安全配置
sudo mysql_secure_installation
3. 安装Zabbix服务端
# 添加Zabbix仓库
sudo rpm -ivh https://repo.zabbix.com/zabbix/7.0/rhel/10/x86_64/zabbix-release-7.0-1.el10.noarch.rpm
# 安装组件
sudo dnf install -y zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent
# 创建数据库
mysql -uroot -p
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'Zabbix@SecurePass123';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
FLUSH PRIVILEGES;
EXIT;
# 导入初始数据
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix
# 配置Zabbix服务端
sudo vim /etc/zabbix/zabbix_server.conf
'''
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=Zabbix@SecurePass123
'''
# 启动服务
sudo systemctl start zabbix-server zabbix-agent
sudo systemctl enable zabbix-server zabbix-agent
4. 配置Web前端
# 配置PHP参数
sudo vim /etc/php-fpm.d/zabbix.conf
'''
php_value[max_execution_time] = 300
php_value[memory_limit] = 256M
php_value[post_max_size] = 32M
php_value[upload_max_filesize] = 16M
'''
# 启动服务
sudo systemctl start php-fpm nginx
sudo systemctl enable php-fpm nginx
# 访问Web界面
http://服务器IP/zabbix
二、Windows主机监控配置
1. 客户端安装
-
下载Zabbix Agent 7.0 Windows版:
https://www.zabbix.com/download_agents -
安装时配置参数:
Server=Zabbix服务器IP ServerActive=Zabbix服务器IP Hostname=Windows主机唯一标识
-
开放防火墙端口:
New-NetFirewallRule -DisplayName "Zabbix Agent" -Direction Inbound -Protocol TCP -LocalPort 10050 -Action Allow
2. Zabbix控制台配置
-
登录Web界面 → 配置 → 主机 → 创建主机
-
基本信息:
-
主机名称:Windows主机名
-
可见名称:显示名称
-
群组:Windows servers
-
-
模板:
Template OS Windows by Zabbix agent
三、Linux主机监控配置
1. 客户端安装(被监控端执行)
# 添加仓库
sudo rpm -ivh https://repo.zabbix.com/zabbix/7.0/rhel/10/x86_64/zabbix-release-7.0-1.el10.noarch.rpm
# 安装Agent
sudo dnf install -y zabbix-agent
# 配置Agent
sudo vim /etc/zabbix/zabbix_agentd.conf
'''
Server=Zabbix服务器IP
ServerActive=Zabbix服务器IP
Hostname=Linux主机唯一标识
'''
# 启动服务
sudo systemctl restart zabbix-agent
sudo systemctl enable zabbix-agent
2. Zabbix控制台配置
-
模板:
Template OS Linux by Zabbix agent
四、网络设备监控(华三/华为/思科/锐捷)
1. 设备端配置(以华为为例)
# 华为设备配置
snmp-agent
snmp-agent sys-info version v2c
snmp-agent community read cipher Zabbix@SNMP123
snmp-agent trap enable
snmp-agent target-host trap address udp-domain Zabbix服务器IP params securityname Zabbix@SNMP123 v2c
2. Zabbix配置
-
创建主机时选择模板:
-
通用模板:
Template SNMP Device
-
厂商专用模板(需手动导入):
-
思科:
Template CISCO SNMP
-
华为:
Template HUAWEI SNMP
-
-
-
SNMP设置:
SNMP community: Zabbix@SNMP123 SNMP version: v2c
五、Docker容器监控
1. 安装Zabbix Agent2(支持Docker)
sudo dnf install -y zabbix-agent2
sudo systemctl restart zabbix-agent2
2. 配置容器监控
# 修改Agent2配置
sudo vim /etc/zabbix/zabbix_agent2.conf
'''
Plugins.Docker.Endpoint=unix:///var/run/docker.sock
'''
# 添加监控项
UserParameter=docker.containers.discovery,/usr/bin/docker ps -a --format "{{.ID}} {{.Names}}"
3. 使用模板
-
导入模板:
Template App Docker by Zabbix agent2
-
自动发现容器并监控资源使用
六、WEB应用监控(HTTP/HTTPS)
1. 创建Web场景
-
配置 → 主机 → Web场景 → 创建场景
-
配置参数:
Name: Production Web Check Application: Web Services Interval: 1m Retries: 3 Steps: - Name: Homepage URL: https://yourdomain.com Required: HTTP 200 OK SSL verify: No - Name: API Check URL: https://api.yourdomain.com/health Post: {"action":"ping"} Headers: Content-Type: application/json
七、阿里云资源监控
1. 获取阿里云凭证
-
登录阿里云控制台 → RAM访问控制
-
创建子账号并授予
AliyunCloudMonitorReadOnlyAccess
权限
2. Zabbix配置
# 安装云监控插件
sudo dnf install -y zabbix-cloud-plugin
# 配置阿里云连接
sudo vim /etc/zabbix/zabbix_cloud.conf
'''
[alibaba]
access_key_id = YOUR_ACCESS_KEY
access_key_secret = YOUR_SECRET_KEY
region_id = cn-hangzhou
'''
3. 使用模板
-
导入模板:
Template Cloud Alibaba by HTTP
-
自动发现ECS/RDS/SLB等资源
八、高级配置验证
1. 监控项测试
# 手动测试SNMP采集
snmpwalk -v 2c -c Zabbix@SNMP123 设备IP 1.3.6.1.2.1.1.1.0
# 检查Agent连通性
zabbix_get -s 客户端IP -k system.cpu.util[,idle]
2. 故障排查命令
# 查看Zabbix日志
tail -f /var/log/zabbix/zabbix_server.log
# 检查数据库连接
mysql -uzabbix -p -e "SHOW STATUS LIKE 'Threads_connected'"
九、安全加固建议
1. 网络设备监控安全
# 使用SNMPv3替代v2c
snmp-agent sys-info version v3
snmp-agent group v3 zabbix_group privacy
snmp-agent usm-user v3 zabbix_user zabbix_group auth SHA Zabbix@Auth123 priv AES Zabbix@Priv123
2. Zabbix服务端加固
# 配置HTTPS访问
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl.key -out /etc/nginx/ssl.crt
# 修改Nginx配置
sudo vim /etc/nginx/conf.d/zabbix.conf
'''
listen 443 ssl;
ssl_certificate /etc/nginx/ssl.crt;
ssl_certificate_key /etc/nginx/ssl.key;
'''
最终效果验证:
-
所有监控主机状态显示为绿色
-
网络设备接口流量图表正常生成
-
Docker容器指标每秒更新
-
阿里云资源使用率告警触发正常
-
Web场景可用性监测显示100%成功率
遇到具体设备兼容性问题时,建议通过snmpwalk
命令验证基础SNMP通信,再检查Zabbix模板中的OID配置是否与设备匹配。