【免费下载链接】community-templates
Zabbix Community Templates repository
本文以 Zabbix 社区模板仓库(community-templates)中的SNMP HP v1910-24G模板为核心,完整拆解其 198 个监控项(Model、Uptime、28 个端口的收/发字节数、CRC 错误计数、运行状态)、85 条触发器表达式以及 28 张端口流量图的设计逻辑。读完后你可以直接将该模板导入 Zabbix(仓库提供 5.0 / 5.4 / 6.0 三个版本的导出文件),为 HP V1910-24G 管理型交换机的 28 个 Fa 端口建立流量观测、错误告警和掉线检测能力,并理解其中"默认禁用项"背后的运维取舍。
1. 模板定位与仓库中的版本文件
该模板位于仓库的Network_Devices/HP/目录下,目录名为 template_zabbix_2.2_hp_v1910-24g_snmp。目录名中的 "zabbix_2.2" 表明它最早是为 Zabbix 2.2 编写,后经社区维护升级为新版导出格式。仓库为它提供了三个可直接导入的版本:
| 版本 | 文件 | 格式 |
|---|---|---|
| Zabbix 5.0 | template_zabbix_2.2_hp_v1910-24g_snmp.xml | XML |
| Zabbix 5.4 | template_zabbix_2.2_hp_v1910-24g_snmp.yaml | YAML |
| Zabbix 6.0 | template_zabbix_2.2_hp_v1910-24g_snmp.yaml | YAML |
本文以 5.4 版的 YAML 导出文件为主进行逐层解析。导入方式很简单:Zabbix 管理界面进入配置 → 模板 → 导入,选择对应版本的导出文件即可完成;或将其下载到本地后在 UI 中导入。
模板的 README(5.4 版 README)明确说明了三件结构性的事:
- 无宏(Macros):模板不依赖任何 LLD 宏或全局宏,无需在主机上额外配置宏值;
- 无模板链接(Template links):不继承任何其他模板,所有监控项都定义在本模板内;
- 无发现规则(Discovery rules):不做 LLD 自动发现,28 个端口的监控项是按端口编号逐个静态写死的(
Fa0/1~Fa0/28)。
这一点决定了模板的使用方式:端口编号(ifIndex)必须与交换机实际接口序号一一对应。从源码结构看,5.4 版 YAML 中端口的snmp_oid直接是ifXxx.接口序号(例如InErrorsFa0/1的 OID 为.1.3.6.1.2.1.2.2.1.14.1),即依赖设备侧 ifIndex 与面板端口编号一致。HP V1910-24G 为 24 口千兆交换机,模板却覆盖了Fa0/1到Fa0/28共 28 个端口,从命名可推断其将设备接口表中的前 28 个接口(含上行/光口在内的全部 Fa 接口)都纳入监控。
2. 监控项全景:2 个整机项 + 7 组 × 28 端口
README 的 "Items collected" 表格共列出 198 个监控项,与 YAML 文件中key:的实际数量(198)完全一致。按功能可分为 7 大类,全部为SNMP agent类型:
| 分类 | Key 形式 | OID 基数 | 采集间隔 | 每端口数量 | 说明 |
|---|---|---|---|---|---|
| 型号识别 | .1.3.6.1.2.1.1.1.0(sysDescr) | .1.3.6.1.2.1.1.1.0 | 3600 秒 | 1 项 | 文本型,写入设备库存 |
| 运行时间 | Uptime(sysUpTime) | .1.3.6.1.2.1.1.3.0 | 60 秒 | 1 项 | 预处理 ×0.01 换算为秒 |
| 接收 CRC 错误 | ifInErrors.N | .1.3.6.1.2.1.2.2.1.14.N | 120 秒 | 28 项 | 标签CRC Errors Rx |
| 发送 CRC 错误 | ifOutErrors.N | .1.3.6.1.2.1.2.2.1.16.N | 120 秒 | 28 项 | 标签CRC Errors Tx |
| 端口运行状态 | ifOperStatus.N | .1.3.6.1.2.1.2.2.1.8.N | 120 秒 | 28 项 | 默认禁用 |
| 接收字节数 | ifInOctets.N | ifInOctets | 120 秒 | 28 项 | 标签Bytes Rx |
| 发送字节数 | ifOutOctets.N | ifOutOctets | 120 秒 | 28 项 | 标签Bytes Tx |
其中 N 为 1~28,即端口序号。以下逐组说明。
2.1 Model:用 sysDescr 识别设备型号
YAML 中第一个监控项是Model:
name: Model type: SNMP_AGENT snmp_oid: .1.3.6.1.2.1.1.1.0 key: .1.3.6.1.2.1.1.1.0 delay: '3600' history: 7d trends: '0' value_type: TEXT inventory_link: MODEL tags: - tag: Application value: General要点:
- 采集的是
sysDescr.0(系统描述字符串),对 HP 交换机通常包含HP Comware系列字样与 V1910-24G 型号信息; value_type: TEXT且trends: '0',即只保留 7 天历史、不写趋势库,符合文本类信息的存储习惯;inventory_link: MODEL会把采集结果自动回填到主机库存(Inventory)的"型号"字段;- 采集周期 3600 秒,一天只采一次,成本极低。
2.2 Uptime:sysUpTime 的换算与"刚重启"告警
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'sysUpTime.0的原始单位是1/100 秒,模板通过预处理(MULTIPLIER 0.01)换算成秒,units: s标注了最终单位。采集间隔 60 秒,是全部监控项中最密集的,为的是及时发现交换机重启。该监控项绑定的触发器(见第 3 节)在运行时间小于 600 秒时报告{HOSTNAME} has just been restarted。
2.3 每端口指标:ifInErrors / ifOutErrors / ifOperStatus / ifInOctets / ifOutOctets
以端口 1 为例,接收方向 CRC 错误监控项在 YAML 中的定义:
name: InErrorsFa0/1 type: SNMP_AGENT snmp_oid: .1.3.6.1.2.1.2.2.1.14.1 key: ifInErrors.1 delay: '120' history: 7d tags: - tag: Application value: 'CRC Errors Rx'要点归纳(28 个端口结构完全相同,仅序号递增):
- Key 命名:
ifInErrors.1、ifOutErrors.2、ifOperStatus.25……前缀即标准 ifTable 表项名,后缀即 ifIndex。README 中的InErrorsFa0/12这类名称则是按"端口号"的人类可读命名; - 采集间隔 120 秒、历史 7 天:流量与错误计数器采用 2 分钟粒度、一周保留,兼顾存储与回溯;
- Application 标签:每类监控项都打了语义标签(
CRC Errors Rx/CRC Errors Tx/Oper Status/Bytes Rx/Bytes Tx),便于后续在仪表盘或发现规则中按标签筛选; - 无 auto-calcul 说明:从源码结构看,
ifInOctets/ifOutOctets在导出文件中未配置自动每秒换算(unsecured 计数器处理),Zabbix 会按采集到的字节计数值展示与计算变化,使用时以界面显示为准。
2.4 默认禁用的端口状态项
需要特别注意:Status port 1~Status port 28这 28 个ifOperStatus监控项在 5.4 版 YAML 中带有status: DISABLED字段,即导入后默认不采集;它们绑定的触发器同样是status: DISABLED。这是原作者有意的默认策略(避免大量未插线的端口持续产生告警噪声),如果你需要端口 Up/Down 监控,需在 Zabbix 中选中对应主机后启用(Enable)这些监控项与触发器。
3. 触发器:85 条表达式与各自的默认状态
README 的 "Triggers" 一节写着 "There are no triggers in this template",但 YAML 导出文件中实际定义了85 条触发器(triggers:与expression:各出现 85 次)。README 的该说明与 5.4 版 YAML 存在出入,以导出文件为准。85 条触发器分为 4 组:
3.1 接收方向 CRC 错误(28 条,启用,HIGH)
last(/SNMP HP v1910-24G/ifInErrors.1)>100命名:CRC Errors Rx on port 1~...port 28,严重级别HIGH。逻辑是"该端口的接收错误计数值大于 100 即告警"——注意表达式直接对计数器当前值做阈值判断而非增速(未用change()/increase()函数),因此在计数器被交换机清零后不会立即消失,属于简单直接的阈值式监控。
3.2 发送方向 CRC 错误(28 条,启用,HIGH)
last(/SNMP HP v1910-24G/ifOutErrors.1)>100命名CRC Errors Tx on port N,级别同样 HIGH,阈值 100。CRC 错误持续增长通常指向网线质量、端口自协商异常或线缆接触问题,与状态告警配合可以快速定位到具体物理端口。
3.3 端口 Down(28 条,默认禁用,INFO)
last(/SNMP HP v1910-24G/ifOperStatus.1)=2命名Port 1 status down on {HOSTNAME}(使用{HOSTNAME}宏,告警标题会带上主机名),级别INFO,且监控项与触发器均默认禁用(见 2.4 节)。ifOperStatus取值 2 即 down。若环境中存在大量空闲端口,这正是默认禁用的原因:启用后未插线的端口会在 120 秒内开始持续产生 INFO 告警。启用与否应结合"该交换机是否每个端口都必须在线"的运维要求决定。
3.4 整机重启(1 条,启用,AVERAGE)
last(/SNMP HP v1910-24G/Uptime)<600命名{HOSTNAME} has just been restarted,级别AVERAGE。运行时间不足 600 秒(10 分钟)时触发,用于捕获意外断电、风扇故障或配置错误导致的交换机重启。
四组合计 28 + 28 + 28 + 1 =85 条,与 YAML 文件统计一致。
4. 图表:每端口一张收发流量图
模板定义了28 张图,命名为Port 1 stats~Port 28 stats,结构完全一致,以第 1 张为例:
name: 'Port 1 stats' ymin_type_1: FIXED graph_items: - color: '000099' item: host: 'SNMP HP v1910-24G' key: ifOutOctets.1 - sortorder: '1' color: '990000' item: host: 'SNMP HP v1910-24G' key: ifInOctets.1- 每条图包含两条曲线:
ifOutOctets.N(深蓝000099,发送方向)与ifInOctets.N(深红990000,接收方向); ymin_type_1: FIXED表示 Y 轴下限固定从 0 开始,避免流量图"放大"造成的误读;- 28 张图 + 每 120 秒 112 个计数器采集项,是这套静态(非 LLD)设计的直接结果——换来的是零发现开销与直观的按端口命名。
5. 导入与使用要点
结合 5.4 版 README 与 YAML 定义,落地该模板时的要点:
- 选择匹配的版本文件导入:Zabbix 5.0 用 XML 版,5.4 / 6.0 用对应 YAML 版,导入后模板名称为
SNMP HP v1910-24G,所属模板组为Templates; - 主机侧只需配置 SNMP:模板内所有项均为 SNMP agent 类型、无宏、无 LLD,因此主机必须配置好 SNMP 接口(社区名/版本/安全参数),其余无需额外宏定义;
- 核对 ifIndex 与面板端口:监控项按
Fa0/1~Fa0/28静态映射 ifIndex 1~28,导入后可先用Model(sysDescr)确认设备类型,再抽查某个已知端口的流量曲线与面板实际是否一致,避免设备升级后接口表序号变化导致"张冠李戴"; - 按需在主机层面启用状态监控:端口 Down 相关的 28 项监控与 28 条触发器默认禁用,若需要 Up/Down 告警,在对应主机的监控项/触发器列表中批量启用即可(触发器名称中的
{HOSTNAME}会自动替换为实际主机名); - 理解告警阈值语义:CRC 错误类触发器判断的是计数器当前值是否超过 100,而非增量。设备重启或端口重置使计数器归零后,告警会随之恢复;
- 监控量级:单台交换机共 198 项采集(120 秒项 168 个 + 60 秒项 1 个 + 3600 秒项 1 个),按 2 分钟间隔约每分钟 1.4 次 SNMP 轮询(Zabbix 按轮询批处理),批量部署到大量交换机时应评估轮询器负载。
6. 小结
SNMP HP v1910-24G是社区模板仓库中一个典型的"静态端口全量监控"方案:用 2 个整机项(sysDescr 型号识别 + sysUpTime 换算秒数的 Uptime)解决设备身份与存活观测,用 7 组 × 28 端口的 ifTable 标准 OID 覆盖流量、错误计数与端口状态,并配套 85 条触发器(CRC 错误 2×28、端口 Down 28、重启 1)与 28 张收发流量图。它的取舍非常明确——放弃 LLD 的动态发现,换取逐端口、可预测、可读性强的监控结构;端口状态类监控默认禁用,把"是否需要 Down 告警"的决定权交给运维者。对于仍在使用 HP V1910-24G 这类 Comware 交换机、且希望以最小配置成本获得逐端口可观测性的团队,该模板(仓库中 5.0/5.4/6.0 三个版本均开箱可用)是一个值得参考的基线实现。
【免费下载链接】community-templates
Zabbix Community Templates repository
相关推荐
Zabbix 社区模板 SNMP HP v1910-24G:基于 SNMP 的 HP 1910-24G 交换机端口流量与错误监控实践
Zabbix 社区模板 SNMP HP v1910 24G:基于 SNMP 的 HP 1910 24G 交换机端口流量与错误监控实践 本文以 community
Zabbix 社区模板实战:HP v1920-24G 交换机 SNMP 全端口监控模板深度解析与部署指南
Zabbix 社区模板实战:HP v1920 24G 交换机 SNMP 全端口监控模板深度解析与部署指南 本文围绕 Zabbix Community Templ
Zabbix 监控 HP 1920-24G 交换机:SNMP HP v1920-24G 模板全解析与部署指南
Zabbix 监控 HP 1920 24G 交换机:SNMP HP v1920 24G 模板全解析与部署指南 本篇技术指南围绕 community templa
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考