Bir Nokia 7705'te LibreNMS discovery, Column 'channels' cannot be null ile ölüyor ve hiç DOM toplamıyor
LibreNMS'te bir avuç Nokia 7705 aggregation router'ı polluyoruz ve olağan sebepten onlardan optik DOM istedim - müşteri fark etmeden önce yumuşayan bir span'i yakalamak. Discovery o cihazlarda hiç bitmiyor.
- TiMOS çalıştıran Nokia 7705
- LibreNMS 26.3.1
- Portlarda sıradan tek lane'li 1G SFP'ler, karışık vendor'lar, bazıları eski
- SNMP gerisi sağlıklı: interface'ler, CPU, bellek ve trafik hepsi sorunsuz polluyor
Discovery her seferinde burada duruyor:
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'channels' cannot be null
ve sonuç tüm router için hiç transceiver girdisi ve hiç optik sensör yok - geri kalanı çalışırken bozuk bir port değil, tüm cihaz boş dönüyor.
Denediklerim:
- Tek cihaz için discovery'yi tek başına yeniden çalıştırdım, aynı noktada aynı hata
- Cihazı silip yeniden ekledim: oluşturuluyor, sonra discovery aynı yerde ölüyor
- Aynı kurulumdaki başka vendor'lar transceiver'ları ve DOM'u normal şekilde discover ediyor, yani bende bozuk bir database gibi görünmüyor
Bu bilinen bir TiMOS discovery sorunu mu, ve bu router'lar için transceiver discovery'sini kapatmak dışında yapılacak bir şey var mı?
Comments 3
Bilinen bir tanesi, ve bu senin database'in değil.
TiMOS discovery kodu, lane sayısını TIMETRA-PORT-MIB::tmnxPortSFPNumLanes'ten çekiyor ve ne alırsa NULL kabul etmeyen
channelskolonuna doğrudan bırakıyor. Genelde suçlu olanlar daha eski tek-lane optikler: agent onlar için o objeyi hiç doldurmuyor, yani port insert'e bir null veriyor, insert patlıyor, ve arıza tüm cihazın transceiver discovery'sini kendisiyle birlikte aşağı çekiyor. Tuhaf modüllü tek port yerine her portu kaybetmenin sebebi bu.İki çıkış yolu var. En temizi LibreNMS'i ileri taşımak - upstream'de kabul edilen değişiklik, LibreNMS/OS/Timos.php'deki değeri koruyor, ki eksik veya boş bir lane sayısı tek bir kanal olarak okunsun ve başka her şey bir integer'a zorlansın. Mevcut sürümünde takılıysan aynı korumayı o dosyaya elle koy; birkaç satır, gerçi orada olduğunu unutursan bir sonraki güncellemede kaybolacak.
Herhangi bir şeyi yamalamadan önce router'da TIMETRA-PORT-MIB::tmnxPortSFPNumLanes'i gez. Hangi portlar boş cevap veriyorsa insert'i öldürenler onlar, ve içlerinde hangi optiklerin oturduğunu bilmekte fayda var.
İkisi de doğrulandı, teşekkürler.
O OID'yi gezmek: en eski 1G optiklerin olduğu portlar lane sayısı için hiçbir şey döndürmüyor, daha yeni olan her şey 1 ile cevap veriyor. Yani null, tarif edildiği gibi tam olarak devraldığım modüllerden geliyor.
Kontrolü olan bir build'e geçtikten sonra discovery tüm 7705'lerde sonuna kadar çalışıyor, transceiver'lar her biri tek bir kanalla görünüyor, ve optik sensörler grafiğe dökülüyor. Router tarafında değişiklik yok, hariç tutulan port yok.
Discovery artık bittiğine göre beklenecek iki şey.
Nokia donanımında DDM, modül EEPROM'undaki bir capability flag'i tarafından kapılanıyor. Bu ailelerin tamamında geçerli olan ev yaklaşımı, ve en açık şekilde 7210 SAS interface guide'ında yazıyor: platform, flag'i hiç set etmeyen bir modül için diagnostik basmaktan mutluluk duyar, aynı paragrafta o rakamları doğrulamadığını veya teyit etmediğini söylerken. Seninkinden farklı bir kutu, aynı mantık - üçüncü parti bir optikten gelen makul RX/TX rakamları kalibrasyonun doğru olduğunun kanıtı değil.
Diğer yarısı modülün kendisi. GLC-SX-MM'de A2h sayfası yok, yani hiçbir poller'ın okuyacağı bir şey yok; GLC-SX-MMD'de var, D de diagnostics anlamına geliyor. Kalıcı olarak düz ve boş bir grafik, poller'dan önce onu kontrol et.