☰
Zabbix 监控 Alcatel-Lucent Enterprise OmniSwitch AOS 6.x:基于 SNMPv3 的交换机模板实战指南
2026/10/17 1:56:48 网站建设 项目流程

【免费下载链接】community-templates

Zabbix Community Templates repository

项目地址:https://gitcode.com/gh_mirrors/co/community-templates
点击查看免费下载

本篇技术指南围绕 Zabbix Community Templates 仓库中的Alcatel-Lucent Enterprise OmniSwitch AOS 6.x监控模板展开,系统讲解如何通过 SNMPv3 实现对 ALE OmniSwitch(运行 AOS Release 6.x)堆叠/单机设备的全维度监控:槽位级 CPU、内存、RX/TX 负载、温度、Flash 剩余空间、PoE 端口供电以及所有以太网接口的流量。读完本文,你将掌握该模板的导入方式、三个 SNMPv3 宏的配置方法、底层四条 LLD 发现规则与全部采集项的 OID 映射,并理解其触发器阈值与图形体系的设计思路。

模板概览与功能清单

该模板由社区作者 Benny Eggerstedt(@BennyE_HH)维护,用于监控运行Alcatel-Lucent Enterprise(ALE)OmniSwitch AOS Release 6.x的交换机。模板通过 SNMPv3 采集数据;作者在 README 中说明,模板理论上也可能兼容 SNMPv1/v2c,但未投入精力测试——在有 SNMPv3 可用的情况下,没有理由不使用更安全的 v3 协议。

模板覆盖的监控维度(对应 5.4 README 的 Features 清单)包括:

  • 堆叠元素自动发现:自动发现交换机堆叠(Stack)中的所有成员槽位(Slot),单机与堆叠均适用;
  • CPU:采集 1 分钟平均值与 1 小时最大值,为每个槽位生成图形与触发器;
  • 内存(Memory):同样提供 1 Min avg / 1 Hr max 两个指标,每个槽位对应图形与触发器;
  • RX/TX 负载:1 Min avg / 1 Hr max,每个槽位生成图形与触发器;
  • 交换机温度:每个槽位采集温度并触发告警;
  • PoE 端口:采集每个端口的最大可用功率与实际功耗,生成图形;
  • 系统信息:设备联系人、描述、位置、名称、运行时长(Uptime)、每个槽位的设备型号、序列号、Flash 剩余空间(含图形与触发器);
  • 自动发现:全部以太网端口(无论 up/down 状态)、全部 IP 接口、基于端口描述(ifDescription / IP-Interface name)的 In/OutOctets 流量图形,以及 PoE 端口的最大功率与实际功耗。

AOS 6.x 交换机端 SNMPv3 配置

在监控之前,需要先在 OmniSwitch 上创建只读的 SNMPv3 用户。README 给出了 AOS 6.x 上的命令行配置示例:

-> user snmpv3 password snmpv3password sha+aes read-only all

该命令的含义是:创建名为snmpv3的用户,认证密码为snmpv3password,认证协议与加密协议分别采用SHA + AES,权限为只读(read-only),可访问全部 MIB 树(all)。实际部署时应将snmpv3与snmpv3password替换为你自己的用户名和强密码,并确保该用户与后续 Zabbix 宏中配置的认证/私密口令一致。

模板导入与宏(Macros)配置

模板定义文件位于仓库的5.4与6.0两个版本目录中:

  • Zabbix 5.4 YAML 模板(zabbix_export版本为5.4)
  • Zabbix 6.0 YAML 模板
  • 另附 Zabbix 5.0 XML 模板,供 5.0 版本使用

在 Zabbix Web 界面中依次进入Configuration → Templates,导入与你的 Zabbix Server 主版本匹配的模板文件,然后将模板关联到对应的 OmniSwitch 主机(Host)上。

导入后需要完成最关键的一步——配置 SNMPv3 凭据宏。按 README 的指引:Configuration → Templates → Template "Alcatel-Lucent Enterprise OmniSwitch AOS 6.x" → Macros,设置以下三个条目:

宏名称描述默认值类型
{$SNMP_V3_AUTHPASSPHRASE}SNMPv3 认证口令(Auth passphrase)password_auth文本宏
{$SNMP_V3_PRIVPASSPHRASE}SNMPv3 加密口令(Priv passphrase)password_priv文本宏
{$SNMP_V3_USER}SNMPv3 用户名user文本宏

提示:默认值(user/password_auth/password_priv)只是占位符。生产环境务必在主机或模板层覆盖这三个宏,使其与交换机上创建的实际 SNMPv3 用户保持一致;若在主机层配置,可以避免不同设备共用同一套凭据带来的安全隐患。

模板本身没有引用任何其他模板(Template links 为空),不过在仓库的后续整合版本 6-8.x 7.4 模板 中,作者额外链接了ICMP Ping模板用于连通性监控,可以作为 7.4 环境下的升级参考。

四条 LLD 发现规则及其 OID 映射

模板的全部槽位级与端口级监控都建立在**低层发现(LLD)**之上,这是它能够同时适配堆叠与单机设备的关键。四条发现规则均每 3600 秒(1 小时)执行一次:

发现规则名称描述类型Key
Discover ALE OmniSwitch AOS Release 6.x PoE Slot/PortAlcatelIND1InLinePowerEthernet::alaPethPsePortPowerMaximum.X.Y,X 为槽位号(堆叠成员),Y 为端口号SNMP agentpoeSlotPortNumber
Discover Ethernet Interfaces基于 ifTable 枚举全部以太网接口SNMP agentifDescription
Discover ALE OmniSwitch Entity AOS Release 6.xENTITY-MIB::entPhysicalContainedIn.X,X 为槽位号,VALUE 为实体值SNMP agentslotindex
Discover ALE OmniSwitch AOS Release 6.xALCATEL-IND1-PORT-MIB::esmSlotNumber.X,X 为槽位号(堆叠成员)SNMP agentesmSlotNumber

