☰
Zabbix 监控 Cisco SG500/SG500X 系列交换机:SG500X_48P 社区模板实战指南(SNMP 硬件健康与端口流量监控)
2026/10/17 6:14:21 网站建设 项目流程

【免费下载链接】community-templates

Zabbix Community Templates repository

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

导读

本文围绕 community-templates 仓库中 Cisco SG500X_48P 模板,系统讲解如何借助该 Zabbix 模板对 Cisco SG500 / SG500X 系列交换机进行 SNMP 监控。模板覆盖风扇(Cooler/FAN)、设备可用性与延迟、端口出入流量与错误包、CPU、温度、端口速率/MTU/运行状态等 8 大类指标,本文将从导入部署、监控项清单、OID 与预处理原理到扩展建议逐一展开,读完即可上手部署并理解每个监控项的底层取值逻辑。

一、模板概览:它到底监控什么

模板名称为SG500X_48P,由社区作者 Magno Monte Cerqueira(昵称 magnopeem)编写并分享,原始 README 中明确列出了模板所监控的 8 项内容:

  1. Cooler(风扇 / FAN)
  2. Disponibilidade(可用性)
  3. Latencia(延迟)
  4. Pacotes de entrada(入方向数据包)
  5. Pacotes de Saida(出方向数据包)
  6. Temperatura(温度)
  7. Trafego de entrada(入方向流量)
  8. Trafego de saida(出方向流量)

仓库在 Network_Devices/Cisco/template_cisco_sg500_48p 目录下同时维护了三个 Zabbix 版本:

Zabbix 版本模板文件说明
5.0template_cisco_sg500_48p.xmlXML 格式导出
5.4template_cisco_sg500_48p.yamlYAML 格式导出(导出时间 2021-11-21)
6.0template_cisco_sg500_48p.yamlYAML 格式导出

三个版本的监控项完全一致,仅格式与zabbix_export.version不同,可按你的 Zabbix 主版本选择对应文件。

二、快速上手:导入模板并关联主机

1. 导入模板

在 Zabbix Web 前端中进入配置(Configuration)→ 模板(Templates)→ 导入(Import),选择对应版本的模板文件即可:

  • Zabbix 5.4 / 6.0:导入 5.4 或 6.0 的 YAML 文件;
  • Zabbix 5.0:导入 5.0 的 XML 文件。

导入成功后,模板列表会出现SG500X_48P。从 YAML 导出结构看(template_cisco_sg500_48p.yaml),模板归属于默认的Templates组。

2. 关联主机与 SNMP 接口配置

模板中的全部采集项都以SNMP agent或Simple check(ICMP)方式工作,因此主机侧需要:

  • 在主机(Host)配置中为该交换机添加SNMP 接口(IP 地址、端口默认 161、SNMP 版本需与设备一致,通常为 v2c);
  • 关联模板SG500X_48P;
  • 确认 SNMP Community。由于模板没有定义任何宏(README 与 YAML 中Macros used均为空),SNMP 读取凭据将使用 Zabbix 全局宏{$SNMP_COMMUNITY}(默认值public)。若设备使用了非默认 community,请在主机或模板层级覆盖该宏。

3. 关于接口索引(ifIndex)的核对

模板中的端口监控项针对两个固定接口写死:GigabitEthernet 1/1/1(ifIndex = 49)与TenGigabitEthernet 1/1/1(ifIndex = 107),对应 SG500X-48P 的千兆接入端口与万兆上联端口。不同批次或配置的设备其 ifIndex 可能不一致,建议导入后用 snmpwalk 核对:

snmpwalk -v2c -c public <switch-ip> IF-MIB::ifName

确认ifIndex 49与107确实对应GigabitEthernet 1/1/1和TenGigabitEthernet 1/1/1;如果不一致,需要在导入后修改相应监控项的 OID/Key 后缀。

三、监控项全景:24 个采集项完整清单

