【免费下载链接】community-templates
Zabbix Community Templates repository
本文以 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/ | XML | 5.0 | 使用<applications>节点归类监控项 |
| 5.4/ | YAML | 5.4 | 应用归类改用 tags |
| 6.0/ | YAML | 6.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):
| 归类 | 覆盖监控项 | 数量 |
|---|---|---|
| General | Model、Uptime | 2 |
| Bytes Rx | Bytes Rx port 1~28(ifInOctets.N) | 28 |
| Bytes Tx | Bytes Tx port 1~28(ifOutOctets.N) | 28 |
| CRC Errors Rx | InErrorsFa0/1~28(ifInErrors.N) | 28 |
| CRC Errors Tx | OutErrorsFa0/1~28(ifOutErrors.N) | 28 |
| Oper Status | Status port 1~28(ifOperStatus.N) | 28 |
合计 142 个监控项,与 README 的 “Items collected” 表格条目一一对应。
2. 核心监控项详解:key、OID 与采集间隔
由于模板无发现规则,每个端口展开为一组独立监控项。以下按业务归类给出完整的命名模式、key 模式、SNMP OID 与关键参数(端口 N 均取 1~28):
| 监控项名称 | key | SNMP OID | 采集间隔 | 单位 | 历史保留 | 预处理 |
|---|---|---|---|---|---|---|
InErrorsFa0/N | ifInErrors.N | .1.3.6.1.2.1.2.2.1.14.N(ifInErrors) | 120 s | - | 7d | 无 |
OutErrorsFa0/N | ifOutErrors.N | .1.3.6.1.2.1.2.2.1.20.N(ifOutErrors) | 120 s | - | 7d | 无 |
Bytes Rx port N | ifInOctets.N | 1.3.6.1.2.1.2.2.1.10.N(ifInOctets) | 120 s | bps | 7d | CHANGE_PER_SECOND → MULTIPLIER 8 |
Bytes Tx port N | ifOutOctets.N | 1.3.6.1.2.1.2.2.1.16.N(ifOutOctets) | 120 s | bps | 7d | CHANGE_PER_SECOND → MULTIPLIER 8 |
Status port N | ifOperStatus.N | 1.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 s | TEXT | 7d | 无,无趋势 |
Uptime | Uptime | .1.3.6.1.2.1.1.3.0(sysUpTime) | 60 s | s | 默认 | MULTIPLIER 0.01 |
几点实现细节值得注意:
- 吞吐量换算链:
ifInOctets/ifOutOctets原始值是按字节累加的计数器(Counter)。在 6.0 YAML 导出 中,每个 Bytes 类监控项都配置了两步预处理:先执行CHANGE_PER_SECOND(取相邻两次采集的差值除以时间间隔,得到字节/秒),再执行MULTIPLIER 8换算成 bit/秒,因此图中曲线单位是bps。这条预处理链在 5.0 XML 中同样存在(<preprocessing>下依次为CHANGE_PER_SECOND与参数为 8 的MULTIPLIER)。 - Uptime 的百分之一秒换算:
sysUpTime的原始单位是 hundredths of a second(1/100 秒),模板通过MULTIPLIER 0.01预处理将其换算为秒(units 为s),采集间隔 60 s,是所有监控项中轮询最频繁的一个。 - 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>)。 - 端口状态项默认禁用:所有 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 N | last()>100/last(/SNMP HP v1910-24G/ifInErrors.N)>100 | HIGH | 启用 | 28 |
CRC Errors Tx on port N | last()>100/last(/SNMP HP v1910-24G/ifOutErrors.N)>100 | HIGH | 启用 | 28 |
Port N status down on {HOSTNAME} | last(0)=2/ 同左(2表示 ifOperStatus 的 down) | INFO | 禁用 | 28 |
{HOSTNAME} has just been restarted | last(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.N | 000099(深蓝) |
| 接收流量 | ifInOctets.N | 990000(暗红) |
以 Port 1 为例,6.0 YAML 中的图定义(6.0 YAML 第 2855 行起)即引用ifOutOctets.1与ifInOctets.1两个监控项。配合CHANGE_PER_SECOND + ×8预处理,图中直接呈现每个端口的实时 bps 吞吐,无需再做单位换算。
5. 导入与配置步骤
- 选择与 Zabbix 版本匹配的导出文件:5.0 用 XML 文件,5.4/6.0 用对应目录的 YAML 文件;
- 导入模板:在 Zabbix Web 界面中按 根 README 描述的流程导入模板文件;
- 配置主机 SNMP:创建(或编辑)交换机主机,监控方式选择 SNMP agent,并填入设备启用的 SNMP 社区名(模板全部使用 SNMP 轮询,无需在交换机上安装 agent 或额外脚本);
- 链接模板:将
SNMP HP v1910-24G模板挂到该主机,等待 1~2 个采集周期后在 Latest data / 各Port N stats图中验证数据; - 按需启用端口状态监控:若需要端口 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
相关推荐
Zabbix 监控 HP 1920-24G 交换机:SNMP HP v1920-24G 模板全解析与部署指南
Zabbix 监控 HP 1920 24G 交换机:SNMP HP v1920 24G 模板全解析与部署指南 本篇技术指南围绕 community templa
Zabbix 监控 HP v1920-24G 交换机:SNMP 模板全端口采集与告警实践指南
Zabbix 监控 HP v1920 24G 交换机:SNMP 模板全端口采集与告警实践指南 本文以 community templates 仓库中 Netwo
Zabbix 社区模板实战:HP v1920-24G 交换机 SNMP 全端口监控模板深度解析与部署指南
Zabbix 社区模板实战:HP v1920 24G 交换机 SNMP 全端口监控模板深度解析与部署指南 本文围绕 Zabbix Community Templ
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考