news 2026/10/17 1:49:21

Zabbix 社区模板实战:用 SNMP 模板 SNMP HP v1905 POE 监控 HP 1905 网管型 PoE 交换机的 26 个端口

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Zabbix 社区模板实战:用 SNMP 模板 SNMP HP v1905 POE 监控 HP 1905 网管型 PoE 交换机的 26 个端口

【免费下载链接】community-templates

Zabbix Community Templates repository

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

本文围绕 Zabbix 社区模板仓库(community-templates)中的 SNMP HP v1905 POE 模板展开,完整解读这份面向 HP 1905 系列 PoE 交换机的 SNMP 监控方案:模板采集的 133 个监控项(26 端口的ifOperStatus端口状态、ifInOctets/ifOutOctets双向字节流量、ifInErrors/ifOutErrors双向错误计数,外加Model型号与Uptime运行时长)、各监控项的 SNMP OID、更新周期与预处理逻辑、79 条内置触发器的表达式与优先级,以及 26 张端口流量图。读完本文,你可以直接按版本选择导入文件、配置 SNMP 主机,并理解每个键值背后的 MIB 含义与告警设计。

1. 模板定位与版本演进

该模板位于仓库的Network_Devices/HP目录下,模板名为SNMP HP v1905 POE(uuid949cdd54be9544ff8f63d35be45b568b),归属 Zabbix 模板分组Templates。从模板名可以看出它的两个定位:一是监控对象为 HP 1905 系列网管型交换机("v1905" 即 HP 1905 系列),二是该系列的核心特征是 PoE(以太网供电),常见于园区、办公网的接入层部署,通常以 24/26 口千兆 PoE 交换机的形态出现——模板恰好覆盖了 26 个端口,说明作者就是针对 26 口型号逐项固化了监控项。

仓库中保留了三个版本的导出文件,体现了 Zabbix 模板格式从 XML 到 YAML 的演进:

版本目录导出格式对应 Zabbix 版本线
5.0 版 XMLXML(<zabbix_export><version>5.0</version>)Zabbix 5.0
5.4 版 YAMLYAMLZabbix 5.4
6.0 版 YAMLYAML(version: '6.0',导出日期 2021-11-25)Zabbix 6.0

三个版本的元数据完全一致:三个导出文件的导出日期均为2021-11-25T12:38:25/26Z,说明它们是同一份模板在不同版本线下的同步导出。模板名中的 "zabbix 2.2" 表明它最初是在 Zabbix 2.2 时代创建的早期社区模板,后续由社区迁移到了新格式。

5.0 版 README 明确列出了模板的三个"空"特性:

  • Macros used:There are no macros links in this template(没有使用任何 LLD 或自定义宏);
  • Template links:There are no template links in this template(不链接其他模板,也不依赖SNMP interface之类的标准接口模板);
  • Discovery rules:There are no discovery rules in this template(没有自动发现规则)。

这决定了它的实现方式是逐项硬编码(static items):26 个端口、每种指标都单独建一个监控项,而不是用低级别发现(LLD)动态生成。优点是结构简单、导入即用、与 Zabbix 的 SNMP 接口自动发现体系零耦合;代价是端口数量被固定为 26,换用 48 口型号时需要手工增删监控项。

2. 采集体系:133 个监控项的完整构成

README 的 "Items collected" 表格列出了模板采集的全部监控项(5.0 版 README 中为 133 行),类型全部是SNMP agent。按指标类型归纳,构成如下:

指标族数量监控项命名模式Item Key更新周期数据来源 OID(示例:端口 1)
端口运行状态26Status port NifOperStatus.N120sifOperStatus.1→1.3.6.1.2.1.2.2.1.1
接收字节数26Bytes Rx port NifInOctets.N120sifInOctets.1→1.3.6.1.2.1.2.2.1.10
发送字节数26Bytes Tx port NifOutOctets.N120sifOutOctets.1→1.3.6.1.2.1.2.2.1.16
接收错误26Errors Rx port NifInErrors.N120sifInErrors.1→1.3.6.1.2.1.2.2.1.14
发送错误26Errors Tx port NifOutErrors.N120sifOutErrors.1→1.3.6.1.2.1.2.2.1.20
设备型号1Model.1.3.6.1.2.1.1.1.03600ssysDescr
运行时长1UptimeUptime60s1.3.6.1.2.1.1.3.0(sysUpTime)

