【免费下载链接】community-templates
Zabbix Community Templates repository
导读
本文围绕 community-templates 仓库中 Cisco SG500X_48P 模板,系统讲解如何借助该 Zabbix 模板对 Cisco SG500 / SG500X 系列交换机进行 SNMP 监控。模板覆盖风扇(Cooler/FAN)、设备可用性与延迟、端口出入流量与错误包、CPU、温度、端口速率/MTU/运行状态等 8 大类指标,本文将从导入部署、监控项清单、OID 与预处理原理到扩展建议逐一展开,读完即可上手部署并理解每个监控项的底层取值逻辑。
一、模板概览:它到底监控什么
模板名称为SG500X_48P,由社区作者 Magno Monte Cerqueira(昵称 magnopeem)编写并分享,原始 README 中明确列出了模板所监控的 8 项内容:
- Cooler(风扇 / FAN)
- Disponibilidade(可用性)
- Latencia(延迟)
- Pacotes de entrada(入方向数据包)
- Pacotes de Saida(出方向数据包)
- Temperatura(温度)
- Trafego de entrada(入方向流量)
- Trafego de saida(出方向流量)
仓库在 Network_Devices/Cisco/template_cisco_sg500_48p 目录下同时维护了三个 Zabbix 版本:
| Zabbix 版本 | 模板文件 | 说明 |
|---|---|---|
| 5.0 | template_cisco_sg500_48p.xml | XML 格式导出 |
| 5.4 | template_cisco_sg500_48p.yaml | YAML 格式导出(导出时间 2021-11-21) |
| 6.0 | template_cisco_sg500_48p.yaml | YAML 格式导出 |
三个版本的监控项完全一致,仅格式与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 check | icmpping | 30s |
| Ping por Segundo(延迟) | Simple check | icmppingsec | 30s |
| Tempo Ligado(运行时间) | SNMP agent | system.uptime | 60s |
| CPU(CPU 使用率) | SNMP agent | .1.3.6.1.4.1.9.9.109.1.1.1.1.5 | 120s |
| Temperatura(温度) | SNMP agent | entPhySensorValue.68420481 | 120s |
| Fan 01(风扇 1) | SNMP agent | rlEnvMonFanState.67109250 | 600s |
| Fan 02(风扇 2) | SNMP agent | rlEnvMonFanState.67109251 | 600s |
| Fan 03(风扇 3) | SNMP agent | rlEnvMonFanState.67109252 | 600s |
| Fan 04(风扇 4) | SNMP agent | rlEnvMonFanState.67109253 | 600s |
| Fan 05(风扇 5) | SNMP agent | rlEnvMonFanState.67109254 | 600s |
| Fan 06(风扇 6) | SNMP agent | rlEnvMonFanState.67109255 | 600s |
| Estado operacional GigabitEthernet 1/1/1(端口操作状态) | SNMP agent | ifOperStatus.49 | 60s |
| Velocidade da Porta GigabitEthernet 1/1/1(端口速率) | SNMP agent | ifSpeed.49 | 60s |
| Velocidade Porta GigabitEthernet 1/1/1 MTU(端口 MTU) | SNMP agent | ifMtu.49 | 60s |
| Tráfego de entrada GigabitEthernet 1/1/1(入方向流量) | SNMP agent | ifInOctets.49 | 60s |
| Tráfego de saída GigabitEthernet 1/1/1(出方向流量) | SNMP agent | ifOutOctets.49 | 60s |
| Pacotes de entrada com erro GigabitEthernet 1/1/1(入方向错误包) | SNMP agent | ifInErrors.49 | 60s |
| Pacotes de saída com erro GigabitEthernet 1/1/1(出方向错误包) | SNMP agent | ifOutErrors.49 | 60s |
| Velocidade da Porta Tengigabitethernet 1/1/1(端口速率) | SNMP agent | ifSpeed.107 | 60s |
| Velocidade Porta Tengigabitethernet 1/1/1 MTU(端口 MTU) | SNMP agent | ifMtu.107 | 60s |
| Tráfego de entrada Tengigabitethernet 1/1/1(入方向流量) | SNMP agent | ifInOctets.107 | 60s |
| Tráfego de saída Tengigabitethernet 1/1/1(出方向流量) | SNMP agent | ifOutOctets.107 | 60s |
| Pacotes de entrada com erro Tengigabitethernet 1/1/1(入方向错误包) | SNMP agent | ifInErrors.107 | 60s |
| Pacotes de saída com erro Tengigabitethernet 1/1/1(出方向错误包) | SNMP agent | ifOutErrors.107 | 60s |
采集频率设计上做了明显分层: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.3Fan 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 行),预处理链为:
- CHANGE_PER_SECOND:将两次轮询间的字节增量换算为每秒字节数(bytes/s);
- 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~06 | 6 条粗线(BOLD_LINE),不同颜色区分各风扇 |
| CPU | CPU | 渐变线(GRADIENT_LINE) |
| Disponibilidade | icmpping | 可用性趋势 |
| Latencia | icmppingsec | 延迟趋势 |
| Pacotes de entrada com erro | ifInErrors.49 / .107 | 入方向错误包,双端口同图对比 |
| Pacotes de saída com erro | ifOutErrors.49 / .107 | 出方向错误包 |
| Tráfego de entrada | ifInOctets.49 / .107 | 入方向带宽 |
| Tráfego de saída | ifOutOctets.49 / .107 | 出方向带宽 |
| Velocidade da Porta | ifSpeed.49 / .107 | 端口协商速率 |
| Velocidade Porta Mtu | ifMtu.49 / .107 | 端口 MTU |
| Tempo Ligado | system.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
相关推荐
Zabbix 监控 Cisco SG500-48P 交换机:SG500X_48P 模板完整解析(SNMP 风扇、温度、流量与端口监控)
Zabbix 监控 Cisco SG500 48P 交换机:SG500X_48P 模板完整解析(SNMP 风扇、温度、流量与端口监控) 本指南以社区共享模板 S
LiveCharts2 HeatLandSeries 完全指南:用 GeoMap 控制件打造区域热力图
LiveCharts2 HeatLandSeries 完全指南:用 GeoMap 控制件打造区域热力图 HeatLandSeries 是 LiveCharts2
Zabbix 社区模板实战:基于 SNMP 监控 HP Procurve 2920 系列交换机
Zabbix 社区模板实战:基于 SNMP 监控 HP Procurve 2920 系列交换机 导读 本文基于 Zabbix Community Templat
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考