模板共采集24 个监控项,下表完整列出每个监控项的名称(保留原始葡萄牙语命名,附中文释义)、类型、Key 与更新间隔,与 README 的 Items collected 表完全对应:

监控项名称(原文 / 中文)类型Key更新间隔
Ping(可用性)Simple checkicmpping30s
Ping por Segundo(延迟)Simple checkicmppingsec30s
Tempo Ligado(运行时间)SNMP agentsystem.uptime60s
CPU(CPU 使用率)SNMP agent.1.3.6.1.4.1.9.9.109.1.1.1.1.5120s
Temperatura(温度)SNMP agententPhySensorValue.68420481120s
Fan 01(风扇 1)SNMP agentrlEnvMonFanState.67109250600s
Fan 02(风扇 2)SNMP agentrlEnvMonFanState.67109251600s
Fan 03(风扇 3)SNMP agentrlEnvMonFanState.67109252600s
Fan 04(风扇 4)SNMP agentrlEnvMonFanState.67109253600s
Fan 05(风扇 5)SNMP agentrlEnvMonFanState.67109254600s
Fan 06(风扇 6)SNMP agentrlEnvMonFanState.67109255600s
Estado operacional GigabitEthernet 1/1/1(端口操作状态)SNMP agentifOperStatus.4960s
Velocidade da Porta GigabitEthernet 1/1/1(端口速率)SNMP agentifSpeed.4960s
Velocidade Porta GigabitEthernet 1/1/1 MTU(端口 MTU)SNMP agentifMtu.4960s
Tráfego de entrada GigabitEthernet 1/1/1(入方向流量)SNMP agentifInOctets.4960s
Tráfego de saída GigabitEthernet 1/1/1(出方向流量)SNMP agentifOutOctets.4960s
Pacotes de entrada com erro GigabitEthernet 1/1/1(入方向错误包)SNMP agentifInErrors.4960s
Pacotes de saída com erro GigabitEthernet 1/1/1(出方向错误包)SNMP agentifOutErrors.4960s
Velocidade da Porta Tengigabitethernet 1/1/1(端口速率)SNMP agentifSpeed.10760s
Velocidade Porta Tengigabitethernet 1/1/1 MTU(端口 MTU)SNMP agentifMtu.10760s
Tráfego de entrada Tengigabitethernet 1/1/1(入方向流量)SNMP agentifInOctets.10760s
Tráfego de saída Tengigabitethernet 1/1/1(出方向流量)SNMP agentifOutOctets.10760s
Pacotes de entrada com erro Tengigabitethernet 1/1/1(入方向错误包)SNMP agentifInErrors.10760s
Pacotes de saída com erro Tengigabitethernet 1/1/1(出方向错误包)SNMP agentifOutErrors.10760s

采集频率设计上做了明显分层:ICMP 探测 30s、接口类指标 60s、CPU 与温度 120s、风扇状态 600s(风扇变化缓慢,低频轮询即可降低 SNMP 负载)。历史保留期方面,绝大多数监控项为 7d,两个 MTU 监控项为 2d(见 YAML 配置)。

四、关键监控项与 OID 深度解读

结合模板 YAML 中实际的snmp_oid与预处理配置,可以还原每个监控项底层的 MIB 来源与取值逻辑。

1. 风扇状态:CISCO-ENVMON-MIB(rlEnvMonFanState)

6 个风扇监控项均来自 Cisco 环境监控 MIB(CISCO-ENVMON-MIB),基础 OID 为:

.1.3.6.1.4.1.9.6.1.101.83.1.1.1.3

Fan 01 的完整 OID 为.1.3.6.1.4.1.9.6.1.101.83.1.1.1.3.67109249(YAML 第 285-291 行),其余风扇 OID 后缀依次递增(67109250~67109254)。风扇状态以枚举整数返回,需要结合该 MIB 的状态定义解读(如正常/故障/未知等)。一个值得注意的源码细节:YAML 中监控项 Key(如rlEnvMonFanState.67109250)与snmp_oid后缀(如...67109249)相差 1,Key 仅是 Zabbix 内部存储标识,实际轮询仍以snmp_oid为准,不影响取值。

