【免费下载链接】community-templates
Zabbix Community Templates repository
本文基于 community-templates 仓库中的 HP 网络模板文档 README.md 与对应的模板导出文件 template_zabbix_2.2_hp_v1905_poe_snmp.yaml 撰写,面向需要把 HP ProCurve v1905 PoE 交换机纳入 Zabbix 的运维工程师。读完本文,你将掌握该模板采集的 132 个监控项的完整结构(26 个端口 × 5 类指标 + Model/Uptime)、端口号与 SNMP OID 索引之间的换算规律、预处理与 79 条触发器的设计细节,以及导入模板、配置 SNMP 主机和启用默认禁用项的实操步骤。
1. 模板定位与文件组织
该模板在 Zabbix 中的正式名称为SNMP HP v1905 POE(见 YAML 文件头部template: 'SNMP HP v1905 POE',模板文件),监控对象是一台带有 26 个端口的 HP v1905 PoE 以太网交换机。仓库按 Zabbix 版本将该模板拆分为三个目录:
- 5.0 版本:XML 导出格式,适配 Zabbix 5.0;
- 5.4 版本:YAML 导出格式(
version: '5.4',导出日期 2021-11-25),本文以此版本为主要分析对象; - 6.0 版本:适配 Zabbix 6.0。
模板自身结构非常简洁:不依赖任何用户宏(macros)、不链接其他模板(template links)、也没有自动发现规则(discovery rules / LLD)。文档 README.md 对这三点均有明确说明。这意味着它采用“固定端口、逐项展开”的设计:26 个端口的每个指标都是一个个独立写死的 Item,而不是通过ifIndex动态发现——这是 2014 年前后社区模板的典型做法,适合端口数量固定的小型接入交换机,但无法自动适配端口数不同的设备(详见第 7 节)。
模板归属的主机组为Templates,导入后所有 Item 均通过SNMP_AGENT类型直接轮询设备。
2. 监控项全集:132 个 Item 的完整结构
文档 README.md 的 “Items collected” 表格列出了全部监控项,与 YAML 中的实际定义完全一致(经逐组核对,5.4 版本共132 个 Item:2 个通用项 + 26 端口 × 5 类端口项)。所有端口类指标的更新间隔(delay)统一为120 秒,历史保留(history)统一为7 天;仅 Model 项为 3600 秒、Uptime 项为 60 秒。
2.1 通用项
| 名称 | 键(key) | SNMP OID | 更新间隔 | 说明 |
|---|---|---|---|---|
| Model | .1.3.6.1.2.1.1.1.0 | .1.3.6.1.2.1.1.1.0(sysDescr) | 3600s | 文本型(TEXT),带inventory_link: MODEL,即该值会写入主机清单的“型号”字段;Tag:Application=General |
| Uptime | Uptime | .1.3.6.1.2.1.1.3.0(sysUpTime) | 60s | 原始值单位为 1/100 秒,经MULTIPLIER 0.01预处理换算为秒(units: s);Tag:Application=General |
Model 项定义见 YAML L17-L31,Uptime 项及其预处理、触发器定义见 YAML L2633-L2654。
2.2 端口类指标(每个端口 5 项,端口 1~26)
每个端口 N 都固定采集以下 5 个 Item,键名即标准的 IF-MIB 计数器名加端口索引:
| 指标类别 | Item 键 | 典型 OID(以端口 N 为例) | Tag(Application) | 单位/预处理 |
|---|---|---|---|---|
| 接收流量 | ifInOctets.N | ifInOctets.<518+128×(N-1)> | Bytes Rx | bps;CHANGE_PER_SECOND+MULTIPLIER 8(见 3.1) |
| 发送流量 | ifOutOctets.N | ifOutOctets.<518+128×(N-1)> | Bytes Tx | bps;CHANGE_PER_SECOND+MULTIPLIER 8 |
| 接收错误 | ifInErrors.N | ifInErrors.<518+128×(N-1)> | CRC Errors Rx | 计数值 |
| 发送错误 | ifOutErrors.N | ifOutErrors.<518+128×(N-1)> | CRC Errors Tx | 计数值 |
| 端口状态 | ifOperStatus.N | 1.3.6.1.2.1.2.2.1.8.N | Oper Status | 计数值;默认禁用(见 4.2) |
以“Bytes Rx port 1”为例,其完整定义(YAML L501-L521):
- name: 'Bytes Rx port 1' type: SNMP_AGENT snmp_oid: ifInOctets.518 # 端口1的实际索引为518 key: ifInOctets.1 # 键用逻辑端口号 delay: '120' history: 7d units: bps preprocessing: - type: CHANGE_PER_SECOND # 把累计字节数换算成每秒增量 parameters: - '' - type: MULTIPLIER # 字节转比特 parameters: - '8' tags: - tag: Application value: 'Bytes Rx'2.3 端口号与 OID 索引的换算规律
这是该模板最有复用价值的一个细节。设备侧ifIndex并不从 1 开始,而是遵循如下规律(由 YAML 中逐端口的snmp_oid值反推验证):
- 端口 1 →
ifInErrors.518/ifOutErrors.518/ifInOctets.518/ifOutOctets.518 - 端口 2 → 索引
646(518 + 128) - 端口 3 → 索引
774(518 + 256) - 端口 26 → 索引
3718(518 + 128×25)
即实际索引 = 518 + 128 × (端口号 − 1)。这说明该交换机(v1905)的 IF 表中每个端口在 OID 表里占据 128 个索引槽位(用于承载该端口的全部 ifEntry 列),而模板刻意用ifInOctets.1这类“逻辑键”而非真实索引作 Item 键,让键名、图形、触发器都直接体现人类可读的端口号,真实索引只出现在snmp_oid字段中。如果你在同类 HP 交换机上遇到不同端口布局,只要用snmpwalk拿到真实ifIndex,即可按同样的“逻辑键 + 真实 OID”模式改写模板。
3. 预处理(preprocessing)与单位换算
5.4 版本已使用 Zabbix 5.0 引入的 Item 级 preprocessing 替代老式简单处理器,模板中用到两种:
CHANGE_PER_SECOND:仅用于 52 个流量项(ifInOctets.N、ifOutOctets.N)。IF-MIB 的八进制计数器是累计值,直接采集毫无意义;该处理器以相邻两次采集差值除以时间间隔,得到平均速率。MULTIPLIER:流量项乘8(字节 → 比特,与units: bps配套);Uptime 项乘0.01(sysUpTime 的 1/100 秒 → 秒)。
由此,“Bytes Rx/Tx port N” 在界面上显示的就是比特每秒的流量曲线,无需在图形层再做换算。
4. 触发器(Triggers)设计
需要特别指出:文档 README.md 的 “Triggers” 一节 写着 “There are no triggers in this template.”,这与 YAML 实际内容不符——README 是机器生成的摘要,未统计内嵌在 Item 下的触发器。经对 YAML 全文核对,模板实际定义了79 条触发器,分四类:
4.1 端口接收 CRC 错误(26 条,默认启用,HIGH)
expression: 'last(/SNMP HP v1905 POE/ifInErrors.N)>100' name: 'CRC Errors Rx on port N' priority: HIGH以端口 1 为例见 YAML L44-L49。注意阈值取的是累计值 > 100,而非增量;若设备重启后计数器归零则不会误报,但长期缓慢累积到 100 后该端口会一直处于告警状态,这是模板作者选择的简化口径。
4.2 端口发送 CRC 错误(26 条,默认启用,HIGH)
与 4.1 对称,ifOutErrors.N > 100时触发 “CRC Errors Tx on port N”(YAML L1604-L1609 为端口 1 示例)。
4.3 端口 DOWN(26 条,默认禁用,INFO)
expression: 'last(/SNMP HP v1905 POE/ifOperStatus.N)=2' name: 'Port N status down on {HOSTNAME}' status: DISABLED priority: INFOifOperStatus = 2对应 IF-MIB 的down状态。对应的 26 个 “Status port N” Item(ifOperStatus.N,OID1.3.6.1.2.1.2.2.1.8.N)在模板中同样标记为status: DISABLED(见 YAML L1072-L1091)。作者把端口状态监控整体留作可选能力:接入交换机上未使用的端口本来就处于 down 状态,直接启用会产生大量无意义告警,因此默认关闭,由使用者按需只启用实际使用的端口。
已知缺陷提示:在 YAML 中,“Status port 4” 项的
snmp_oid被误写为interfaces.ifTable.ifEntry.ifOutOctets.4(YAML L1133-L1140),与其余 25 个状态项使用的标准 OID1.3.6.1.2.1.2.2.1.8.N不一致。若你要启用端口 4 的状态监控,建议将该项 OID 修正为1.3.6.1.2.1.2.2.1.8.4后再启用。
4.4 设备刚重启(1 条,默认启用,AVERAGE)
expression: 'last(/SNMP HP v1905 POE/Uptime)<600' name: '{HOSTNAME} has just been restarted' priority: AVERAGE设备启动后 10 分钟内(Uptime < 600 秒)告警一次,用于在无人值守机房中及时发现交换机意外掉电重启。
5. 图形(Graphs)设计
模板定义了26 个图形,命名规则为 “Port N stats”(N=1…26),每个图形包含两条曲线:
ifOutOctets.N,颜色000099(深蓝,发送);ifInOctets.N,颜色990000(深红,接收)。
图形 Y 轴最小值类型为FIXED(从 0 起)。定义起始于 YAML L2655。由于流量项已在 Item 层预处理成 bps,图形展示的是即时的双方向流量对比,可用于定位单向流量异常(如广播风暴、P2P 上行业务)。
6. 导入与配置步骤
结合仓库根 README.md 给出的模板使用方式,完整落地流程如下:
- 下载模板文件:按你的 Zabbix 版本选择对应目录,5.0 用 XML 文件,5.4 用 YAML 文件,6.0 用 YAML 文件。
- 导入模板:Zabbix Web 界面 → 配置(Configuration)→ 模板(Templates)→ 创建模板(Create template),上传上述文件(Zabbix 5.4+ 同时支持 YAML 与 XML 导入)。
- 创建受管主机:新建主机(Hosts)并链接模板 “SNMP HP v1905 POE”;在“SNMP 接口”选项卡中填入交换机 IP 与 community(模板本身不包含 community 信息,凭证必须在主机级配置)。模板未定义 SNMPv3 安全参数,实际使用 v3 时需在主机上补充配置。
- 确认 Model 项:导入后等待一个 3600 秒周期,主机清单的 Model 字段会自动写入 sysDescr 返回的设备描述串,可作为识别 v1905 的佐证。
- 按需启用端口状态项:若需要端口 DOWN 告警,进入模板 → 监控项,只勾选实际使用的端口的 “Status port N” 并保存(注意 4.3 节提到的端口 4 OID 缺陷)。
- 验证:观察 “Uptime” 项 60 秒出值、各端口流量项 120 秒出值;确认 “Port N stats” 图形有数据后,可再评估 CRC 错误阈值
>100是否适合你的网络环境。
7. 适用前提与局限
- 端口数固定为 26:模板为 26 端口的 HP v1905 逐端口写死了全部键和 OID,不具备 LLD 能力。接入其他端口数(如 48 口)或端口布局不同的 HP 交换机时,需手工增删 Item 并按第 2.3 节的规律换算真实
ifIndex。 - 错误阈值是累计口径:CRC 错误触发器判断的是累计计数
>100,对长期运行、低速率抖动的链路可能持续告警,可结合预处理改为增量判断(change())。 - 无宏、无模板链接:不依赖外部参数,但也无法通过宏统一调整阈值,修改阈值需逐条编辑触发器。
- 版本适配:5.0 目录为 XML 格式(老式导出,简单处理器语义),5.4/6.0 为 YAML 格式并采用 preprocessing 机制;从源码结构看,三个版本采集项与触发器逻辑一致,选择与自身 Zabbix 大版本匹配的文件导入即可。
8. 小结
这个社区模板的价值在于示范了一种朴素但完备的“固定端口 SNMP 监控”范式:用 IF-MIB 标准 OID 加端口索引偏移覆盖流量(bps 级预处理)、CRC 错误、端口状态三类数据,配合 79 条分层级触发器与 26 张收发流量对比图,即可在一台 Zabbix 中完整掌握 v1905 PoE 交换机的健康状况;而端口号到真实 OID 索引的518 + 128×(N-1)换算规律、默认禁用的状态项、README 与 YAML 在触发器统计上的出入、端口 4 的 OID 笔误,都是直接复用或维护该模板前必须知晓的细节。
【免费下载链接】community-templates
Zabbix Community Templates repository
相关推荐
Zabbix 社区模板实战:用 SNMP 模板 SNMP HP v1905 POE 监控 HP 1905 网管型 PoE 交换机的 26 个端口
Zabbix 社区模板实战:用 SNMP 模板 SNMP HP v1905 POE 监控 HP 1905 网管型 PoE 交换机的 26 个端口 本文围绕 Za
Zabbix 社区模板实战:基于 SNMP 监控 HP Procurve 2920 系列交换机
Zabbix 社区模板实战:基于 SNMP 监控 HP Procurve 2920 系列交换机 导读 本文基于 Zabbix Community Templat
Zabbix 监控 HP OfficeConnect 19xx 交换机:SNMP OfficeConnect 19XX 社区模板全解
Zabbix 监控 HP OfficeConnect 19xx 交换机:SNMP OfficeConnect 19XX 社区模板全解 本文以 HP Office
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考