【免费下载链接】community-templates
Zabbix Community Templates repository
本篇技术指南围绕 Zabbix 官方社区模板Template_A10_AX_Series(仓库路径:Network_Devices/A10/template_a10_ax_series)展开,完整讲解该模板如何通过 SNMP 与 A10-AX-MIB 采集 A10 AX 系列应用交付控制器的 CPU、内存、磁盘、风扇、温度与电源状态,并结合仓库中的 YAML/XML 导出源码剖析其低级别自动发现(LLD)、数据预处理与告警触发器的底层实现。读完本文,你将掌握该模板的全部监控项、发现规则、触发器逻辑与部署方法,可直接将其导入 Zabbix 5.0/5.4/6.0 用于生产环境监控。
模板概览与适用范围
Template_A10_AX_Series是 Zabbix 社区模板仓库中面向A10 Networks AX 系列设备的 SNMP 监控模板,模板归属分组为Templates SNMP Devices(见 6.0 YAML 导出文件)。该模板具备以下两个显著特征:
- 无宏(Macros):模板不依赖任何自定义宏,开箱即用,无需额外配置 {$USER}、{$PASSWORD} 之类的占位变量;
- 无模板链接(Template links):模板完全自包含,不继承其他模板,监控逻辑全部内联在自身定义中。
仓库在Network_Devices/A10/template_a10_ax_series/下同时提供三个 Zabbix 版本的原生导出文件:
| Zabbix 版本 | 文件格式 | 仓库路径 |
|---|---|---|
| 5.0 | XML | template_a10_ax_series.xml |
| 5.4 | YAML | template_a10_ax_series.yaml |
| 6.0 | YAML | template_a10_ax_series.yaml |
三个版本的监控项、发现规则与触发器在语义上保持一致,仅导出格式与部分语法(如 5.0 的<applications>应用分组、5.4/6.0 的 tags 标签)存在差异。适用前提:目标设备必须为 A10 AX 系列设备,且开启 SNMP Agent 服务、可正常响应A10-AX-MIB(企业私有 MIB 子树根为.1.3.6.1.4.1.22610,模板中所有监控 OID 均位于.1.3.6.1.4.1.22610.2.4.1之下)。
监控数据采集架构
模板的数据采集由16 个静态监控项与3 条低级别自动发现规则(LLD)两部分组成:
- 静态监控项:直接采集单实例 OID,覆盖系统温度、磁盘容量、内存容量、三把风扇转速、控制/数据/总 CPU 使用率、左右(上下)电源状态、序列号与固件版本;
- LLD 发现规则:对风扇(FAN)、电源(Power Supply)、电源电压(Power Supply Voltage)三类多实例对象做自动发现,动态生成带
{#SNMPVALUE}索引的监控项原型与触发器原型,避免为每个物理实例手工建项。
这一设计意味着模板既可监控固定数量硬件组件(如 3 把风扇、双电源),也能通过 LLD 适配不同硬件配置的设备,扩容后自动纳入监控。
系统级资源监控项详解
以下 16 个监控项均为SNMP agent类型,直接轮询单实例 OID。表格综合 6.0 README 与 6.0 YAML 的完整定义:
| 监控项名称 | 键(key) | SNMP OID | 更新间隔 | 单位/类型 | 说明 |
|---|---|---|---|---|---|
| System Temperature | axSysHwPhySystemTemp | .1.3.6.1.4.1.22610.2.4.1.5.1.0 | 60s | °C | 物理系统温度(摄氏度) |
| CPU Usage (5 sec) | axSysAverageCpuUsage | .1.3.6.1.4.1.22610.2.4.1.3.3.0 | 60s | % | 最近 5 秒平均 CPU 使用率 |
| Control CPU Usage (5 sec) | axSysAverageControlCpuUsage | .1.3.6.1.4.1.22610.2.4.1.3.4.0 | 60s | % | 最近 5 秒控制平面 CPU 使用率 |
| Data CPU Usage (5 sec) | axSysAverageDataCpuUsage | .1.3.6.1.4.1.22610.2.4.1.3.5.0 | 60s | % | 最近 5 秒数据平面 CPU 使用率 |
| Free Disk Space | axSysDiskFreeSpace | .1.3.6.1.4.1.22610.2.4.1.4.2.0 | 300s | B | 磁盘剩余空间(MIB 原始单位 MB,预处理换算为字节) |
| Total Disk Space | axSysDiskTotalSpace | .1.3.6.1.4.1.22610.2.4.1.4.1.0 | 3600s | B | 磁盘总容量(MIB 原始单位 MB,预处理换算为字节) |
| Used memory | axSysMemoryUsage | .1.3.6.1.4.1.22610.2.4.1.2.2.0 | 300s | B | 已用内存(MIB 原始单位 KB,预处理换算为字节) |
| Total memory | axSysMemoryTotal | .1.3.6.1.4.1.22610.2.4.1.2.1.0 | 3600s | B | 内存总量(MIB 原始单位 KB,预处理换算为字节) |
| Speed of FAN #1 | axSysHwFan1Speed | .1.3.6.1.4.1.22610.2.4.1.5.2.0 | 300s | RPM | 风扇 1 转速 |
| Speed of FAN #2 | axSysHwFan2Speed | .1.3.6.1.4.1.22610.2.4.1.5.3.0 | 300s | RPM | 风扇 2 转速 |
| Speed of FAN #3 | axSysHwFan3Speed | .1.3.6.1.4.1.22610.2.4.1.5.4.0 | 300s | RPM | 风扇 3 转速 |
| Status of Left or Lower Power Supply | axSysLowerOrLeftPowerSupplyStatus | .1.3.6.1.4.1.22610.2.4.1.5.7.0 | 60s | 数值 | 左下电源状态 |
| Status of Right or Upper Power Supply | axSysUpperOrRightPowerSupplyStatus | .1.3.6.1.4.1.22610.2.4.1.5.8.0 | 60s | 数值 | 右上电源状态 |
| Firmware Version | axSysFirmwareVersion | .1.3.6.1.4.1.22610.2.4.1.6.3.0 | 86400s | 字符(CHAR) | 固件版本,每天更新一次 |
| Serial Number | axSysSerialNumber | .1.3.6.1.4.1.22610.2.4.1.6.2.0 | 86400s | 字符(CHAR) | 设备序列号,每天更新一次 |
设计要点:
- 更新节奏分层:温度、CPU、电源状态等敏感指标 60s 采集;风扇转速、磁盘剩余、内存使用 300s;磁盘总量、内存总量 3600s(每小时);序列号、固件版本 86400s(每天)——慢变信息低频采集以降低 SNMP 轮询开销;
- 字符型监控项关闭趋势存储:YAML 中
Serial Number与Firmware Version显式设置了trends: '0'(见 6.0 YAML 与 同一文件),这类非数值信息无需历史趋势聚合,可减少数据库存储负担; - 单位归一化:磁盘与内存监控项虽然在 MIB 中分别以 MB/KB 返回,但模板统一通过预处理转换为字节(B),便于横向对比与告警阈值计算(详见后文"数据预处理"小节)。
三项低级别自动发现规则(LLD)
模板通过三条 SNMP 发现规则将物理硬件实例动态映射为监控项,发现结果统一以{#SNMPVALUE}宏作为索引值。三条规则均 300s 执行一次,使用 Zabbix 的discovery[{#SNMPVALUE},<OID>]语法扫描指定 MIB 表。
FAN Discovery(风扇发现)
| 属性 | 值 |
|---|---|
| 名称 | FAN Discovery |
| 键 | axFanName |
| 发现 OID | discovery[{#SNMPVALUE},.1.3.6.1.4.1.22610.2.4.1.5.9.1.2] |
| MIB 对象 | A10-AX-MIB::axFanName(系统风扇名称) |
| 更新间隔 | 300s |
该规则扫描axFanTable(表索引列.1.3.6.1.4.1.22610.2.4.1.5.9.1.2),为每个风扇实例生成两个监控项原型:
| 原型名称 | 键 | 原型 OID | 更新间隔 | 单位/类型 |
|---|---|---|---|---|
| Speed of FAN "$1" | axFanSpeed["{#SNMPVALUE}"] | .1.3.6.1.4.1.22610.2.4.1.5.9.1.4.{#SNMPINDEX} | 300s | RPM |
| Status of "$1" FAN | axFanStatus["{#SNMPVALUE}"] | .1.3.6.1.4.1.22610.2.4.1.5.9.1.3.{#SNMPINDEX} | 60s | FLOAT |
其中axFanStatus的状态编码直接来自 MIB 定义(见 6.0 YAML 描述):
| 取值 | 含义 |
|---|---|
| 0 | Failed(故障) |
| 4 | OK-fixed/high |
| 5 | OK-low/med |
| 6 | OK-med/med |
| 7 | OK-med/high |
| -2 | not ready(未就绪) |
| -1 | unknown(未知) |
该规则附带触发器原型:last(/A10_AX_Series/axFanStatus["{#SNMPVALUE}"])=0,即风扇状态为 0(Failed)时触发HIGH级告警"FAN "{#SNMPVALUE}" is failed"。
Power Supply Discovery(电源发现)
| 属性 | 值 |
|---|---|
| 名称 | Power Supply Discovery |
| 键 | axPowerSupplyName |
| 发现 OID | discovery[{#SNMPVALUE},.1.3.6.1.4.1.22610.2.4.1.5.12.1.2] |
| MIB 对象 | A10-AX-MIB::axPowerSupplyName(电源名称) |
| 更新间隔 | 300s |
为每个电源实例生成监控项原型:
| 原型名称 | 键 | 原型 OID | 更新间隔 | 类型 |
|---|---|---|---|---|
| Status of Power Supply "$1" | axPowerSupplyStatus["{#SNMPVALUE}"] | .1.3.6.1.4.1.22610.2.4.1.5.12.1.3.{#SNMPINDEX} | 30s | FLOAT |
该原型附带两条触发器原型(告警级别均为 WARNING):
last(...axPowerSupplyStatus["{#SNMPVALUE}"])=2→"Power Supply "{#SNMPVALUE}" is absent"(电源缺失)last(...axPowerSupplyStatus["{#SNMPVALUE}"])=0→"Power Supply "{#SNMPVALUE}" is off"(电源关闭)
注意:在 6.0 版导出文件中,Status of Power Supply "$1"原型默认状态为DISABLED(见 6.0 YAML),即导入后由该原型生成的项目默认不启用采集。若生产环境中需要监控电源在线状态,需在 Zabbix 前端将对应监控项手动启用。
Power Supply Voltage Discovery(电源电压发现)
| 属性 | 值 |
|---|---|
| 名称 | Power Supply Voltage Discovery |
| 键 | axPowerSupplyVoltageDescription |
| 发现 OID | discovery[{#SNMPVALUE},.1.3.6.1.4.1.22610.2.4.1.5.11.1.3] |
| MIB 对象 | A10-AX-MIB::axPowerSupplyVoltageDescription(电源电压描述) |
| 更新间隔 | 300s |
为每个电压传感器生成监控项原型:
| 原型名称 | 键 | 原型 OID | 更新间隔 |
|---|---|---|---|
| Status of Power Supply Voltage "$1" | axPowerSupplyVoltageStatus["{#SNMPVALUE}"] | .1.3.6.1.4.1.22610.2.4.1.5.11.1.2.{#SNMPINDEX} | 60s |
该原型附带触发器原型:last(...axPowerSupplyVoltageStatus["{#SNMPVALUE}"])=0→AVERAGE 级告警"Power Supply Voltage "{#SNMPVALUE}" is invalid"(电压无效)。
MIB 描述同时注明了一个重要限制:"This is only supported for the platform where the sensor data is available",即电压传感器数据仅在硬件平台提供该能力时才可用;无对应传感器的机型上该发现规则不会产出有效数据,属于正常现象。
告警触发器体系
模板的告警体系由"静态触发器 + 全局触发器 + LLD 触发器原型"三部分组成,全部无恢复表达式(恢复依赖状态值回到非告警值)。
静态监控项上的触发器
CPU 类三项(总/控制/数据平面)各带一个 AVERAGE 级触发器,表达式语义一致:
min(/A10_AX_Series/axSysAverageCpuUsage,5m)>90 min(/A10_AX_Series/axSysAverageControlCpuUsage,5m)>90 min(/A10_AX_Series/axSysAverageDataCpuUsage,5m)>90含义:最近 5 分钟的 CPU 使用率最小值超过 90%时触发"High CPU Usage [{ITEM.LASTVALUE1}]"等告警(见 6.0 YAML)。使用min(5m)而非last()可过滤瞬时尖峰,只有持续满载才告警,适合应用交付控制器这类长期高负载设备。
左右(上下)电源状态项各带一个 AVERAGE 级触发器(type: MULTIPLE,即多事件触发器):
last(/A10_AX_Series/axSysLowerOrLeftPowerSupplyStatus)=0 → "Lower/Left Power Supply is off" last(/A10_AX_Series/axSysUpperOrRightPowerSupplyStatus)=0 → "Upper/Right Power Supply is off"全局触发器(基于多个监控项联动)
| 触发器名称 | 表达式 | 优先级 |
|---|---|---|
| Free disk space is less than 20% | max(/A10_AX_Series/axSysDiskFreeSpace,1d)<last(/A10_AX_Series/axSysDiskTotalSpace)*0.2 | AVERAGE |
| High memory usage | last(/A10_AX_Series/axSysMemoryUsage)>=last(/A10_AX_Series/axSysMemoryTotal)*0.9 | AVERAGE |
这两条触发器展示了模板的告警设计思路(见 6.0 YAML 全局触发器段):
- 磁盘告警用 1 天最大值:
max(...,1d)取当日磁盘剩余空间的最大值(即最宽松时刻)与总量比较,只有全天最空余时仍不足 20% 才告警,避免瞬时写满导致的抖动误报; - 内存告警用相对比例:以
已用内存 ≥ 总量 × 0.9判断,90% 的阈值对内存占用相对稳定的网络设备较为合理,且不依赖设备具体容量。
LLD 触发器原型汇总
以下触发器由发现规则在导入时生成,告警级别与表达式在 6.0 README 中有完整清单:
| 触发器名称 | 表达式 | 优先级 |
|---|---|---|
| FAN "{#SNMPVALUE}" is failed | last(/Template_A10_AX_Series/axFanStatus["{#SNMPVALUE}"])=0 | high |
| Power Supply "{#SNMPVALUE}" is absent | last(.../axPowerSupplyStatus["{#SNMPVALUE}"])=2 | warning |
| Power Supply "{#SNMPVALUE}" is off | last(.../axPowerSupplyStatus["{#SNMPVALUE}"])=0 | warning |
| Power Supply Voltage "{#SNMPVALUE}" is invalid | last(.../axPowerSupplyVoltageStatus["{#SNMPVALUE}"])=0 | average |
优先级梯度为:风扇故障(HIGH)> 电压异常(AVERAGE)> 电源缺失/关闭(WARNING),符合硬件故障的严重程度排序——风扇失效直接影响散热,必须高优先级告警;冗余电源单路掉电仍可由另一路供电,故降级为 warning 提示。
图形与可视化
模板内置 4 张图形(见 6.0 YAML graphs 段),将同类指标聚合展示:
| 图形名称 | 包含监控项 | 特性 |
|---|---|---|
| CPU Usage | Control CPU Usage / CPU Usage / Data CPU Usage | 纵轴固定刻度(FIXED),三线对比控制面与数据面负载 |
| Disk Space Usage | Free Disk Space / Total Disk Space | 渐变线(GRADIENT_LINE)绘制 |
| Memory Usage | Used memory / Total memory | 渐变线(GRADIENT_LINE)绘制 |
| Speed of FANs | FAN #1 / FAN #2 / FAN #3 | 三把风扇转速同图对比 |
CPU Usage 图将纵轴设为固定刻度,保证百分比读数在视觉上不被自动缩放误导;FAN 图将三把风扇转速叠加,可直观发现某一风扇转速偏离群体均值(往往是故障前兆)。
关键实现细节:数据预处理与单位换算
磁盘与内存监控项在 MIB 层返回的原始单位与展示单位不一致,模板通过 Zabbix 预处理步骤(preprocessing)完成换算:
| 监控项 | MIB 原始单位 | 预处理类型 | 乘数 | 结果单位 |
|---|---|---|---|---|
| Free Disk Space / Total Disk Space | MB | MULTIPLIER | 1048576(= 1024 × 1024) | B |
| Used memory / Total memory | KB | MULTIPLIER | 1024 | B |
换算逻辑见 6.0 YAML 的预处理段(磁盘)与 同一文件的记忆体内存段(内存)。将容量统一归一化为字节(B)的意义在于:
- 避免监控项单位混乱导致图表读数歧义;
- 保证全局触发器"Free disk space is less than 20%"与"High memory usage"中的乘除比较在同一量纲下进行,不因单位不一致产生量级错误。
字符型监控项(Firmware Version、Serial Number)则不设预处理,直接以字符串入库并关闭趋势存储。
部署与使用指南
1. 导入模板
在 Zabbix Web 前端执行Configuration(配置)→ Templates(模板)→ Import(导入),选择对应版本的导出文件:
- Zabbix 6.0:导入 template_a10_ax_series.yaml(6.0 目录);
- Zabbix 5.4:导入 template_a10_ax_series.yaml(5.4 目录);
- Zabbix 5.0:导入 template_a10_ax_series.xml(5.0 目录)。
导入时保持默认勾选(模板、监控项、触发器、图形、发现规则全部导入),导入成功后可在模板列表搜索A10_AX_Series确认。
2. 关联主机并配置 SNMP
- 在主机配置中为 A10 AX 设备添加SNMP interfaces,填写管理 IP 与 SNMP community(或按需启用 SNMPv3);
- 在主机 Templates 标签中链接
A10_AX_Series模板; - 等待一个更新周期(最长 86400s,即序列号/固件版本项首次取值可能延迟至一天)后,在Monitoring → Latest data中验证监控项开始收数。
3. 连通性验证
模板所有监控 OID 均位于企业私有子树.1.3.6.1.4.1.22610.2.4.1(A10-AX-MIB 的axSys组)。导入前可用 SNMP 工具先行探测,例如:
snmpwalk -v2c -c <community> <设备IP> .1.3.6.1.4.1.22610.2.4.1若该子树返回为空,说明设备未启用 SNMP 服务或固件不支持 A10-AX-MIB,模板将无法采集到数据——这属于设备侧配置问题而非模板缺陷。
4. 使用注意事项
- 电压类数据按平台可用:Power Supply Voltage Discovery 仅在硬件提供传感器数据的平台有效,无需在所有机型上期望该项产出;
- 电源状态原型默认禁用:6.0 版导入后,
Status of Power Supply "$1"原型生成的项目默认处于禁用状态,如需监控需手动启用(6.0 YAML 中status: DISABLED); - 告警阈值按需调整:CPU 90%(5 分钟最小值)与磁盘 20% 的阈值面向通用场景,若设备承载突发流量,可复制触发器调整阈值,不建议直接修改原模板(后续升级模板会被覆盖)。
版本演进与导出差异
对比 5.0/5.4/6.0 三份导出文件可以发现模板在不同 Zabbix 版本间的表达差异(监控语义完全一致):
- 5.0(XML):使用
<applications>定义应用分组(CPU、Disk、FAN、General、Memory、Power Supplies、Temperature、Voltage 共 8 个,见 5.0 XML 应用段);触发器表达式采用{min(5m)}>90的简写形式; - 5.4/6.0(YAML):应用分组改为 tags 标签(
Application: CPU等);触发器表达式改为完整主机路径min(/A10_AX_Series/axSysAverageCpuUsage,5m)>90; - 6.0 相对 5.4:新增了 uuid 字段(模板、监控项、触发器均有独立 uuid),这是 Zabbix 6.0 导入合并逻辑所依赖的标识;README 中 6.0 版对
Speed of FAN "$1"、Status of "$1" FAN等 LLD 监控项的描述措辞略有完善。
三个版本的 README 均声明"无宏、无模板链接",监控对象与告警策略自 5.0 至今保持稳定,跨版本迁移成本极低——只需按目标 Zabbix 版本选择对应文件重新导入即可。
【免费下载链接】community-templates
Zabbix Community Templates repository
相关推荐
Zabbix 监控 A10 AX 系列 ADC:Template_A10_AX_Series 模板全解析与实战指南
Zabbix 监控 A10 AX 系列 ADC:Template_A10_AX_Series 模板全解析与实战指南 导读 本文围绕 Zabbix Communi
Zabbix 监控 A10 AX 系列应用交付控制器:Template_A10_AX_Series 模板全解析与实战部署
Zabbix 监控 A10 AX 系列应用交付控制器:Template_A10_AX_Series 模板全解析与实战部署 导读 :本文围绕 Zabbix 社区模
Zabbix 社区模板 Template VyOS by SNMP 深度解析:用 SNMP 全量监控 VyOS 网络设备
Zabbix 社区模板 Template VyOS by SNMP 深度解析:用 SNMP 全量监控 VyOS 网络设备 本指南以 Zabbix Communi
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考