【免费下载链接】community-templates
Zabbix Community Templates repository
本指南以社区共享模板 SG500X_48P 为主体,系统讲解如何使用 Zabbix 通过 SNMP 与 ICMP 对 Cisco SG500 系列交换机(以 SG500-48P 为例)实施监控:覆盖风扇(Cooler/FAN)、设备可用性、网络延迟、端口流量与错误包、温度、CPU 及运行时长等 8 类核心指标。读完本文后,你将掌握该模板的 23 个监控项与 11 张图表的完整配置逻辑、预处理与值映射原理,并学会在导入前核对 OID、在导入后按需扩展触发器与自动发现规则。
模板概览与适用场景
SG500X_48P 是发布在 Zabbix 社区共享平台上的交换机监控模板,作者为 Magno Monte Cerqueira(账号 "magnopeem")。从仓库中的模板定义文件可以看到,模板默认面向Cisco SG500 系列交换机,其监控范围覆盖:
- Cooler(FAN)——6 个风扇状态
- Disponibilidade(可用性)——ICMP 可达性
- Latencia(延迟)——ICMP 往返时间
- Pacotes de entrada(入向包)——含错误包统计
- Pacotes de Saída(出向包)——含错误包统计
- Temperatura(温度)——机箱实体温度传感器
- Tráfego de entrada(入向流量)
- Tráfego de saída(出向流量)
SG500-48P 是 Cisco Small Business 500 系列中的 48 口千兆 PoE 交换机,同时提供 4 个万兆 SFP+ 上行端口。模板中硬编码的两个端口对象恰好对应这一硬件形态:GigabitEthernet 1/1/1(ifIndex 49,第一个千兆口)与Tengigabitethernet 1/1/1(ifIndex 107,第一个万兆口)。这一点可以从模板中ifInOctets.49、ifInOctets.107等项目键名直接确认。
模板同时使用两种数据采集方式:SNMP agent(端口、风扇、温度、CPU、uptime)与Simple check(ICMP ping)。监控项全部为静态定义,不依赖任何宏、模板链接(template links)或发现规则(discovery rules),导入后只需配置主机级 SNMP 与 ICMP 即可工作。
模板文件结构与多版本支持
该模板在仓库中按 Zabbix 大版本分目录维护,位于Network_Devices/Cisco/template_cisco_sg500_48p/:
- 5.0 版本(XML 格式):适用于 Zabbix 5.0 系列,采用
<zabbix_export><version>5.0</version>的 XML 导出结构。 - 5.4 版本(YAML 格式):适用于 Zabbix 5.4 系列。
- 6.0 版本(YAML 格式):适用于 Zabbix 6.0 系列,本文分析以此版本为准。
各版本导出的监控项、图表与值映射内容保持一致,区别仅在于导出格式和zabbix_export.version字段。以 6.0 版 YAML 为例,其顶层结构为:
zabbix_export: version: '6.0' date: '2021-11-21T21:18:13Z' groups: - uuid: 7df96b18c230490a9a0a9e2307226338 name: Templates templates: - uuid: 7566af4955664c428488e4c5dd1dffbe template: SG500X_48P name: SG500X_48P groups: - name: Templates items: ... valuemaps: ... graphs: ...模板被归入Templates组,模板技术名与显示名均为SG500X_48P。导入方式为标准 Zabbix 流程:前端Data collection → Templates → Import,选择对应版本的 YAML/XML 文件即可。由于模板内部未定义任何宏,SNMP 认证依赖 Zabbix 内置的{$SNMP_COMMUNITY}宏(默认值为public)或主机层自定义宏,因此部署前请确认交换机实际配置的 SNMP 团体名(community string)并据此调整主机宏,否则 SNMP 监控项将返回Not supported。
监控项(Items)全景解读
模板共定义 23 个监控项,下文按功能主题分组解读,并给出 YAML 中的实际配置(OID、更新间隔、预处理与单位)。
1. 可用性与延迟(Simple check)
| 监控项 | 类型 | Key | 更新间隔 | 说明 |
|---|---|---|---|---|
| Ping | Simple check | icmpping | 30s | ICMP 可达性,返回 1(可达)/ 0(不可达),值类型 FLOAT |
| Ping por Segundo | Simple check | icmppingsec | 30s | ICMP 往返时间(秒),值类型 FLOAT |
这两个项目依赖 Zabbix Server 的 fping 组件与 ICMP 权限。icmppingsec返回的是往返延迟秒数,用于生成"延迟"折线图;icmpping用于生成"可用性"折线图。二者共同构成模板对交换机存活状态的实时感知。
2. 系统资源:CPU、温度与运行时长
| 监控项 | 类型 | Key / OID | 更新间隔 | 预处理与单位 |
|---|---|---|---|---|
| CPU | SNMP agent | .1.3.6.1.4.1.9.9.109.1.1.1.1.5 | 120s | units:C |
| Temperatura | SNMP agent | key:entPhySensorValue.68420481,OID:.1.3.6.1.4.1.9.6.1.101.83.2.1.1.1.4.68420481 | 120s | units:C |
| Tempo Ligado | SNMP agent | key:system.uptime,OID:DISMAN-EVENT-MIB::sysUpTimeInstance | 60s | MULTIPLIER× 0.01,units:s |
- CPU:OID 位于 Cisco 私有 MIB 的 process 分支(
.1.3.6.1.4.1.9.9.109),按 CISCO-PROCESS-MIB 的通用定义,该 OID 末位.5对应 CPU 利用率 5 分钟平均值(cpmCPUTotal5minRev)。需注意模板将该项目单位设置为C(摄氏度),从语义上看 CPU 利用率更应使用%,导入后建议按实际展示需求修正单位。 - Temperatura:实体索引
68420481对应机箱温度传感器,snmp_oid 指向 Cisco 私有环境监控 OID(.1.3.6.1.4.1.9.6.1.101.83.2.1.1.1.4,结构对应 entPhySensorValue),单位C合理。 - Tempo Ligado:
DISMAN-EVENT-MIB::sysUpTimeInstance的单位是百分之一秒(1/100 s),因此通过MULTIPLIER× 0.01 转换为秒并设置单位s,历史保留 7d。
3. 风扇状态(Cooler / FAN)
模板为 6 个风扇分别定义监控项,全部为 SNMP agent 类型,更新间隔 600s(10 分钟),历史保留 7d:
| 监控项 | Key | snmp_oid(YAML) |
|---|---|---|
| Fan 01 | rlEnvMonFanState.67109250 | .1.3.6.1.4.1.9.6.1.101.83.1.1.1.3.67109249 |
| Fan 02 | rlEnvMonFanState.67109251 | .1.3.6.1.4.1.9.6.1.101.83.1.1.1.3.67109250 |
| Fan 03 | rlEnvMonFanState.67109252 | .1.3.6.1.4.1.9.6.1.101.83.1.1.1.3.67109251 |
| Fan 04 | rlEnvMonFanState.67109253 | .1.3.6.1.4.1.9.6.1.101.83.1.1.1.3.67109252 |
| Fan 05 | rlEnvMonFanState.67109254 | .1.3.6.1.4.1.9.6.1.101.83.1.1.1.3.67109253 |
| Fan 06 | rlEnvMonFanState.67109255 | .1.3.6.1.4.1.9.6.1.101.83.1.1.1.3.67109254 |
这些 OID 属于 Cisco 环境监控私有分支(.1.3.6.1.4.1.9.6.1.101.83),末尾.1.1.1.3结构对应 rlEnvMonFanState(风扇状态对象),实体索引67109249~67109254由设备固件分配。从源码结构看,Fan 项目的snmp_oid 与 key 的实体索引存在 1 位错位(例如 Fan 01 的 OID 末位为 67109249,而 key 为rlEnvMonFanState.67109250)。由于 Zabbix 的 SNMP agent 类型监控项实际以snmp_oid字段采集,key 仅作为内部标识,采集本身不受影响,但排查问题时需留意这一不一致。
风扇状态值由交换机固件定义(如正常 / 警告 / 故障等枚举),模板本身未为该系列监控项配置值映射,也未定义风扇告警触发器,如需将状态数值翻译为可读文本并告警,建议参考下文"扩展建议"。
4. 端口流量(Tráfego)
模板对两个端口分别采集入向/出向流量,共 4 个监控项,更新间隔 60s:
| 监控项 | Key / OID | 预处理链 | 单位 |
|---|---|---|---|
| Tráfego de entrada GigabitEthernet 1/1/1 | ifInOctets.49 | CHANGE_PER_SECOND→MULTIPLIER× 8 | b |
| Tráfego de saída GigabitEthernet 1/1/1 | ifOutOctets.49 | CHANGE_PER_SECOND→MULTIPLIER× 8 | b |
| Tráfego de entrada Tengigabitethernet 1/1/1 | ifInOctets.107 | CHANGE_PER_SECOND→MULTIPLIER× 8 | b |
| Tráfego de saída Tengigabitethernet 1/1/1 | ifOutOctets.107 | CHANGE_PER_SECOND→MULTIPLIER× 8 | b |
YAML 中的完整预处理定义为:
preprocessing: - type: CHANGE_PER_SECOND parameters: - '' - type: MULTIPLIER parameters: - '8'这段链路是模板中最值得关注的数据处理逻辑:ifInOctets/ifOutOctets是 IF-MIB 的累计计数器(自启动以来的字节数),第一步CHANGE_PER_SECOND将其转换为"每秒增量"(即速率),第二步MULTIPLIER × 8将字节/秒换算为比特/秒(1 字节 = 8 比特),最终以单位b(bit)呈现,供"Tráfego de entrada / Tráfego de saída"两张图表直接绘制带宽曲线。若希望以字节为单位展示,只需删除第二步即可。
5. 端口错误包(Pacotes com erro)
模板为两个端口分别采集入向/出向错误包,共 4 个监控项,更新间隔 60s:
| 监控项 | Key / OID | 预处理 | 单位 |
|---|---|---|---|
| Pacotes de entrada com erro GigabitEthernet 1/1/1 | ifInErrors.49 | CHANGE_PER_SECOND | packets |
| Pacotes de saída com erro GigabitEthernet 1/1/1 | ifOutErrors.49 | CHANGE_PER_SECOND | packets |
| Pacotes de entrada com erro Tengigabitethernet 1/1/1 | ifInErrors.107 | CHANGE_PER_SECOND | packets |
| Pacotes de saída com erro Tengigabitethernet 1/1/1 | ifOutErrors.107 | CHANGE_PER_SECOND | packets |
ifInErrors表示入向报文中因错误无法递交高层协议的数量,ifOutErrors表示出向传输失败的报文数量,二者同样是累计计数器,因此通过CHANGE_PER_SECOND转换为每秒错误包速率,单位为packets。错误包速率持续升高通常是链路质量劣化(CRC 错误、超限帧等)的早期信号。
6. 端口状态、速率与 MTU
| 监控项 | Key / OID | 更新间隔 | 预处理与单位 | 历史保留 |
|---|---|---|---|---|
| Estado operacional GigabitEthernet 1/1/1 | IF-MIB::ifOperStatus.49 | 60s | 值映射SNMP interface status (ifOperStatus) | 7d |
| Velocidade da Porta GigabitEthernet 1/1/1 | IF-MIB::ifSpeed.49 | 60s | MULTIPLIER× 1,units:bps | 7d |
| Velocidade da Porta Tengigabitethernet 1/1/1 | IF-MIB::ifSpeed.107 | 60s | MULTIPLIER× 1,units:bps | 7d |
| Velocidade Porta GigabitEthernet 1/1/1 MTU | IF-MIB::ifMtu.49 | 60s | MULTIPLIER× 1,000,000,units:b | 2d |
| Velocidade Porta Tengigabitethernet 1/1/1 MTU | IF-MIB::ifMtu.107 | 60s | MULTIPLIER× 1,000,000,units:b | 2d |
- ifOperStatus:接口操作状态,模板通过值映射(valuemap)将 RFC 1213 定义的状态码翻译为可读文本(见下节),用于实时掌握端口 up/down 状态。
- ifSpeed:接口当前带宽估计值,单位为 bits per second(bps),模板中
MULTIPLIER × 1属于冗余预处理,不影响结果。 - ifMtu:接口最大传输单元(字节)。需特别提示:模板为其配置了
MULTIPLIER × 1,000,000并将单位设为b。从语义上看,MTU 是字节数(如 1500),通常无需放大;该预处理会把原始值放大百万倍,疑似作者将 MTU 误当作速率处理。若你希望图表展示真实 MTU 数值,建议删除此预处理步骤后再使用。
值映射:ifOperStatus 状态机
模板在valuemaps节定义了一个名为SNMP interface status (ifOperStatus)的值映射,作用于Estado operacional GigabitEthernet 1/1/1监控项,将 IF-MIB 标准状态码映射为可读文本:
| 原始值 | 映射文本 |
|---|---|
| 1 | up |
| 2 | down |
| 3 | testing |
| 4 | unknown |
| 5 | dormant |
| 6 | notPresent |
| 7 | lowerLayerDown |
该映射完整覆盖 RFC 2863 中 ifOperStatus 的全部 7 种状态。结合 Zabbix 的触发器表达式(如last()=2表示 down),可以在此基础上构建端口掉线告警。
图形化展示(Graphs)
模板共定义 11 张图形,将上述监控项组织为便于直接投放到仪表盘的视图。YAML 中graphs节的完整清单如下:
| 图形名称 | 包含监控项 | 绘制样式 / 颜色 |
|---|---|---|
| Cooler ( FAN ) | Fan 01~06 | BOLD_LINE,六色区分(1A7C11 / F63100 / 2774A4 / A54F10 / FC6EA3 / 6C59DC) |
| CPU | CPU | GRADIENT_LINE,A54F10 |
| Disponibilidade | Ping(icmpping) | GRADIENT_LINE,1A7C11 |
| Latencia | Ping por Segundo(icmppingsec) | GRADIENT_LINE,1A7C11 |
| Pacotes de entrada com erro | ifInErrors.49 / ifInErrors.107 | 双线,1A7C11 / F63100 |
| Pacotes de saída com erro | ifOutErrors.49 / ifOutErrors.107 | 双线,F63100 / 1A7C11 |
| Tempo Ligado | system.uptime | GRADIENT_LINE,1A7C11 |
| Tráfego de entrada | ifInOctets.49 / ifInOctets.107 | 双线,1A7C11 / F63100 |
| Tráfego de saída | ifOutOctets.49 / ifOutOctets.107 | 双线,F63100 / 1A7C11 |
| Velocidade da Porta | ifSpeed.49 / ifSpeed.107 | 双线,F63100 / 1A7C11 |
| Velocidade Porta Mtu | ifMtu.49 / ifMtu.107 | 双线,1A7C11 / F63100 |
其中Cooler ( FAN )图以粗线(BOLD_LINE)叠加 6 个风扇状态曲线,便于在同一时间轴上对比各风扇状态;流量类图形将千兆口(.49)与万兆口(.107)以双色曲线同图对比,可直观看出上行口与接入口的带宽差异。导入模板后,这些图形会以"SG500X_48P: 图形名"的形式自动出现在主机图形列表中。
使用前提与注意事项
基于模板源码,以下限制与前提需要在部署前确认:
- OID 与索引硬编码:端口(ifIndex 49 / 107)与风扇/温度实体索引(67109249~67109254、68420481)均为固定值。它们由交换机固件分配,不同型号、不同固件版本可能不同。部署前建议用
snmpwalk核对实际索引,例如:snmpwalk -v2c -c <community> <switch-ip> .1.3.6.1.4.1.9.6.1.101.83.1.1.1.3 snmpwalk -v2c -c <community> <switch-ip> IF-MIB::ifName若索引不一致,需要逐个修改模板监控项的 OID 与 key。
- 监控范围固定:模板只覆盖
GigabitEthernet 1/1/1与Tengigabitethernet 1/1/1两个端口。SG500-48P 拥有 48 个千兆口与 4 个万兆口,其余端口不在默认监控范围内,如需全端口覆盖应引入自动发现(见下文扩展建议)。 - 无触发器:README 与 YAML 均确认模板"没有定义任何触发器"(There are no triggers)。这意味着模板只完成数据采集与图形化,不会产生任何告警。风扇故障、端口 down、温度越限都需要自行补充触发器表达式。
- 无宏、无模板链接、无发现规则:模板不依赖宏和链接模板,也不使用 LLD,所有项目均为静态定义,结构简单、导入即用,但灵活性有限。
- 预处理语义偏差:CPU 单位被设为
C、ifMtu 被乘以 1,000,000、Fan 项目 snmp_oid 与 key 索引错位,均属模板原始配置中的细节瑕疵,建议按前述说明逐一核对与修正。
扩展建议:向 LLD 与告警能力演进
若需在 SG500 系列上获得更强的监控能力,仓库中同目录下的兄弟模板 template_cisco_sg500x-48p(6.0) 提供了可借鉴的成熟思路,其配套 YAML 位于 template_cisco_sg500x-48p.yaml:
- LLD 自动发现:该模板通过
rlPhdUnitEnvParamStackUnit(环境堆叠单元)与ifName(网络接口)两条发现规则,自动为每个堆叠单元和每个接口生成监控项,覆盖全部端口而非仅两个固定口,并自动生成固件版本、序列号、Service Tag 等资产信息。 - 告警触发器:该模板内置了完整的告警体系,可直接移植到 SG500X_48P 模板上,例如:
- 风扇状态
=6→ critical(average 级)、avg(#3)=6→ failed(high 级)、avg(#3)=2→ warning(warning 级); - 温度状态
=3→ critical(disaster 级)、=2→ high(high 级); - 入向/出向流量 5 分钟均值超过
ifHighSpeed × 0.8→ warning(80% 带宽水位告警); ifOperStatus连续两次采样均为2→ 链路中断(disaster 级)。
- 风扇状态
将这些触发器表达式中的主机名与项目 key 替换为 SG500X_48P 模板对应的 key(如rlEnvMonFanState.67109250、ifInOctets.49等),即可在不改造原模板结构的前提下获得完整的告警闭环。
总结
SG500X_48P 是一个典型的"轻量级、零依赖"社区模板:23 个静态 SNMP/ICMP 监控项 + 1 个 ifOperStatus 值映射 + 11 张图形,覆盖了 Cisco SG500 系列交换机日常运维中最关心的风扇、温度、CPU、可用性、延迟、流量与错误包指标,导入即可采集、开箱即见图形。它的主要短板——无触发器、端口硬编码、预处理语义瑕疵——恰好是读者在实战中应当补齐与修正的重点。结合仓库内同系列的 LLD 模板思路(template_cisco_sg500x-48p),你可以低成本地将这套基础监控扩展为全端口自动发现、带完整分级告警的生产级方案。
【免费下载链接】community-templates
Zabbix Community Templates repository
相关推荐
BingGPT视觉设计解析:从图标到配色的设计理念
BingGPT视觉设计解析:从图标到配色的设计理念 BingGPT作为一款跨平台的AI聊天桌面应用(Windows、macOS和Linux),其视觉设计不仅承载
使用 Zabbix 社区模板「XSM SNMP Devices」监控 Cisco SGE2000P 交换机:全量接口、风扇、温度与延迟监控实战
使用 Zabbix 社区模板「XSM SNMP Devices」监控 Cisco SGE2000P 交换机:全量接口、风扇、温度与延迟监控实战 本篇文章围绕 Z
Zabbix 官方 SNMP 监控模板解析:Cisco Catalyst 3750V2-48TS 交换机全量监控方案
Zabbix 官方 SNMP 监控模板解析:Cisco Catalyst 3750V2 48TS 交换机全量监控方案 本篇文章以 Zabbix 开源仓库中 Ci
指标监控可观测性告警运维
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考