☰
Zabbix 社区模板 SNMP HP v1910-24G:基于 SNMP 的 HP 1910-24G 交换机端口流量与错误监控实践
2026/10/17 2:03:56 网站建设 项目流程

【免费下载链接】community-templates

Zabbix Community Templates repository

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

本文以 community-templates 仓库中的 Zabbix 社区模板SNMP HP v1910-24G(对应文档 README)为主体,结合模板导出文件本身,完整解析该模板如何通过 SNMP agent 轮询采集 HP 1910-24G 接入层交换机的每端口吞吐量、CRC 错误计数、端口运行状态与设备型号/运行时长,并说明各项的 key、OID、采集间隔与预处理逻辑,帮助读者直接导入并正确配置这套 142 个监控项。

1. 模板定位与版本分布

SNMP HP v1910-24G是面向 HP 1910 系列 24 口千兆接入交换机(型号后缀 24G)的 SNMP 监控模板。从模板命名与 28 个被监控端口推断,其对象设备对应 24 个固定千兆电口 + 4 个 SFP 上行口的形态;模板内的端口命名沿用Fa0/N风格(如InErrorsFa0/1),端口序号 N 从 1 连续编号到 28。

仓库中按 Zabbix 版本提供了三个导出(见 模板目录):

版本目录文件格式导出版本适用说明
5.0/XML5.0使用<applications>节点归类监控项
5.4/YAML5.4应用归类改用 tags
6.0/YAML6.0含 uuid,触发器使用新版表达式语法

三份导出日期均为 2021-11-25,模板组为Templates,模板名SNMP HP v1910-24G。按照 仓库根 README 的通用流程使用:下载对应版本的模板文件导入 Zabbix,配置主机 SNMP 设置后将该模板链接到主机即可。

与大量现代社区模板不同,该模板在结构上刻意保持极简,5.0 README 明确列出:

  • Macros used:无(不使用任何宏);
  • Template links:无(不依赖其他模板);
  • Discovery rules:无(不做 LLD 自动发现,所有端口项按端口号 1~28 硬编码展开)。

监控项按 6 个业务维度归类(5.0 版本中是 application 节点,5.4/6.0 版本中是 tagApplication):

归类覆盖监控项数量
GeneralModel、Uptime2
Bytes RxBytes Rx port 1~28(ifInOctets.N)28
Bytes TxBytes Tx port 1~28(ifOutOctets.N)28
CRC Errors RxInErrorsFa0/1~28(ifInErrors.N)28
CRC Errors TxOutErrorsFa0/1~28(ifOutErrors.N)28
Oper StatusStatus port 1~28(ifOperStatus.N)28

合计 142 个监控项,与 README 的 “Items collected” 表格条目一一对应。

2. 核心监控项详解:key、OID 与采集间隔

由于模板无发现规则,每个端口展开为一组独立监控项。以下按业务归类给出完整的命名模式、key 模式、SNMP OID 与关键参数(端口 N 均取 1~28):

监控项名称keySNMP OID采集间隔单位历史保留预处理
InErrorsFa0/NifInErrors.N.1.3.6.1.2.1.2.2.1.14.N(ifInErrors)120 s-7d无
OutErrorsFa0/NifOutErrors.N.1.3.6.1.2.1.2.2.1.20.N(ifOutErrors)120 s-7d无
Bytes Rx port NifInOctets.N1.3.6.1.2.1.2.2.1.10.N(ifInOctets)120 sbps7dCHANGE_PER_SECOND → MULTIPLIER 8
Bytes Tx port NifOutOctets.N1.3.6.1.2.1.2.2.1.16.N(ifOutOctets)120 sbps7dCHANGE_PER_SECOND → MULTIPLIER 8
Status port NifOperStatus.N1.3.6.1.2.1.2.2.1.8.N(ifOperStatus)120 s-7d无(默认禁用)
Model.1.3.6.1.2.1.1.1.0.1.3.6.1.2.1.1.1.0(sysDescr)3600 sTEXT7d无,无趋势
UptimeUptime.1.3.6.1.2.1.1.3.0(sysUpTime)60 ss默认MULTIPLIER 0.01

几点实现细节值得注意:

  1. 吞吐量换算链:ifInOctets/ifOutOctets原始值是按字节累加的计数器(Counter)。在 6.0 YAML 导出 中,每个 Bytes 类监控项都配置了两步预处理:先执行CHANGE_PER_SECOND(取相邻两次采集的差值除以时间间隔,得到字节/秒),再执行MULTIPLIER 8换算成 bit/秒,因此图中曲线单位是bps。这条预处理链在 5.0 XML 中同样存在(<preprocessing>下依次为CHANGE_PER_SECOND与参数为 8 的MULTIPLIER)。
  2. Uptime 的百分之一秒换算:sysUpTime的原始单位是 hundredths of a second(1/100 秒),模板通过MULTIPLIER 0.01预处理将其换算为秒(units 为s),采集间隔 60 s,是所有监控项中轮询最频繁的一个。
  3. Model 项的用法:Model直接以 sysDescr 的 OID 作为 key(.1.3.6.1.2.1.1.1.0),值类型为 TEXT,并设置了inventory_link: MODEL,即该 SNMP 文本描述会自动回填到 Zabbix 主机的 Inventory 硬件型号字段;每小时采集一次,不保存趋势数据(XML 中<trends>0</trends>)。
  4. 端口状态项默认禁用:所有 28 个Status port N(ifOperStatus.N)在 5.0 XML 与 6.0 YAML 中均带有status: DISABLED,即导入后默认不采集、也不评估对应触发器,需要手动启用(见第 4 节)。