26 × 5 + 2 =133 个监控项,与 README 表格行数一致。下面逐类说明。

2.1 端口运行状态:ifOperStatus.N

每个端口一个Status port N监控项,键为ifOperStatus.N(N = 1…26),更新周期 120 秒。ifOperStatus是 IF-MIB 中定义的操作状态计数器,取值含义为:1 = up(运行中)、2 = down(关闭)、3 = testing(测试中)。它是判断"这个 PoE 端口是否还活着"的最直接信号:对端设备断电、光模块/网线故障、端口被管理面关闭时都会反映为down。

2.2 双向字节流量:ifInOctets.N / ifOutOctets.N

Bytes Rx port N与Bytes Tx port N分别采集ifInOctets.N与ifOutOctets.N,更新周期 120 秒,历史保留 7 天(YAML 中history: 7d)。原始值是字节累计计数器,6.0 版 YAML 中为它们配置了预处理管道(以端口 1 的ifInOctets.1为例):

preprocessing: - type: CHANGE_PER_SECOND # 求变化率:每秒增量 parameters: - '' - type: MULTIPLIER # 乘以 8,换算为 bps parameters: - '8' tags: - tag: Application value: 'Bytes Rx' # 归类到 Bytes Rx 应用组

两步预处理合起来就是把"字节累计计数器"变成"每秒比特数(bps)":CHANGE_PER_SECOND先算出 Δbytes/s,再乘 8 得到 Δbits/s。这样存储进 Zabbix 的值已经是可直接用于趋势分析的流量速率。Bytes Tx方向同理,标签值为Bytes Tx。

2.3 双向错误计数:ifInErrors.N / ifOutErrors.N

Errors Rx port N/Errors Tx port N采集ifInErrors.N/ifOutErrors.N,更新周期同样是 120 秒。ifInErrors统计的是接收方向上因 CRC 等原因被丢弃的数据帧,ifOutErrors对应发送方向。模板给这两族监控项打的标签分别是CRC Errors Rx与CRC Errors Tx(见 2.4 节应用分组),即作者把它们明确当作 CRC 错误指标来用。

一个值得注意的实现细节:各版本导出文件里,错误类监控项的snmp_oid写法与键值并不一一对应。例如 6.0 版 YAML 中:

name: 'Errors Rx port 1' type: SNMP_AGENT snmp_oid: ifInErrors.518 # 端口 1 的 ifInErrors 绝对索引为 518 key: ifInErrors.1 # 而 Item Key 仍写作 ifInErrors.1

端口 2 为ifInErrors.646、端口 3 为ifInErrors.774……每个端口间隔 128,这是 HP 1905 在其 SNMP 视图中的接口索引(ifIndex)映射方式。而ifOperStatus/ifInOctets/ifOutOctets等项则直接使用.1~.26的端口号索引。从源码结构看,这是早期 Zabbix 2.2 模板的遗留写法(当时 SNMP 项必须显式填 OID),Zabbix 5.4/6.0 导入后会以key作为实际轮询依据,因此按ifInErrors.1~ifInErrors.26理解键值即可。

2.4 系统级监控项:Model 与 Uptime

Model:键为 OID.1.3.6.1.2.1.1.1.0,即sysDescr(系统描述符),更新周期 3600 秒,值类型TEXT,不写趋势(trends: '0'),并在 6.0 版中配置了inventory_link: MODEL——采集到的文本会自动写入主机的资产清单(Asset tag)的 Model 字段。这意味着模板导入后无需手工填设备型号,sysDescr的返回值会同步到资产记录。

