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
その先で3つほど行き詰まっている:
- 系統全体の出力を解析するのではなく、特定のONUのレベルをコマンドで直接取る方法
- 同じ受信パワーを持つSNMPオブジェクトがあるか、CLIをスクリプトでパースせずに済ませたい。C320向けの出来合いのテンプレートはモニタリング側で見つからなかった
- そもそも受信レベルはどこまで信用できるのか。あるアップリンクでは数値は悪くないのに、そのインターフェースでCRCが少しずつ増えている
C320からこのデータを常時取っている人はいるか。CLIとSNMPどちらに落ち着いたのか、OIDは何を使っているのか。
Comments 4
モニタリングで具体的に何が欲しいのかをはっきりさせたほうがいい。モジュールのインベントリ(ベンダー、パートナンバー、シリアル)と、動的なパワーの値は別の話だ。前者は1日1回取得して事実として保存すれば十分だが、後者は定期的にポーリングしてグラフに描く意味がある。
それともう一つ、こちらのほうが重要だが、アップリンクのCRCは目的を持って確認済みなのか、それともついでに気づいただけなのか。カウンタが本当に増えているなら、受信レベルは主犯ではなく、まずグラフ作りではなくそのインターフェースから手をつけるべきだ。
アップリンクについては、まさに見つけたそのコマンドが必要なもの全部を返してくれる:
出力にはベンダー名、パートナンバー、シリアル、モジュールの種類(例えば10GBASE-LR)、波長1310nm、RxとTxのdBm、バイアス電流、レーザーの速度、温度まで一度に出てくる。おまけに電力、電流、電圧、温度のアラーム閾値も同じところに載っているので、インベントリだけ別に取りに行く必要はない。
加入者については、特定のONUの減衰量を見るには:
モニタリング用に、OLT側の受信パワーは.1.3.6.1.4.1.3902.1015.1010.11.2.1.2にある:
生の値は必ず1000で割ること。そうしないとdBmの代わりによく分からない千単位の数字になる。このOIDで初めてグラフを描く人はほぼ全員ここでつまずく。
それと3つ目の点について。レベルだけで結論を出す前に、アップリンクのCRCカウンタを見ること。Rxが正常だからといって、コネクタの汚れや伝送路の損傷がないとは限らない。
1000で割る、それがまさに足りていなかった部分だった。うちのグラフもdBmの代わりに千単位の数字になっていて、ずっと違うオブジェクトを取得しているのだと思い込んでいた。
アップリンクのほうは辻褄が合った。モジュールは10GBASE-LR、1310nm、受信レベルは正常なのに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は個別のクレームを切り分けるときのために取っておくのがいい。