前言
最近需要监控一台华为 S5720S-52X-LI-AC 交换机的流量情况。环境是这样的:Zabbix 服务器部署在 Proxmox VE 上的 Ubuntu 24.04 虚拟机,IP 为 172.16.11.27;交换机管理 IP 为 10.10.1.235,两个设备不在同一个网段。
本以为是个简单的任务,结果一路踩坑:网络不通、SNMP 认证失败、超时无响应……这篇文章记录了完整的解决过程,希望对你有帮助。
一、环境说明
监控协议:SNMPv3(认证 + 加密,authPriv)
二、Zabbix 服务器搭建
2.1 安装 Zabbix 7.0 LTS
# 下载并安装 Zabbix 官方仓库
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0+ubuntu24.04_all.deb
sudo dpkg -i zabbix-release_latest_7.0+ubuntu24.04_all.deb
sudo apt update
# 安装 Zabbix Server、前端、Agent 及 SNMP 工具
sudo apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent2 snmpd snmp2.2 配置数据库
# 导入初始数据
sudo zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix2.3 配置 Zabbix Server
sudo nano /etc/zabbix/zabbix_server.conf
# 修改 DBPassword=your_password2.4 配置 Nginx
sudo nano /etc/zabbix/nginx.conf
# 修改 server_name 为你的服务器 IP,listen 端口可改为 80802.5 启动服务
sudo systemctl restart zabbix-server zabbix-agent2 nginx php8.3-fpm
sudo systemctl enable zabbix-server zabbix-agent2 nginx php8.3-fpm2.6 Web 安装
访问 http://你的服务器IP:8080,按向导完成安装。默认账号:Admin / zabbix。
⚠️ 登录后第一件事:修改 Admin 密码!

三、华为交换机 SNMPv3 配置
3.1 通过 Web 界面配置
3.2 ⚠️ 关键:配置默认网关
跨网段监控时,交换机必须有回程路由。在交换机 CLI 或 Web 界面添加静态路由:
text
ip route-static 0.0.0.0 0.0.0.0 10.10.1.254没有这条路由,请求能到,响应回不来 → 永远 Timeout
四、核心问题与解决方案
4.1 问题一:网络不通,snmpget Timeout
现象:ping 交换机丢包,snmpget 超时
原因:交换机没有默认网关,跨网段通信时响应无法返回
解决:添加静态路由 0.0.0.0 0.0.0.0 → 10.10.1.254
4.2 问题二:SNMP Authentication failure
现象:网络通了,但认证失败
原因:认证协议命名差异
解决:Zabbix 中选择 SHA1
4.3 问题三:Use combined requests
现象:配置看起来都对,Zabbix 主机状态还是红色
解决:在 SNMP 接口配置中,勾选 Use combined requests
五、使用官方模板:Huawei VRP by SNMP
5.1 为什么使用官方模板
Zabbix 官方提供了 Huawei VRP by SNMP 模板,专门为华为 VRP 系统设备设计。该模板包含:
使用官方模板的优势:
无需手动创建监控项和 OID
监控项经过官方测试,准确可靠
自带触发器和图形,开箱即用
5.2 关联模板到主机
进入
数据采集→主机,点击你的交换机yxwa-sw-5点击
模板选项卡点击
链接新模板搜索
Huawei VRP by SNMP并勾选点击
选择点击
更新
5.3 ⚠️ 模板冲突处理
如果之前手动创建过 CPU、内存、温度等监控项,关联模板后会出现重复。解决方法:
在主机
监控项选项卡中,勾选手动创建的监控项点击
删除保留模板自动创建的监控项
5.4 模板自带的宏变量
关联模板后,可以根据需要调整告警阈值:
修改方法:进入主机 → 宏 选项卡 → 添加或修改对应宏。
六、仪表盘搭建
6.1 创建仪表盘
进入 仪表盘 → 创建仪表盘,命名为 Network Devices。
6.2 添加核心仪表(Gauge)
添加三个仪表盘组件:



仪表盘的成果图

七、Switch Widget 专业端口面板
这是整个监控系统的亮点,能把交换机端口模拟成实物图,用颜色直观显示端口状态和流量负载。
7.1 选择 Widget 版本
经过对比,我选择了社区活跃维护的版本:
项目地址:https://github.com/canghai908/zabbix-widget-switch
7.2 安装 Switch Widget
# 进入 Zabbix 模块目录
cd /usr/share/zabbix/modules
# 下载项目
sudo git clone https://github.com/canghai908/zabbix-widget-switch.git switchpanel
# 设置权限
sudo chown -R www-data:www-data switchpanel
sudo chmod -R 755 switchpanel
# 重启服务
sudo systemctl restart zabbix-server nginx php8.3-fpm7.3 在 Web 界面启用模块
登录 Zabbix Web 界面
进入
管理→常规→模块点击
扫描目录找到
Switch Panel模块,点击启用
7.4 配置 Switch Widget
在仪表盘中添加 Switch Panel 组件,按以下配置填写:
7.5 ⚠️ 关于端口索引
该版本没有 Port index start 配置项,默认端口索引从 1 开始。如果你的环境端口索引不是从 1 开始(例如端口 1 的索引是 5),可能需要对键值进行适配。
7.6 实现效果
配置成功后,Widget 会自动:
✅ 发现所有端口
✅ 根据状态显示颜色(绿色=up / 红色=down / 灰色=未使用)
✅ 根据流量负载显示热力图(绿色<5% / 黄色≥40% / 红色≥70%)
✅ 鼠标悬停显示详细信息
八、最终监控效果
8.1 仪表盘布局

从零搭建 Zabbix 7.0 监控华为交换机 SNMPv3 完整实战
本文采用 CC BY-NC-SA 4.0 协议,转载请注明出处。
评论交流
欢迎留下你的想法