如何在 ZXA10 C320 上获取上行模块数据和 ONU 光功率 - 通过 CLI 还是 SNMP
我在一个节点上用的是 ZTE ZXA10 C320,上行是 10G。目前光功率和状态都是手动从终端查看,但想接入监控系统,这样每次用户投诉都不用再登录 CLI。
- OLT:ZTE ZXA10 C320
- 上行:xgei_1/21/1 上的 SFP+
- 用户挂在 gpon-onu_1/1/1:1 及后续分支上
上行模块这边已经找到一些信息,下面这条命令能给出输出:
show int optical-module-info xgei_1/21/1
接下来卡在三个问题上:
- 用什么命令能只取某一个 ONU 的光功率,而不是解析整条分支的输出
- 有没有对应接收光功率的 SNMP 对象,这样就不用脚本解析 CLI 了;C320 在监控里我没找到现成的模板
- 接收光功率这个数值到底能信到什么程度:有条上行链路数字看着正常,但接口上的 CRC 却在慢慢累积
一直长期从 C320 上取这些数据的人 - 你们最后是用 CLI 还是 SNMP,用的是哪些 OID?
Comments 4
先说清楚你监控里具体要什么。模块台账信息(厂商、料号、序列号)和动态功率是两回事:前者一天采集一次、存成静态记录就够了,后者才有必要定期轮询并画成曲线。
第二个问题更重要:上行的 CRC 你是专门去看过,还是顺带发现的?如果计数器确实在增长,接收光功率就不是主要嫌疑对象,该先查的不是画图,而是这个接口本身。
上行这边你需要的东西正好就是你已经找到的那条命令给出的:
输出里直接就有厂商名称、料号、序列号、模块类型(比如 10GBASE-LR)、1310 nm 波长、Rx 和 Tx(单位 dBm)、偏置电流、激光器速率和温度。而且告警门限(功率、电流、电压、温度)也都在里面,不用另外去查台账。
用户侧看具体某个 ONU 的衰减:
监控用的话,OLT 上的接收光功率对应 .1.3.6.1.4.1.3902.1015.1010.11.2.1.2:
原始值一定要除以 1000,不然出来的不是 dBm,而是莫名其妙的几千。第一次用这个 OID 画图的人几乎都在这一步栽过跟头。
关于你的第三点:在根据光功率下结论之前,先看上行的 CRC 计数器。Rx 正常本身并不能排除接头脏或线路受损。
除以 1000 正是我缺的那一步。我图上原来都是几千,一直以为自己取错了对象。
上行这边情况对上了:10GBASE-LR 模块,1310 nm,接收光功率正常,但 CRC 一直在涨。查了一下配线架,接头确实脏,清洁之后计数器就停了。所以先看 CRC 再看光功率这个建议确实对路。
单个 ONU 的光功率用那条命令能取到,我会给它挂上采集。
关于监控:现成模板就别等了。C320 自带的覆盖是不全的 - GPON 端口、ONU 光参数、线路长度这些不会自动出现。LibreNMS(25.8.0-dev 构建)到现在也没做出这个系列的正常支持:没人放出过现成的 OID,也没人写过方法说明。所以只有一条路 - 自己定义对象、自己做模板,你现在正是在往这个方向走。
顺便提一句,不同厂商设备上这个东西叫法都不一样。Cisco ISR 4451 上没有那种熟悉的接口命令,DOM 是靠
show hw-module subslot 0/0 transceiver 0 status拿的,FortiGate 上则是get system interface transceiver。如果你要给多厂商的设备做统一的采集器,全部走 SNMP 会更省事,CLI 留着处理具体投诉就行。