☰
Zabbix 监控华为 Quidway S5600 系列交换机:community-templates 官方模板的部署、指标与告警全解析
2026/10/17 6:38:23 网站建设 项目流程

【免费下载链接】community-templates

Zabbix Community Templates repository

项目地址:https://gitcode.com/gh_mirrors/co/community-templates
点击查看免费下载

本篇技术指南以 Zabbix Community Templates 仓库中 template_huawei_quidway_s5600_series_switches 模板为核心,介绍如何通过 SNMP 对华为 Quidway S5600 系列二层/三层交换机进行全端口监控。读完本文,你将掌握该模板的安装导入、主机与 SNMP 宏配置、每端口五大类指标(管理/运行状态、收发字节、收发错误)的采集原理、内置触发器(CRC 错误、端口 down、交换机重启)的告警规则,以及其底层 OID 与 Zabbix 预处理机制。

模板概览:监控对象与能力边界

该模板由 Fedor Katilov 编写,针对华为 Quidway S5600 系列交换机设计,其监控能力分为三个层次(依据 6.0/README.md 的 Overview):

  1. 设备通用信息:Uptime(运行时长)、SysName(系统名)、接口总数(ifNumber);
  2. 逐端口接口指标:每个端口的管理状态(Admin Status)与运行状态(Oper Status)、收发字节数(Bytes Tx/Rx)、收发错误数(Errors TX/RX);
  3. 告警与可视化:CRC 错误 RX/TX 触发器、端口 down 触发器、交换机重启触发器,以及每个接口的收发流量统计图。

从 6.0 模板 YAML 的统计结果看,模板共包含约 170 个监控项、85 个触发器表达式和 28 张图形(每端口 1 张),覆盖 GE01~GE28 共 28 个千兆以太网端口。

版本兼容性:README 中作者注明"可能在更早的 Zabbix 版本上可用,但作者在 4.0 上测试过"。仓库为同一模板提供了 5.0 XML 版本、5.4 YAML 版本 与 6.0 YAML 版本,可按实际 Zabbix 版本选择导入。

部署准备:导入模板与配置 SNMP 宏

导入模板

  1. 打开 Zabbix Web 前端 →Data collection → Templates;
  2. 点击右上角Import,选择对应版本的模板文件:
    • Zabbix 5.0:template_huawei_quidway_s5600_series_switches.xml
    • Zabbix 5.4 / 6.0:template_huawei_quidway_s5600_series_switches.yaml
  3. 导入后模板归属Network模板组(见 YAML 中groups定义)。

配置主机与宏

模板基于 SNMP agent 采集(所有条目类型均为SNMP_AGENT),因此:

  • 在交换机上开启 SNMP(建议至少 v2c,配置可读写或只读 community);
  • 在 Zabbix 中为主机添加SNMP 接口(IP 与端口 161);
  • 在主机的宏(Macros)层面配置模板使用的宏。

这里需要特别注意一个细节:README 的 Overview 中作者提示"需要在主机上定义{$SNMP\_COMMUNITY}",而模板自身定义的宏(见 6.0 YAML 的 macros 段)为:

宏名描述默认值类型
{$COMMUNITY_NAME}-(空)Text macro

在 Zabbix 中,SNMP 接口的默认 community 宏是{$SNMP_COMMUNITY},因此实际部署时建议将{$SNMP_COMMUNITY}与{$COMMUNITY_NAME}均设置为交换机的实际 community 值(例如public),保证接口探测与 SNMP 监控项都能正常取值。

快速验证采集

导入并关联模板后,可在Monitoring → Latest data观察是否出现数据;若显示 "Not supported",通常是 community 不匹配或交换机未开放对应 SNMP 权限。可使用 snmpwalk 先行验证(命令仅为运维验证手段,非模板自带功能):

snmpwalk -v2c -c <community> <switch_ip> 1.3.6.1.2.1.2.2.1

通用信息指标:设备健康基线

模板对每台交换机采集 4 个基础条目,构成设备级监控基线。以下信息来自 6.0 YAML 中对应条目:

监控项名称监控项 KeySNMP OID更新间隔说明
UptimehUptimeiso.3.6.1.2.1.1.3.0(sysUpTime)30s交换机运行时长,带预处理
SysNameiso.3.6.1.2.1.1.5.0iso.3.6.1.2.1.1.5.0(sysName)3600s系统名,TEXT 类型,不存趋势(trends: '0')
Number of interfacesifNumber.0.1.3.6.1.2.1.2.1.03600s接口总数
CPU medium load.1.3.6.1.2.1.25.3.3.1.2.1.3.6.1.2.1.25.3.3.1.2(HOST-RESOURCES-MIB 处理器负载)60sCPU 平均负载,标签 Application=CPU

其中Uptime条目值得展开:它配置了一个MULTIPLIER预处理步骤,参数为0.0166666666666667。SNMP 标准中 sysUpTime 的单位是百分之一秒(1/100 s),乘以 0.0166667 相当于除以 60,将原始计数换算为分钟。正是基于这一换算,模板才能用last(...) < 600(即小于 600 分钟 ≈ 10 小时)来判断"交换机刚重启"。