3. 触发器设计

尽管 5.0 README 的 “Triggers” 小节写有 “There are no triggers in this template”,但同目录随附的 XML 导出文件中实际内置了完整触发器(6.0 YAML 中同样存在,且表达式改写为新版语法)。以下以仓库中模板文件的实际内容为准,全部触发器分为三类:

触发器名称模式表达式(5.0 旧语法 / 6.0 新语法示例)级别状态数量
CRC Errors Rx on port Nlast()>100/last(/SNMP HP v1910-24G/ifInErrors.N)>100HIGH启用28
CRC Errors Tx on port Nlast()>100/last(/SNMP HP v1910-24G/ifOutErrors.N)>100HIGH启用28
Port N status down on {HOSTNAME}last(0)=2/ 同左(2表示 ifOperStatus 的 down)INFO禁用28
{HOSTNAME} has just been restartedlast(0)<600(Uptime 小于 600 秒)AVERAGE启用1

设计意图:

  • CRC 错误风暴告警:对 28 个端口分别监控收/发方向错误计数,last()>100表示最近一次采集值大于 100 即产生 HIGH 级告警。由于采集间隔为 120 s,该阈值近似代表“单轮询窗口内累计错误超过 100 次”,用于快速定位坏线缆、光模块或端口硬件故障;
  • 端口 down 检测默认关闭:ifOperStatus.N取值为 2(down)时触发 INFO 级告警,但触发器与监控项一并处于 DISABLED 状态。如果业务端口拔线不应告警(例如空闲端口较多),保持禁用即可;需要端口存活监控时,需在模板中将对应Status port N项及其触发器启用;
  • 重启感知:Uptime项每 60 s 轮询一次,一旦设备重启后 sysUpTime 不足 600 s,即触发 AVERAGE 级 “{HOSTNAME} has just been restarted”。

4. 可视化:28 张端口流量图

模板为每个端口内置一张Port N stats图(共 28 张),Y 轴下限类型固定(ymin_type_1: FIXED),每张图绘制两条曲线:

曲线对应监控项 key颜色
发送流量ifOutOctets.N000099(深蓝)
接收流量ifInOctets.N990000(暗红)

以 Port 1 为例,6.0 YAML 中的图定义(6.0 YAML 第 2855 行起)即引用ifOutOctets.1与ifInOctets.1两个监控项。配合CHANGE_PER_SECOND + ×8预处理,图中直接呈现每个端口的实时 bps 吞吐,无需再做单位换算。

5. 导入与配置步骤

  1. 选择与 Zabbix 版本匹配的导出文件:5.0 用 XML 文件,5.4/6.0 用对应目录的 YAML 文件;
  2. 导入模板:在 Zabbix Web 界面中按 根 README 描述的流程导入模板文件;
  3. 配置主机 SNMP:创建(或编辑)交换机主机,监控方式选择 SNMP agent,并填入设备启用的 SNMP 社区名(模板全部使用 SNMP 轮询,无需在交换机上安装 agent 或额外脚本);
  4. 链接模板:将SNMP HP v1910-24G模板挂到该主机,等待 1~2 个采集周期后在 Latest data / 各Port N stats图中验证数据;
  5. 按需启用端口状态监控:若需要端口 down 告警,进入模板配置,把需要的Status port N监控项与Port N status down on {HOSTNAME}触发器从 DISABLED 改为启用。

6. 使用限制与扩展建议

  • 端口为静态展开,非 LLDD:模板把 1~28 号端口逐个写死。从源码结构看,若目标设备的 ifIndex 与端口面板编号不一致(例如存在非 1910-24G 的机型复用此模板),需要手工调整各监控项的 OID 后缀或删除多余端口项;追求可移植性的场景下,可以考虑改用基于ifIndex的 LLDD 发现规则;
  • 端口状态与告警默认策略:CRC 错误告警(HIGH)默认生效,端口 down 告警(INFO)默认禁用,请根据机房管理策略自行取舍;
  • README 与模板文件的小偏差:5.0 README 中 “There are no triggers in this template” 一句与同目录 XML 中实际存在的 85 个触发器不符,以模板文件实际内容为准;
  • 数据保留:错误计数与 Bytes 类项历史保留 7 天(history: 7d),Model 项为 TEXT 且不建趋势,Uptime 项未显式覆盖历史/趋势配置,导入后如需更长回溯周期可在模板层统一调整。

综上,该模板用 142 个 SNMP 监控项 + 85 个触发器 + 28 张流量图,完整覆盖了一台 HP 1910-24G 交换机的端口级流量、双向 CRC 错误、端口状态与整机运行状态,且零宏、零模板依赖、零发现规则,是理解“纯 SNMP OID 轮询型 Zabbix 模板”内部结构(key/OID/预处理/触发器表达式在 XML 与 YAML 两种导出中的对应关系)的一个典型样本。

【免费下载链接】community-templates

Zabbix Community Templates repository

项目地址:https://gitcode.com/gh_mirrors/co/community-templates
点击查看免费下载
上一篇:LocalVocal:为创作者赋能的本地语音转写革命
下一篇:gemini-chatbot UI组件设计:shadcn/ui与Tailwind CSS打造现代聊天界面

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

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

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

立即咨询