2. 温度:ENTITY-SENSOR-MIB(entPhySensorValue)

温度监控项 OID 为:

.1.3.6.1.4.1.9.6.1.101.83.2.1.1.1.4.68420481

对应实体传感器表entPhySensorValue(ENTITY-SENSOR-MIB),返回交换机主板/环境温度,单位为摄氏度(units: C),更新间隔 120s,历史保留 7d。

3. CPU:CISCO-PROCESS-MIB(cpmCPUTotal5minRev)

CPU 监控项直接使用数字 OID:

.1.3.6.1.4.1.9.9.109.1.1.1.1.5

该 OID 对应CISCO-PROCESS-MIB的cpmCPUTotal5minRev,即 CPU 近 5 分钟平均利用率(0~100 的百分比)。模板作者在 YAML 中将此监控项的单位配置为C(YAML 第 47-53 行),如果你的设备该 OID 实际返回利用率百分比,导入后建议在监控项属性中把单位改为%,以免图形与告警单位语义不符。

4. 端口计数器:IF-MIB(ifInOctets / ifOutOctets / ifInErrors / ifOutErrors / ifSpeed / ifMtu / ifOperStatus)

两个被监控端口(ifIndex 49 与 107)的计数器全部来自标准IF-MIB,包括:

  • ifInOctets.<index>/ifOutOctets.<index>:入/出方向字节计数;
  • ifInErrors.<index>/ifOutErrors.<index>:入/出方向错误包计数;
  • ifSpeed.<index>:端口协商速率(bps);
  • ifMtu.<index>:端口 MTU(字节);
  • ifOperStatus.<index>:端口操作状态(1=up,2=down,…)。

其中ifOperStatus.49关联了模板内置的值映射(valuemap)SNMP interface status (ifOperStatus)(YAML 第 344-369 行),将 1~7 的枚举值映射为up / down / testing / unknown / dormant / notPresent / lowerLayerDown,图形中直接显示可读状态。

5. 可用性与延迟:ICMP 简单检查

  • icmpping(30s):返回 1/0 表示目标可达与否,用于可用性监控;
  • icmppingsec(30s):返回 ICMP 往返延迟秒数,用于延迟监控。

两者均定义为FLOAT类型。注意 ICMP 探测依赖 Zabbix Server/Proxy 到交换机的网络连通性,与 SNMP 无关。

6. 运行时间:DISMAN-EVENT-MIB(sysUpTime)

Tempo Ligado使用DISMAN-EVENT-MIB::sysUpTimeInstance,Key 为system.uptime,单位秒。由于sysUpTime的原始单位为百分之一秒(hundredths of seconds),模板通过预处理MULTIPLIER × 0.01(YAML 第 339-343 行)换算为秒,保证图形纵轴语义正确。

五、预处理逻辑:计数器如何变成速率

模板中最核心的工程细节,是对 SNMP 累计计数器(counter)施加的预处理链,这一设计直接决定了图形展示的是“速率”而非“累计值”:

流量类:CHANGE_PER_SECOND + MULTIPLIER × 8

以ifInOctets.49为例(YAML 第 111-128 行),预处理链为:

  1. CHANGE_PER_SECOND:将两次轮询间的字节增量换算为每秒字节数(bytes/s);
  2. MULTIPLIER × 8:将 bytes/s 换算为 bits/s。

最终监控项单位为b(即 bps),图形直接呈现端口实时带宽,无需额外计算。入/出两个方向、千兆/万兆两个端口共 4 个流量监控项均采用同一套预处理链。

错误包类:CHANGE_PER_SECOND

4 个错误包监控项(ifInErrors.49/107、ifOutErrors.49/107)只做CHANGE_PER_SECOND,将累计错误计数转换为每秒错误包数,单位为packets。