逐端口指标体系:28 端口的五维监控

模板的核心是围绕 GE01~GE28 共 28 个端口构建的逐端口监控,每端口 5 类条目,全部为SNMP_AGENT类型、更新间隔 30s。这 5 类条目与 IF-MIB(RFC 2863/2864)标准 OID 一一对应:

指标类别监控项命名监控项 KeyIF-MIB OID标签(Application)
管理状态Admin Status port GExxifAdminStatus..1.3.6.1.2.1.2.2.1.7.Interfaces
运行状态Oper status port GExxifOperStatus..1.3.6.1.2.1.2.2.1.8.Operational Status
接收字节Bytes Rx GExxifInOctets..1.3.6.1.2.1.2.2.1.10.Interfaces
发送字节Bytes Tx GExxifOutOctets..1.3.6.1.2.1.2.2.1.16.Interfaces
接收错误Errors RX port GExxifInErrors..1.3.6.1.2.1.2.2.1.14.CRC Errors Rx
发送错误Errors TX port GExxifOutErrors..1.3.6.1.2.1.2.2.1.20.CRC Errors Tx

说明:IF-MIB 中的ifInErrors/ifOutErrors是含 CRC 在内的接收/发送错误计数器,模板据此命名触发器为 "CRC Errors"。ifAdminStatus/ifOperStatus分别返回 1=up、2=down 等枚举值。

端口 ifIndex 映射表

该模板的显著特点是所有监控项均以硬编码的 ifIndex 后缀生成 key(如ifInOctets.4227625),因此 ifIndex 是理解整套 key 的关键。GE01~GE28 在模板中对应的 ifIndex 如下(从 6.0 YAML 各条目snmp_oid归纳):

端口ifIndex端口ifIndex端口ifIndex端口ifIndex
GE014227625GE084227681GE154227737GE224227793
GE024227633GE094227689GE164227745GE234227801
GE034227641GE104227697GE174227753GE244227809
GE044227649GE114227705GE184227761GE254227817
GE054227657GE124227713GE194227769GE264227825
GE064227665GE134227721GE204227777GE274227833
GE074227673GE144227729GE214227785*GE284227841

* 注意:模板中 GE21 存在一处 ifIndex 不一致——Admin Status/Bytes相关条目使用4227787,而Errors/Oper status条目使用4227785(分别见 YAML 第 296-313 行 与 Errors RX GE21 条目)。另外Port GE20 stats、Port GE27 stats两张图形引用的 ifIndex 也与对应端口条目不完全一致。这些属于模板历史遗留细节,部署时若设备 ifIndex 与模板不一致,需按实际环境调整(详见下文"局限与适配")。

典型监控项示例

以 GE01(ifIndex 4227625)为例,模板实际生成的条目组合如下:

Admin Status port GE01 → ifAdminStatus.4227625 (30s) Oper status port GE01 → ifOperStatus.4227625 (30s) Bytes Rx GE01 → ifInOctets.4227625 (30s, units: bps) Bytes Tx GE01 → ifOutOctets.4227625 (30s, units: bps) Errors RX port GE01 → ifInErrors.4227625 (30s) Errors TX port GE01 → ifOutErrors.4227625 (30s)

值得注意的底层细节:ifInOctets/ifOutOctets条目均设置了units: bps(见 YAML 中 Bytes 系列条目),表明这些计数器在 Zabbix 中按比特/秒的速率语义展示流量;四个状态/错误类条目则未设置单位,直接呈现原始计数。

触发器与告警体系:三层故障发现

README 的 "Triggers" 章节标注"本模板无触发器",但这一描述与仓库实际导出内容不符——6.0 YAML 中共含 85 个触发器表达式(5.0 XML 中同样统计到 85 个<trigger>),分属三个层级。以实际导出的 YAML 为准,模板内置告警如下:

1. CRC 错误告警(HIGH,56 个)

每端口的ifInErrors与ifOutErrors各配一个触发器,当错误计数最新值大于 100时触发:

last(/Huawei Quidway S5600 series switches/ifInErrors.4227625)>100 → "CRC Errors Rx on port GE01"(HIGH) last(/Huawei Quidway S5600 series switches/ifOutErrors.4227625)>100 → "CRC Errors Tx on port GE01"(HIGH)

该阈值 100 是模板作者给定的固定经验值,部署时可根据网络质量在触发器表达式层面自行调整。

2. 端口 down 告警(INFO,28 个)

每端口一个,基于 IF-MIB 语义——ifOperStatus枚举值为 2 表示 down:

last(/Huawei Quidway S5600 series switches/ifOperStatus.4227625)=2 → "Port GE01 status down on {HOSTNAME}"(INFO)

3. 交换机重启告警(AVERAGE,1 个)

基于 Uptime 换算后的分钟值:

last(/Huawei Quidway S5600 series switches/hUptime)<600 → "{HOSTNAME} has just been restarted"(AVERAGE)

由于 Uptime 经MULTIPLIER 0.0166666666666667预处理为分钟,该表达式等效于"运行时间不足 600 分钟(10 小时)判定为刚重启",可在设备意外重启后第一时间感知。

发现规则:为接口自动化扩展预留的钩子

模板中定义了一条名为Network interfaces的 SNMP 发现规则(YAML discovery_rules 段):

| 属性 | 值 | | ---- | -- | | 名称 | Network interfaces | | 类型 | SNMP agent | | SNMP OID | .1.3.6.1.4.1.2011.6.3.4.1.2.0.0.0 | | Key | ifDescr | | 更新间隔 | 1h | | 描述 | 根据过滤需求,你也可以考虑使用 IF-MIB::ifType 或 IF-MIB::ifAlias 进行发现 |

从 OID 前缀1.3.6.1.4.1.2011可以推断,这是华为私有 MIB中的接口描述类对象,用于枚举交换机上的物理接口。模板作者在描述中明确提示:可按过滤需求改用标准 IF-MIB 的ifType(接口类型)或ifAlias(接口别名)作为发现数据源。需要说明的是,当前 6.0 版本模板未挂载任何 item/trigger prototype(5.0 XML 中item_prototype与trigger_prototype计数均为 0),即该发现规则目前是"预留钩子",尚未基于其自动生成动态监控项——这也是理解模板架构现状的关键一点。

图形:每端口收发流量可视化

模板为 GE01~GE28 各定义了一张名为Port GExx stats的图形(共 28 张,见 YAML graphs 段),每张图包含两条曲线:

  • ifOutOctets.(发送,颜色1A7C11绿色,sortorder 0)
  • ifInOctets.(接收,颜色F63100红色,sortorder 1)

图形 Y 轴最小值设为FIXED(ymin_type_1: FIXED),保证流量低谷不会因自动缩放而被拉伸失真。以 GE01 为例,图形定义如下(节选自 YAML):

- name: 'Port GE01 stats' ymin_type_1: FIXED graph_items: - color: 1A7C11 item: { host: 'Huawei Quidway S5600 series switches', key: ifOutOctets.4227625 } - sortorder: '1' color: F63100 item: { host: 'Huawei Quidway S5600 series switches', key: ifInOctets.4227625 }

在 Zabbix 中打开主机 →Host graphs,即可按端口逐一查看收发流量的实时曲线与历史趋势。

局限与适配建议

基于仓库文件的事实核查,该模板存在以下几点需要部署者注意的特性:

  1. ifIndex 硬编码:全部 140 个端口监控项(28 端口 × 5 类)都以固定 ifIndex 生成 key,一旦目标设备的实际 ifIndex 与模板不符(不同型号、不同板卡布局),需手动批量修改或改用发现规则动态生成;
  2. README 与导出内容不一致:README 的 Triggers 章节显示"无触发器",但 5.0/6.0 导出文件实际包含 85 个触发器;README 的 Items 表格也未完整收录图形与发现规则。以仓库导出的 YAML/XML 为准;
  3. 宏命名差异:README 概述提到{$SNMP_COMMUNITY},模板内部定义的宏为{$COMMUNITY_NAME},部署时建议两者都配置;
  4. 个别 ifIndex 瑕疵:GE21 端口的状态/字节条目与错误条目使用了不同 ifIndex(4227787 vs 4227785),Port GE20 stats、Port GE27 stats图形引用的索引也与端口条目不一致,属于模板历史遗留问题;
  5. 发现规则未产出原型:Network interfaces 发现规则目前无 item/trigger prototype 跟随,主要起接口枚举与后续扩展的占位作用。

小结

template_huawei_quidway_s5600_series_switches为华为 Quidway S5600 系列交换机提供了开箱即用的 SNMP 监控方案:以标准 IF-MIB 的ifAdminStatus/ifOperStatus/ifInOctets/ifOutOctets/ifInErrors/ifOutErrors六大 OID 为核心,覆盖 GE01~GE28 每端口的运行状态、流量与错误统计,并通过 85 个内置触发器实现 CRC 错误、端口宕机与设备重启三类告警,配合 28 张端口流量图完成可视化。部署时只需导入对应版本的 YAML(或 5.0 XML)、配置 SNMP 接口与 community 宏即可投入生产。若你的设备 ifIndex 与模板预设不一致,可依据本文提供的索引映射表快速完成适配。

【免费下载链接】community-templates

Zabbix Community Templates repository

项目地址:https://gitcode.com/gh_mirrors/co/community-templates
点击查看免费下载
上一篇:深度解析 TypeScript 联合类型转交叉类型:type-challenges 第 55 题 UnionToIntersection 实现原理
下一篇:Rerun C++ 零拷贝可视化立体视觉 SLAM:KITTI 车辆轨迹与三维点云的可视化实现解析

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询