【免费下载链接】community-templates
Zabbix Community Templates repository
本文以 Zabbix Community Templates 仓库中的「SNMP HP v1910-48G」社区模板为对象,完整解析该模板如何为 48 口百兆/千兆交换机 HP 1910-48G 实现逐端口的流量、CRC 错误、端口状态监控。读完后你将掌握该模板的部署前提(SNMP_COMMUNITY/SNMP_PORT宏配置)、242 个监控项背后的标准 MIB OID 映射、预处理与触发器设计,以及 5.0 XML 与 5.4/6.0 YAML 两个版本文件之间的差异。
一、模板定位与版本信息
该模板的官方说明(见 README):
- 它在社区中已存在的 24 端口版本模板(由 Павел Яковлев 发布)基础上,扩展到48 个端口,并使其兼容 Zabbix 2.0.x 及以上版本;
- 模板作者为Rômulo Mendes Figueiredo;
- 官方声明在Zabbix 2.0.6 与 2.2.7中完成过测试。
当前仓库中该模板提供了三个版本的可导入文件,分别对应不同 Zabbix 大版本:
| 版本目录 | 文件 | 格式 |
|---|---|---|
5.0/ | template_zabbix_hp_v1910-48g_snmp.xml | Zabbix XML 导出(5.0) |
5.4/ | template_zabbix_hp_v1910-48g_snmp.yaml | Zabbix YAML 导出(5.4) |
6.0/ | template_zabbix_hp_v1910-48g_snmp.yaml | Zabbix YAML 导出(6.0) |
导入时请按你所在 Zabbix Server 的版本选择对应目录的文件。模板自身的模板名为SNMP HP v1910-48G,归属于名为Templates的模板组。
二、部署前提:SNMP 宏与交换机侧配置
README 明确列出部署时必须设置的两个宏:
| 宏 | 默认/推荐值 | 说明 |
|---|---|---|
{$SNMP_COMMUNITY} | 只读public,读写private | SNMPv1/v2c 的 community 字符串 |
{$SNMP_PORT} | 161 | 交换机 SNMP Agent 的监听端口 |
结合模板导出文件可以补充几点关键事实(源码级佐证):
- 模板本身不内嵌宏定义。5.0 版 XML 文件中不包含任何
<macros>节点(模板内检索为 0 处),因此这两个宏必须在被监控主机的宏设置中定义,否则所有 SNMP Agent 类型监控项会因 community 为空而轮询失败。README 中的 “It is necessary to set” 即指在 Zabbix 前端Configuration → Hosts → (具体主机)→ Macros中新增这两条宏。 - 模板只面向 SNMPv1/v2c。所有监控项类型均为
SNMP_AGENT,community 通过{$SNMP_COMMUNITY}注入;模板中没有出现SNMPv3相关的{$SNMPV3_AUTH_PASSPHRASE}等宏。如果你的 1910-48G 开启了 SNMPv3,需要自行改造后使用。 - 交换机侧需保证 SNMP Agent 在
{$SNMP_PORT}(默认 161)开放,且 community 与宏值一致;若端口被改到非 161,只需修改宏值,无需改模板。
三、监控项全景:242 个 Item 与 6 个应用分组
README 中的 “Items collected” 表格共列出 242 个监控项,覆盖端口 1~48。从 5.0 版 XML 文件核对,实际结构与该表格完全一致,可归纳为6 类监控项族,每一族按端口号 N(N = 1..48)逐一复制:
| 监控项族(示例名称) | Key | SNMP OID | 轮询间隔 | 单位 | 分组(Application) |
|---|---|---|---|---|---|
InErrorsFa0/N | ifInErrors.N | .1.3.6.1.2.1.2.2.1.14.N | 120s | - | CRC Errors Rx |
OutErrorsFa0/N | ifOutErrors.N | .1.3.6.1.2.1.2.2.1.20.N | 120s | - | CRC Errors Tx |
Bytes Rx port N | ifInOctets.N | 1.3.6.1.2.1.2.2.1.10.N | 120s | bps | Bytes Rx |
Bytes Tx port N | ifOutOctets.N | 1.3.6.1.2.1.2.2.1.16.N | 120s | bps | Bytes Tx |
Status port N | ifOperStatus.N | 1.3.6.1.2.1.2.2.1.8.N | 120s | - | Oper Status |
Model(全机 1 项) | .1.3.6.1.2.1.1.1.0 | .1.3.6.1.2.1.1.1.0(sysDescr) | 3600s | TEXT | General |
Uptime(全机 1 项) | Uptime | .1.3.6.1.2.1.1.3.0(sysUpTime) | 60s | s | General |
统计口径:48 口 × 4 族(入/出错误、入/出字节)= 192 项,加 48 个ifOperStatus端口状态项,再加Model与Uptime各 1 项,合计242 项,与 README 表格行数一致。
其中两个全局项值得注意(见 5.0 XML 文件):
- Model:轮询
sysDescr(.1.3.6.1.2.1.1.1.0),值类型 TEXT,inventory_link: MODEL会把它写入 Zabbix 自动库存的型号字段;轮询间隔 3600s、历史保存 7d、不存趋势(trends: 0); - Uptime:轮询
sysUpTime,其原始值是“百分之一秒”,模板通过预处理MULTIPLIER 0.01换算成秒(units: s),轮询间隔 60s。
四、流量监控的预处理:CHANGE_PER_SECOND + MULTIPLIER 8
README 表格中只给出 Key 与Update: 120,而真正的工程细节隐藏在导出文件的预处理配置里。以 5.4 版 YAML 中Bytes Rx port 1一类监控项为例(见 5.4 YAML 文件 中 Bytes Tx 系列的结构):
preprocessing: - type: CHANGE_PER_SECOND - type: MULTIPLIER parameters: - '8'这两步预处理对所有 96 个ifInOctets.N/ifOutOctets.N监控项统一生效(5.4 文件中检索CHANGE_PER_SECOND恰好出现 96 处):
- CHANGE_PER_SECOND:
ifInOctets/ifOutOctets是 32 位单调递增计数器,Zabbix 先计算相邻两次采样的“每秒变化量”,得到 bytes/s; - MULTIPLIER 8:再乘以 8,把 bytes/s 换算为bits/s,因此监控项单位标记为
bps,图上直接呈现速率曲线,无需二次加工。
错误计数项(ifInErrors.N/ifOutErrors.N)与端口状态项(ifOperStatus.N)没有预处理,采集的是原始计数器/枚举值,直接参与触发器判断。
五、触发器设计:CRC 错误、端口 Down 与重启告警
这里有一个需要特别指出的文档与实现不一致之处:README 的 “Triggers” 章节写着 “There are no triggers in this template”,但导出文件中实际内嵌了145 个触发器(5.0 XML 中<trigger>出现 145 次,5.4 YAML 中同样为 145 个)。以模板文件实际内容为准,触发器分为三组:
5.1 每端口 CRC/错误计数告警(96 个,HIGH)
每个InErrorsFa0/N与OutErrorsFa0/N监控项都挂了一个 HIGH 级别触发器:
# 5.0 XML 中的旧式写法 {last(0)}>100 # 5.4/6.0 YAML 中的新式写法 last(/SNMP HP v1910-48G/ifInErrors.N)>100- 名称:
CRC Errors Rx on port N/CRC Errors Tx on port N; - 逻辑:最近一次采集的入/出错误计数值大于 100 即报警;
- 含义:端口线缆、光模块或对端接口出现持续性物理层错误时可被及时捕获。
5.2 端口 Down 告警(48 个,INFO,默认禁用)
每个Status port N监控项及其实体本身都被标记status: DISABLED(5.0 XML 与 5.4 YAML 中禁用状态共 96 处:48 个 Item + 48 个 Trigger),配套的触发器为:
last(/SNMP HP v1910-48G/ifOperStatus.N)=2- 名称:
Port N status down on {HOSTNAME},级别 INFO; - 逻辑:
ifOperStatus取值为 2(down)即报警; - 之所以默认禁用,可以推断是因为:在只有部分端口实际接线的 48 口交换机上,未使用端口的 oper 状态本来就是 down,全部启用会产生大量无意义告警。实践中建议只为你真正在用的端口把对应的 Item 与 Trigger 启用,其余保持禁用即可,这正是模板留给你按需裁剪的设计。
5.3 设备重启告警(1 个,AVERAGE)
挂载在Uptime监控项上:
last(/SNMP HP v1910-48G/Uptime)<600- 名称:
{HOSTNAME} has just been restarted,级别 AVERAGE; - 逻辑:系统运行时间小于 600 秒(10 分钟)即判定交换机刚刚重启,提示非计划断电或配置复位。
六、图形:48 张逐端口流量图
模板内置48 张图形(Port 1 stats~Port 48 stats),每张图固定包含两条曲线:
| 曲线 | 监控项 Key | 颜色 |
|---|---|---|
| 出方向流量 | ifOutOctets.N | 000099(蓝) |
| 入方向流量 | ifInOctets.N | 990000(红) |
图形 Y 轴下限类型设置为FIXED(固定从 0 起始),便于横向比较各端口的流量水位。由于监控项已经过 CHANGE_PER_SECOND × 8 预处理,图上直接就是 bps 单位的实时速率,无需手动换算。
七、5.0 XML 与 5.4/6.0 YAML 版本差异对照
三个目录下的模板内容一致,差异来自 Zabbix 导出格式的演进,维护时应了解:
| 维度 | 5.0(XML) | 5.4 / 6.0(YAML) |
|---|---|---|
| 分组方式 | <applications>应用分组(Bytes Rx、Bytes Tx、CRC Errors Rx、CRC Errors Tx、General、Oper Status) | 转为 Item 级tags(如tag: Application, value: Bytes Rx) |
| 触发器表达式 | 旧式{last(0)}>100(隐含本主机) | 新式last(/SNMP HP v1910-48G/key)>100(显式引用模板与 Key) |
| 唯一标识 | 无 UUID | 每个 Item/Trigger/Graph 均有uuid |
| 模板描述 | 内嵌于<description>(即 README 的 Overview 内容) | 内嵌于description多行字符串 |
两版中的 OID、Key、轮询间隔、预处理、触发阈值均相同,可以认为 5.4/6.0 文件只是格式迁移后的等价物。
八、部署步骤与注意事项
- 导入模板:Zabbix 前端Administration → Templates → Import,选择与你版本对应的 XML(5.0)或 YAML(5.4/6.0)文件;
- 配置主机 SNMP:在目标主机的Host groups/Interfaces中启用 SNMP interface,选择 SNMPv1 或 v2c,并按第二节设置
{$SNMP_COMMUNITY}、{$SNMP_PORT}两个主机宏; - 应用模板:为主机关联
SNMP HP v1910-48G模板后,观察Monitoring → Latest data,确认Model、Uptime先出数,再逐端口核对流量曲线; - 启用端口状态告警:只对在用的端口启用
Status port N及其 down 触发器,避免 48 个未用端口刷屏; - 调优阈值:错误计数阈值
>100与 Uptime 阈值<600均为模板默认值,可在触发器中按需调整。
限制与边界:
- 模板不含任何 LLD 发现规则(README 亦声明 “There are no discovery rules”),端口 1~48 是静态写死的编号,隐含假设交换机的
ifIndex与面板端口一一对应;若设备固件的 ifIndex 编号不一致,需要人工核对 OID; - 该模板只监控接口层(流量、错误、oper 状态、Uptime),不涉及 VLAN、STP、光功率等更深层指标;
- 官方测试版本为 Zabbix 2.0.6/2.2.7,仓库中现存的导出文件面向 5.0/5.4/6.0,升级跨度过大,导入前建议先在测试环境验证;
- 仅支持 SNMPv1/v2c community 方式,无 SNMPv3 支持。
参考文件
- 模板说明:5.0/README.md、5.4/README.md、6.0/README.md
- 模板定义:5.0 XML、5.4 YAML、6.0 YAML
【免费下载链接】community-templates
Zabbix Community Templates repository
相关推荐
Zabbix community-templates「SNMP HP v1905 POE」模板详解:用 SNMP 对 HP PoE 交换机做 26 端口逐项监控
Zabbix community templates「SNMP HP v1905 POE」模板详解:用 SNMP 对 HP PoE 交换机做 26 端口逐项监控
Zabbix 社区模板 SNMP HP v1910-24G 解析:HP v19xx-24G 交换机逐端口 SNMP 监控方案
Zabbix 社区模板 SNMP HP v1910 24G 解析:HP v19xx 24G 交换机逐端口 SNMP 监控方案 本篇指南基于 community
Zabbix 社区模板 SNMP HP v1910-24G:基于 SNMP 的 HP 1910-24G 交换机端口流量与错误监控实践
Zabbix 社区模板 SNMP HP v1910 24G:基于 SNMP 的 HP 1910 24G 交换机端口流量与错误监控实践 本文以 community
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考