Uptime:键为Uptime,对应 OID.1.3.6.1.2.1.1.3.0(sysUpTime,系统运行时间),更新周期 60 秒(全部监控项中最快),单位s。sysUpTime原始单位是百分之一秒(centisecond),模板通过预处理完成换算:

name: Uptime type: SNMP_AGENT snmp_oid: .1.3.6.1.2.1.1.3.0 key: Uptime delay: '60' units: s preprocessing: - type: MULTIPLIER parameters: - '0.01' # centisecond -> second

乘 0.01 后存储值即为秒数,用于趋势图观察设备重启周期。

2.5 应用分组(Application / Tags)

5.0 版 XML 中定义了六个应用(application),6.0 版中转换为等价的 item tags(tag: Application),用于在界面中按功能分组展示:

分组名覆盖的监控项
GeneralModel、Uptime
Oper Status26 个ifOperStatus.N
Bytes Rx26 个ifInOctets.N
Bytes Tx26 个ifOutOctets.N
CRC Errors Rx26 个ifInErrors.N
CRC Errors Tx26 个ifOutErrors.N

3. 告警设计:README 未列出的 79 条触发器

5.0 版 README 的 "Triggers" 一节写着 "There are no triggers in this template"。但对照各版本实际导出文件,这个描述与模板内容不符:6.0 版 YAML 中共有 158 处expression:与priority:字段(即79 条触发器),5.0 版 XML 同样包含触发器定义。可以判断 README 是模板生成器输出的占位文案,实际触发器以导出文件为准。三类触发器如下(6.0 版 YAML 原文摘录):

(1) 端口 CRC 接收错误告警—— 每个端口一条,共 26 条,优先级HIGH:

expression: 'last(/SNMP HP v1905 POE/ifInErrors.1)>100' name: 'CRC Errors Rx on port 1' priority: HIGH

语义是:最近一次采样的ifInErrors.1值大于 100 就产生 HIGH 级告警(ifOutErrors侧对称地有 26 条CRC Errors Tx on port N)。需要注意该表达式用的是last()而非差分,对 PoE 接入层交换机来说,120 秒一次的采样间隔下计数器增量就是错误发生的直接证据;阈值 100 属于偏敏感的设定,在繁忙的共享链路(如接了坏线缆或风暴环路)上可能产生持续告警,实际部署时可按网络情况调整。

(2) 端口 Down 告警—— 每个端口一条,共 26 条。ifOperStatus取值 2 即 down:

expression: 'last(/SNMP HP v1905 POE/ifOperStatus.1)=2' name: 'Port 1 is down' # 同类命名

(3) 设备重启告警—— 作用于 Uptime,优先级AVERAGE:

expression: 'last(/SNMP HP v1905 POE/Uptime)<600' name: '{HOSTNAME} has just been restarted' priority: AVERAGE

设备运行时间不足 600 秒(10 分钟)即提示"刚刚重启"。这里{HOSTNAME}是 Zabbix 5.4+ 触发器名称中的标准宏,显示时替换为实际主机名。配合 60 秒的 Uptime 采集周期,重启事件最多延迟一分钟被发现。

26 + 26 + 26 + 1 = 79 条,与 YAML 中的数量完全吻合。

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

模板的graphs部分定义了 26 张图,命名为Port 1 stats至Port 26 stats,每张图固定最小 Y 轴(ymin_type_1: FIXED),包含两条曲线:

name: 'Port 1 stats' ymin_type_1: FIXED graph_items: - color: '000099' # 蓝色:发送 item: host: 'SNMP HP v1905 POE' key: ifOutOctets.1 - sortorder: '1' color: '990000' # 红色:接收 item: host: 'SNMP HP v1905 POE' key: ifInOctets.1

由于ifInOctets.N/ifOutOctets.N已经过预处理(见 2.2 节),图上的纵轴单位直接是 bps,双曲线同屏对比收发方向,便于快速定位 PoE 交换机的流量不对称(例如上联风暴、环路导致的单向流量暴涨)。

5. 导入与部署要点