结合 YAML 定义,可以还原每条规则底层的具体 OID:

  • 槽位发现(esmSlotNumber):discovery[{#SNMPVALUE},.1.3.6.1.4.1.6486.800.1.2.1.5.1.1.2.12.1.1]——遍历 ALE 私有 MIB(厂商企业号 6486)下的esmSlotNumber表,将堆叠中每个成员槽位编号写入{#SNMPVALUE};
  • 以太网接口发现(ifDescription):discovery[{#SNMPVALUE},.1.3.6.1.2.1.2.2.1.2]——遍历标准 MIB-IIifTable的ifDescr列,无论端口 up/down 都会被枚举,{#SNMPVALUE}为接口描述;
  • PoE 槽位/端口发现(poeSlotPortNumber):discovery[{#SNMPVALUE},.1.3.6.1.4.1.6486.800.1.2.1.27.1.1.1.1.1]——遍历AlcatelIND1InLinePowerEthernet的alaPethPsePortPowerMaximum表,索引形如X.Y(槽位.端口),后续通过regsub函数转换为槽位/端口的可读形式;
  • 实体发现(slotindex):discovery[{#SNMPVALUE},.1.3.6.1.2.1.47.1.1.1.1.4]——基于 ENTITY-MIB 的entPhysicalContainedIn表发现物理实体,并带有过滤器(filter):{#SNMPINDEX}必须匹配正则^([1-8]?)$,即只保留槽位 1~8 范围内的实体,避免发现无关的机箱子部件。

从源码结构看,作者在 2018-04-14 的 Changelog 中提到“将模板改为动态发现大部分元素(现已兼容堆叠与单机 OmniSwitch 单元)”,上述四条 LLD 正是这一设计的具体体现:单机只有一个槽位,堆叠则有多个槽位,全部通过发现规则自动展开,无需手工为每个成员建监控项。

采集项(Items)详解

模板的采集项分为两类:系统级固定采集项(直接定义在模板上)与LLD 原型采集项(随发现规则自动生成)。

系统级采集项

名称底层 OID(来自 YAML)Key更新周期预处理 / 单位
Device description.1.3.6.1.2.1.1.1.0(SNMPv2-MIB::sysDescr.0)sysDescr300s字符型,关联资产 HARDWARE
Device location.1.3.6.1.2.1.1.6.0(sysLocation.0)sysLocation300s字符型,关联资产 LOCATION
Device name.1.3.6.1.2.1.1.5.0(sysName.0)sysName300s字符型,关联资产 NAME
Device contact details.1.3.6.1.2.1.1.4.0(sysContact.0)sysContact300s字符型,关联资产 CONTACT
SysUptime.1.3.6.1.2.1.1.3.0(DISMAN-EVENT-MIB::sysUpTimeInstance)SysUptime60s预处理乘 0.01,单位uptime(100 timeticks = 1 秒)

这些系统项直接从标准 SNMPv2-MIB 读取,描述均引用了 RFC 语义。值得注意的两点实现细节:

  1. SysUptime 的单位换算:SNMP 返回的是 TimeTicks(每 100 个 timeticks 等于 1 秒),YAML 中通过MULTIPLIER预处理参数0.01将其换算为秒,并设置units: uptime让 Zabbix 自动格式化;
  2. 资产自动关联:sysDescr、sysName、sysLocation、sysContact分别通过inventory_link关联到 HARDWARE、NAME、LOCATION、CONTACT 资产字段,无需手工填写资产信息即可在资产清单中看到设备详情。

此外,SysUptime 还内置了一个重启检测触发器:last(/Alcatel-Lucent Enterprise OmniSwitch AOS 6.x/SysUptime)<10000,名称{HOSTNAME} has been restarted,优先级 INFO——当 uptime 低于 10000 秒(约 2.8 小时)时判定设备发生过重启。

LLD 原型采集项

以下采集项由发现规则自动生成(LLD标记),Key 中的{#SNMPVALUE}/{#SNMPINDEX}为发现规则输出的宏:

名称Key更新周期单位 / 预处理
CPU usage 1 min avg slot {#SNMPVALUE}cpu1minavg.slot.[{#SNMPVALUE}]60s%
CPU usage 1 hr max slot {#SNMPVALUE}cpu1hrmax.slot.[{#SNMPVALUE}]60s%
Memory usage 1 min avg slot {#SNMPVALUE}memory1minavg.slot.[{#SNMPVALUE}]60s%
Memory usage 1 hr max slot {#SNMPVALUE}memory1hrmax.slot.[{#SNMPVALUE}]60s%
RXTX usage 1 min avg slot {#SNMPVALUE}rxtx1minavg.slot.[{#SNMPVALUE}]60s%
RXTX usage 1 hr max slot {#SNMPVALUE}rxtx1hrmax.slot.[{#SNMPVALUE}]60s%
Freespace /flash slot {#SNMPVALUE}flashfreespace.slot.[{#SNMPVALUE}]60sByte
Temperature on slot {#SNMPINDEX}temperature.slot.[{#SNMPINDEX}]60s°C
Device type of slot {#SNMPINDEX}devicemodel.slot.[{#SNMPINDEX}]300s文本
Device serial number of slot {#SNMPINDEX}serialnumber.slot.[{#SNMPINDEX}]300s文本
InOctets {#SNMPVALUE}inoctets.[{#SNMPVALUE}]60sbps(Change per second × 8)
OutOctets {#SNMPVALUE}outoctets.[{#SNMPVALUE}]60sbps(Change per second × 8)
PoE Power Actual {slot/port}poepoweractual.[{#SNMPINDEX}]30sW(乘 0.001)
PoE Power Maximum {slot/port}poepowermax.[{#SNMPINDEX}]30sW(乘 0.001)

这些原型对应的底层 OID(来自 YAML,厂商私有 MIB 前缀.1.3.6.1.4.1.6486.800):

  • CPU:1 min avg 为.1.3.6.1.4.1.6486.800.1.2.1.16.1.1.2.1.1.15.{#SNMPVALUE},1 hr max 为同表.1.1.17.{#SNMPVALUE};
  • 内存:1 min avg 为.1.2.1.16.1.1.2.1.1.11.{#SNMPVALUE},1 hr max 为.1.1.13.{#SNMPVALUE};
  • RX/TX 负载:1 min avg 为.1.2.1.16.1.1.2.1.1.7.{#SNMPVALUE},1 hr max 为.1.1.9.{#SNMPVALUE};
  • Flash 剩余空间:.1.1.1.3.1.1.9.1.3.{#SNMPVALUE};
  • 温度:.1.1.1.3.1.1.3.1.4.{#SNMPVALUE};
  • 设备型号 / 序列号:ENT-PHYSICAL-MIB 的.1.3.6.1.2.1.47.1.1.1.1.13.{#SNMPINDEX}/.1.1.11.{#SNMPINDEX};
  • In/OutOctets:标准 ifTable 的.1.3.6.1.2.1.2.2.1.10.{#SNMPINDEX}/.1.1.16.{#SNMPINDEX};
  • PoE 实际/最大功率:.1.4.1.6486.800.1.2.1.27.1.1.1.1.2.{#SNMPINDEX}/.1.1.1.{#SNMPINDEX}。

几个值得深入理解的预处理细节:

  1. 流量速率换算:In/OutOctets 原始值是计数器(counter),YAML 中先做CHANGE_PER_SECOND差值换算得到每秒字节数,再乘 8 得到bps,单位设置为bps,图形上直接呈现端口实时带宽;
  2. PoE 功率单位换算:alaPethPsePortPowerActual/Maximum原始单位为毫瓦(mW),预处理MULTIPLIER 0.001后以W为单位展示;
  3. PoE 可读名称:PoE 监控项名称使用{{#SNMPINDEX}.regsub("([0-9]+)\.([0-9]+)", \1/\2)}将X.Y形式的索引重写为X/Y(如1/24),这正是 2019-04-28 Changelog 中提到的“因使用 regsub 函数”而实现逐端口 PoE 功耗监控的由来;
  4. 槽位维度宏的差异:CPU/内存/RX-TX/Flash 使用{#SNMPVALUE}作为 Key 后缀,而温度、型号、序列号使用{#SNMPINDEX},两类宏分别来自不同的发现规则,读者在排查监控项命名时需注意区分。

触发器与阈值体系

模板内置了针对每个槽位的告警触发器,全部为warning优先级,且绝大多数以 LLD 原型触发器((LLD)后缀)形式存在,会随发现规则为每个槽位自动生成:

触发器名称表达式优先级
CPU usage on slot [{#SNMPVALUE}] > 80%last(/Alcatel-Lucent Enterprise OmniSwitch AOS 6.x/cpu1minavg.slot.[{#SNMPVALUE}])>80warning
Memory usage on slot [{#SNMPVALUE}] > 80%last(/Alcatel-Lucent Enterprise OmniSwitch AOS 6.x/memory1minavg.slot.[{#SNMPVALUE}])>80warning
RXTX load on slot [{#SNMPVALUE}] > 80 %last(/Alcatel-Lucent Enterprise OmniSwitch AOS 6.x/rxtx1minavg.slot.[{#SNMPVALUE}])>80warning
Flash freespace on slot [{#SNMPVALUE}] < 32 MBlast(/Alcatel-Lucent Enterprise OmniSwitch AOS 6.x/flashfreespace.slot.[{#SNMPVALUE}])<33554432warning
Temperature on slot {#SNMPINDEX} > 55 °Clast(/Alcatel-Lucent Enterprise OmniSwitch AOS 6.x/temperature.slot.[{#SNMPVALUE}])>55warning
{HOSTNAME} has been restartedlast(/Alcatel-Lucent Enterprise OmniSwitch AOS 6.x/SysUptime)<10000info

阈值设计的几个要点:

  • CPU / 内存 / RX-TX 均以 80% 为告警线,且基于1 分钟平均值(cpu1minavg/memory1minavg/rxtx1minavg)判断,避免瞬时尖峰误报;而 1 小时最大值(1hrmax)仅用于图形观察长周期趋势;
  • Flash 剩余空间阈值 33554432 字节 = 32 MB,告警条件为低于该值(单位在采集项上已定义为 Byte,表达式直接与字节数比较);
  • 温度阈值 55°C,触发后提示机房/风扇异常风险;
  • README 还记录了一个 Zabbix 平台层面的限制(见 ZBXNEXT-927):当时 LLD 尚无法生成包含多个子元素(如所有槽位的 CPU/内存)的单一图形,因此本模板的图形是按槽位分别生成的。

图形(Graphs)设计

模板为每个槽位和端口都准备了图形原型(graph prototypes),配合触发器和趋势数据形成完整可视化:

图形名称包含监控项
CPU usage slot {#SNMPVALUE}cpu1minavg(绿色 1A7C11)+cpu1hrmax(青色 00CCCC),Y 轴固定 0~100
Memory usage slot {#SNMPVALUE}memory1minavg+memory1hrmax,Y 轴固定
RXTX usage slot {#SNMPVALUE}rxtx1minavg+rxtx1hrmax,Y 轴固定
Freespace /flash slot {#SNMPVALUE}flashfreespace(渐变线 00AA00)
Temperature on slot {#SNMPINDEX}temperature,Y 轴固定
Interface {#SNMPVALUE} in/outinoctets(00AA00)+outoctets(3333FF),渐变线绘制实时带宽
PoE Power {slot/port}poepoweractual(1A7C11)+poepowermax(F63100),对比每端口实际功耗与上限

所有采集项与原型均带有Application标签(System / CPU / Memory / RXTX Load / Ports / Power over Ethernet),便于在 Zabbix 的监测与筛选视图中按应用归类。

版本演进与相关模板

模板在仓库内保留了多个 Zabbix 主版本的历史快照,便于对照演进:

目录内容说明
5.0README + XML适用于 Zabbix 5.0,触发器表达式为旧式{host:key.last()}语法
5.4README + YAML适用于 Zabbix 5.4,表达式为last(/host/key)新语法
6.0README + YAML适用于 Zabbix 6.0

Changelog 记录了模板的迭代脉络:

  • 2018-04-09:初始版本发布;
  • 2018-04-14:改为动态发现大部分元素,兼容堆叠与单机 OmniSwitch;
  • 2019-04-28:应社区需求增加逐端口 PoE 实际功耗采集(借助 regsub 函数实现可读的端口命名)。

如果你管理的是更新型号的设备,仓库还提供两个姊妹模板可以对照:面向AOS 8.x(Virtual Chassis)的 template_alcatel-lucent_enterprise_omniswitch_aos_release_8.x(将槽位扩展为 VC 成员,并补充 1 Day avg 指标),以及同时覆盖 6.x/8.x 的 7.4 整合版模板(额外链接ICMP Ping模板)。

部署检查清单

最后,将整个部署流程浓缩为一份可执行的检查清单:

  1. 交换机侧:在 OmniSwitch AOS 6.x 上执行-> user <user> password <auth-pass> sha+aes read-only all,记录用户名、认证口令与加密口令;
  2. Zabbix 侧:按主版本导入对应的 YAML/XML 模板,在模板或主机上覆盖{$SNMP_V3_USER}、{$SNMP_V3_AUTHPASSPHRASE}、{$SNMP_V3_PRIVPASSPHRASE}三个宏;
  3. 主机侧:创建 OmniSwitch 主机并关联模板,主机 SNMP 接口协议选择SNMPv3,安全级别与交换机配置一致(SHA + AES);
  4. 验证:等待 1 小时内的发现周期(LLD 每 3600s 执行一次)完成槽位与端口枚举,检查Latest data中esmSlotNumber、poeSlotPortNumber、slotindex等发现规则是否正常产出数据,随后确认各槽位 CPU/内存/温度图形与 PoE 功耗图形开始出值;
  5. 告警验证:可临时调低某槽位阈值(如温度)或观察重启触发器的行为,确认告警路径(含恢复)按预期工作。

至此,你已经掌握了从交换机配置、模板导入、宏设置到 LLD 原理与监控项/触发器解读的完整链路,可以据此将 ALE OmniSwitch AOS 6.x 设备稳定纳入 Zabbix 监控体系。

【免费下载链接】community-templates

Zabbix Community Templates repository

项目地址:https://gitcode.com/gh_mirrors/co/community-templates
点击查看免费下载
上一篇:BreezySLAM源码深度解读:200行C代码的SLAM算法奥秘
下一篇:SaveDesktop Flatpak应用数据备份:完整保存你的应用配置和用户数据

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询