速率与 MTU 类:MULTIPLIER

  • ifSpeed.49/107:MULTIPLIER × 1,单位bps,保留端口协商速率原值;
  • ifMtu.49/107:MULTIPLIER × 1000000,单位b(YAML 第 149-176 行)。需要说明的是,ifMtu原始返回值为字节(如 1500),乘以 1,000,000 后数值本身不具备物理含义,这是模板作者的原始配置,若你更关心 MTU 的真实字节值,可在导入后删除该预处理并调整单位。

六、图形与值映射:11 张图覆盖全部核心指标

模板在 YAML 中预定义了11 张图形,与 README 声明的 8 大监控主题一一对应:

图形名称包含监控项说明
Cooler ( FAN )Fan 01~066 条粗线(BOLD_LINE),不同颜色区分各风扇
CPUCPU渐变线(GRADIENT_LINE)
Disponibilidadeicmpping可用性趋势
Latenciaicmppingsec延迟趋势
Pacotes de entrada com erroifInErrors.49 / .107入方向错误包,双端口同图对比
Pacotes de saída com erroifOutErrors.49 / .107出方向错误包
Tráfego de entradaifInOctets.49 / .107入方向带宽
Tráfego de saídaifOutOctets.49 / .107出方向带宽
Velocidade da PortaifSpeed.49 / .107端口协商速率
Velocidade Porta MtuifMtu.49 / .107端口 MTU
Tempo Ligadosystem.uptime运行时间

多端口图形统一采用双色区分(如1A7C11与F63100),便于在一张图上横向对比千兆接入端口与万兆上联端口的流量/错误情况。

七、已知限制与扩展建议

阅读模板导出结构与 README 中的Macros used / Template links / Discovery rules / Triggers四个小节,可以得到明确的边界信息:

  • 无触发器(Triggers):模板未定义任何告警规则。风扇停转、温度过高、端口 down、CPU 过高等场景不会自动产生告警,需要使用者自行补充触发器(例如对rlEnvMonFanState.*非正常值、ifOperStatus.49等于 2、温度超过阈值等设置告警);
  • 无宏(Macros):未定义任何模板级宏,SNMP 凭据依赖全局默认宏{$SNMP_COMMUNITY};
  • 无自动发现(Discovery rules):端口与风扇均为固定索引写死,未使用 LLD 自动发现。若需要监控全部 48 个千兆端口,建议以本模板为蓝本,改用ifDescr/ifName的 LLD 规则批量生成监控项,并将风扇状态纳入环境监控表的 LLD;
  • 固定 ifIndex:49与107依赖具体设备的接口编号,导入前务必用 snmpwalk 核对(见上文第三节)。

八、仓库文件速查

用途路径
5.4 版说明文档Network_Devices/Cisco/template_cisco_sg500_48p/5.4/README.md
5.4 版模板(YAML)Network_Devices/Cisco/template_cisco_sg500_48p/5.4/template_cisco_sg500_48p.yaml
5.0 版模板(XML)Network_Devices/Cisco/template_cisco_sg500_48p/5.0/template_cisco_sg500_48p.xml
6.0 版模板(YAML)Network_Devices/Cisco/template_cisco_sg500_48p/6.0/template_cisco_sg500_48p.yaml

结合模板的 24 个监控项、11 张图形与 README 的 8 大监控主题,该模板可以作为 Cisco SG500/SG500X 系列交换机“开箱即用”的硬件健康与关键端口流量监控基础;在此基础上补充触发器和 LLD 扩展,即可构建完整的生产级交换机监控方案。

【免费下载链接】community-templates

Zabbix Community Templates repository

项目地址:https://gitcode.com/gh_mirrors/co/community-templates
点击查看免费下载
上一篇:terminal-bench交互式教程:通过示例学习评测平台
下一篇:揭秘ReflectionCommon:phpDocumentor背后的通用反射类库深度剖析

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

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

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

立即咨询