前提条件:

  1. HP 1905 交换机的 SNMP Agent 已启用,且 Zabbix Server/Proxy 能访问其 UDP 161 端口;
  2. 在 Zabbix 中为主机配置 SNMP Agent 接口,并填入与交换机一致的 Community 字符串(v2c);
  3. 模板中不存在宏(README "Macros used" 一节已确认),因此导入后无需再补任何{$SNMP_COMMUNITY}之类的宏配置,这是它区别于带宏模板的一点。

导入步骤:按你的 Zabbix 版本选择对应导出文件——Zabbix 5.0 导入 5.0 版 XML;Zabbix 5.4 导入 5.4 版 YAML;Zabbix 6.0 导入 6.0 版 YAML(Zabbix Web 界面:Configuration → Templates → Import)。导入后在目标主机(Snmp agent 类型)上应用模板SNMP HP v1905 POE即可。

适用限制:

  • 端口覆盖固定为 26 个,键值从.1排到.26,适用于 26 口 1905 型号;用于其他口数或接口索引不同的 HP 设备时,需要自行裁剪或扩展监控项;
  • 模板没有链接标准SNMP interface接口模板,也提供不了带宽利用率(需要ifSpeed)等衍生指标,流量速率与端口状态是它的监控边界;
  • 错误告警阈值为硬编码的>100(HIGH),重启告警阈值<600(AVERAGE),调整需手工修改触发器表达式。

6. 小结

SNMP HP v1905 POE 是一份典型的"小而全"接入层交换机模板:133 个 SNMP 监控项完整覆盖 26 端口的状态、双向流量、双向 CRC 错误,外加sysDescr型号(自动写入资产清单)与 60 秒周期的sysUpTime运行时长;79 条触发器提供端口 down、CRC 错误、设备重启三类告警;26 张收发双曲线图支撑逐端口的流量排查。它的价值在于零宏、零模板依赖、导入即用的静态设计,适合作为 HP 1905 PoE 系列监控的基线模板,也可作为理解"IF-MIB 端口指标如何在 Zabbix 中落地为 SNMP 监控项(OID、键值、预处理、标签、触发器、图形全链路)"的范例来研读。

【免费下载链接】community-templates

Zabbix Community Templates repository

项目地址:https://gitcode.com/gh_mirrors/co/community-templates
点击查看免费下载
上一篇:GDAL SAFE 栅格驱动完全指南:Sentinel-1 SAR 产品的打开、多子数据集选择与辐射定标
下一篇:nees-bert-base-portuguese-cased-finetuned-ner未来展望:葡萄牙语NLP技术发展趋势

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/17 1:44:10

SC34018 免提通话电路

概述SC34018合并了必需的放大器、衰减器和几种控制功能做成一种高品质的免提手柄式扬声电话系统。它包括一个话筒放大器、一个用于扬声器的音频功率放大器、发送和接收衰减器、背景噪声电平检测系统和一个衰减器控制系统&#xff0c;对发送和接收电平好于背景噪声做出反应。电路…

作者头像 李华
网站建设 2026/10/17 1:43:07

Linux内核总线机制:从platform bus到自定义总线实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/17 1:42:56

从0到1搭建Code Review机制:流程、指标与落地实践

很多团队都搞过 Code Review&#xff0c;但真正把它做成机制的&#xff0c;十个里面未必有一个。大多数情况是&#xff1a;定了规矩、建了流程、拉了群&#xff0c;头两周热情高涨&#xff0c;一个月后就开始流于形式&#xff0c;review 变成了“rebase 一下我就 merge”&#…

作者头像 李华
网站建设 2026/10/17 1:41:49

BiliTools:四步把B站视频存到本地的完整指南

BiliTools&#xff1a;四步把B站视频存到本地的完整指南 【免费下载链接】BiliTools 本项目已停止维护。 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools 你在B站翻到一套不错的教程系列&#xff0c;或者想存一整季番剧方便离线看&#xff0c;BiliTool…

作者头像 李华