Jump to content
Local
VitalyMoiseev

Pon Monitor - система мониторинга PON

Recommended Posts

В 29.08.2019 в 13:35, VitalyMoiseev сказал:

есть такая проблема - номер СФП одной цифрой выбирается. Надо немного переделать логику скрипта опроса. Постараюсь до завтра сделать новую версию без этой проблемы.

        // получить индексы ePON портов
        public static function get_epon_tree_info() {
            //http://www.circitor.fr/Mibs/Html/N/NMS-EPON-OLT-PON.php#NMSEponOltPonEntry
            $ponIfIndex = ".1.3.6.1.4.1.3320.101.6.1.1";
            if( false === ( $snmp_reply = self::snmpQueryAll($ponIfIndex) ) ) { return false; }
            $re_arr=array();
            foreach($snmp_reply as $snmp_key => $value ) {
                $function = self::subtok($snmp_key,".",-2,1);
                $ifIndex = self::subtok($snmp_key,".",-1);
                switch($function) {
                    case "1":  $function = "ponIfIndex"; break;
                    case "2":  $function = "llidSequenceNo"; break; // последовательность зареганых ОНУ
                    case "3":  $function = "onuAuthMethod"; break;   // none(0), manual(1), mac(3), loid(4), hybrid(6)
                    case "4":  $function = "isCheckOnuMac"; break;  //yes(1), no(2)
                    case "5":  $function = "isPONBelongtoPSG"; break; //alone-pon(0), b-psg(1), active-pon(2), standby-pon(3), c-psg(4)
                    case "6":  $function = "pONBelongtoPSGID"; break; //
                    case "7":  $function = "isUsingMpcpRegisteAckDelayTime"; break;  //yes(1), no(2)
                    case "8":  $function = "mpcpRegisteAckDelayTime"; break;  //1..50
                    case "9":  $function = "ponIfAdminStatus"; break;  //up(1), down(2)
                    case "10":  $function = "ponIfInFecStatus"; break; //on(1), off(2)
                    case "11":  $function = "ponIfOutFecStatus"; break;  //on(1), off(2)
                    case "12":  $function = "ponIfLaserStatus"; break;  //on(1), off(2)
                    case "13":  $function = "isOnuDataSwitch"; break;   //on(1), off(2)
                    case "14":  $function = "ponIfProtectedStatus"; break; //on(1), off(2)
                    case "15":  $function = "ponIfDynamicMacLearningStatus"; break; // on(1), off(2)
                    case "16":  $function = "ponIfMacACL"; break;
                    case "17":  $function = "ponIfIpACL"; break;
                    case "18":  $function = "fiberProtectHandInHand"; break;
                    case "19":  $function = "fiberProtectGroup"; break;
                    case "20":  $function = "splittingRatio"; break;            // Макс деление на дереве
                    case "21":  $function = "activeOnuNum"; break;              // кативных ону
                    case "22":  $function = "inactiveOnuNum"; break;            // неактивных ону
                    case "23":  $function = "llidIfindexString"; break;
                    default :  break;
                }
                $re_arr[$ifIndex][$function]=$value;
            }
            return($re_arr);
        }

        public static function get_epon_optics_alarm_info() {
            //http://www.circitor.fr/Mibs/Html/N/NMS-EPON-OLT-PON.php#NMSEponOltPonEntry
            $ponIfIndex = ".1.3.6.1.4.1.3320.101.6.2.1";
            if( false === ( $snmp_reply = self::snmpQueryAll($ponIfIndex) ) ) { return false; }
            $re_arr=array();
            foreach($snmp_reply as $snmp_key => $value ) {
                $function = self::subtok($snmp_key,".",-2,1);
                $ifIndex = self::subtok($snmp_key,".",-1);
                switch($function) {
                    case "1":   $function = "ifIndex"; break;
                    case "2":   $function = "txPowerAlarmUpLimitEnable"; break;
                    case "3":   $function = "txPowerAlarmUpLimitThreshold"; break;
                    case "4":   $function = "txPowerAlarmUpLimitClearThreshold"; break;
                    case "5":   $function = "txPowerAlarmLowLimitEnable"; break;
                    case "6":   $function = "txPowerAlarmLowLimitThreshold"; break;
                    case "7":   $function = "txPowerAlarmLowLimitClearThreshold"; break;
                    case "8":   $function = "temperatureAlarmUpLimitEnable"; break;
                    case "9":   $function = "temperatureAlarmUpLimitThreshold"; break;
                    case "10":  $function = "temperatureAlarmUpLimitClearThreshold"; break;
                    case "11":  $function = "temperatureAlarmLowLimitEnable"; break;
                    case "12":  $function = "temperatureAlarmLowLimitThreshold"; break;
                    case "13":  $function = "temperatureAlarmLowLimitClearThreshold"; break;
                    case "14":  $function = "voltageAlarmUpLimitEnable"; break;
                    case "15":  $function = "voltageAlarmUpLimitThreshold"; break;
                    case "16":  $function = "voltageAlarmUpLimitClearThreshold"; break;
                    case "17":  $function = "voltageAlarmLowLimitEnable"; break;
                    case "18":  $function = "voltageAlarmLowLimitThreshold"; break;
                    case "19":  $function = "voltageAlarmLowLimitClearThreshold"; break;
                    case "20":  $function = "currentAlarmUpLimitEnable"; break;
                    case "21":  $function = "currentAlarmUpLimitThreshold"; break;
                    case "22":  $function = "currentAlarmUpLimitClearThreshold"; break;
                    case "23":  $function = "currentAlarmLowLimitEnable"; break;
                    case "24":  $function = "currentAlarmLowLimitThreshold"; break;
                    case "25":  $function = "currentAlarmLowLimitClearThreshold"; break;
                    default :  break;

                }
                $re_arr[$ifIndex][$function]=$value;
            }
            return($re_arr);
        }

        protected static function subtok($string, $chr, $pos, $len = NULL) {
            return implode($chr,array_slice(explode($chr,$string), $pos, $len));
        }

        protected static function subtok2($string, $chr, $pos, $len = NULL) {
                $str="";
                foreach( array_slice(explode($chr,$string), $pos, $len) as $char)
                    $str .= chr($char);
                return $str;
        }

в помощь

 

1567237864433.thumb.png.1d9b142a07a597218e46b858134614bf.png

Edited by pashaumka
  • Thanks 1

Share this post


Link to post
Share on other sites

Спасибо за ОИДы :)

Данных то с ОЛТ можно получить много, но какие из них реально нужны в повседневной работе?

И какие функции еще нужны?

Share this post


Link to post
Share on other sites

Было бы нелишним добавить кнопку перезагрузки onu, как в пон контроле 👍

Share this post


Link to post
Share on other sites
46 минут назад, shad-krog сказал:

Было бы нелишним добавить кнопку перезагрузки onu, как в пон контроле 👍

А зачем их перегружать? Перегружается все абоном вручную на этапе звонка в ТП. 

Share this post


Link to post
Share on other sites
2 часа назад, superb сказал:

А зачем их перегружать? Перегружается все абоном вручную на этапе звонка в ТП. 

Некоторые индивидуумы не могут различить маршрутизатор и пон терминал 

Share this post


Link to post
Share on other sites
21 час назад, VitalyMoiseev сказал:

Спасибо за ОИДы :)

Данных то с ОЛТ можно получить много, но какие из них реально нужны в повседневной работе?

И какие функции еще нужны?

Изменять VLAN. Ну и вывод влан при опросе.

Share this post


Link to post
Share on other sites

"офтопну" - ну почему под ZTE 220 никто ничего не предлагает?!

Share this post


Link to post
Share on other sites
13 часов назад, a_n_h сказал:

"офтопну" - ну почему под ZTE 220 никто ничего не предлагает?!

именно под него ЕСТЬ мануал с описанием и оидами?

под 320й я нашел, как зарегать онуху...  но прописывание сервис портов и прочее - нифига нет или я snmpwalk ом - не добрался до той ветки ( нарвавшись на зацикленность оида )

Edited by pashaumka

Share this post


Link to post
Share on other sites

Версия 1.1 - исправление ошибок, многоязычный интерфейс (русский и украинский в комплекте)

 

19 часов назад, a_n_h сказал:

ну почему под ZTE 220 никто ничего не предлагает?!

давайте OIDы с описанием - сделаем.

(Ну, или оплатите работу по их поиску и разбору) :)

  • Thanks 1

Share this post


Link to post
Share on other sites

1.1.1 02.09.2019: Способ получения FDB таблицы изменен с telnet на SNMP (если не работает - изменить $FDB_method)

Share this post


Link to post
Share on other sites

Подскажите, что это плз!

Пользователя получилось добавить, значит связь с БД есть.

Warning: mysqli::close(): Couldn't fetch mysqli in C:\wamp64\www\pm\index.php on line 89

 

[03-Sep-2019 13:40:42 UTC] PHP Stack trace:

[03-Sep-2019 13:40:42 UTC] PHP 1. {main}() C:\wamp64\www\pm\index.php:0

[03-Sep-2019 13:40:42 UTC] PHP 2. mysqli->close() C:\wamp64\www\pm\index.php:89

[03-Sep-2019 13:41:13 UTC] PHP Notice: Undefined offset: 2 in C:\wamp64\www\pm\index.php on line 58

[03-Sep-2019 13:41:13 UTC] PHP Stack trace:

[03-Sep-2019 13:41:13 UTC] PHP 1. {main}() C:\wamp64\www\pm\index.php:0

[03-Sep-2019 13:41:13 UTC] PHP Warning: mysqli::close(): Couldn't fetch mysqli in C:\wamp64\www\pm\index.php on line 89

[03-Sep-2019 13:41:13 UTC] PHP Stack trace:

[03-Sep-2019 13:41:13 UTC] PHP 1. {main}() C:\wamp64\www\pm\index.php:0

[03-Sep-2019 13:41:13 UTC] PHP 2. mysqli->close() C:\wamp64\www\pm\index.php:89

Edited by trsnah

Share this post


Link to post
Share on other sites

похоже на попытку закрыть уже ранее закрытое соединение с БД.

Как вариант - просто закомментировать 89 строку в C:\wamp64\www\pm\index.php

  • Like 1

Share this post


Link to post
Share on other sites

изменение влана на онушке реально бы пригодилось

Share this post


Link to post
Share on other sites
25 минут назад, 911 сказал:

изменение влана на онушке реально бы пригодилось

сделаем, думаю завтра-послезавтра.

Пока будет только для однопортовых ОНУ, чуть позже прикручу и поддержку многопортовых. Уже бы прикрутил, но нет под рукой ни одной такой :(

по поводу изменения влана: как лучше сделать - просто ввод призвольного номера или выбор из вланов, прописанных на ОЛТ?

Share this post


Link to post
Share on other sites
1 час назад, VitalyMoiseev сказал:

как лучше сделать - просто ввод призвольного номера или выбор из вланов, прописанных на ОЛТ?

наверное, выбор из вланов, прописанных на данном EPON порту

Share this post


Link to post
Share on other sites

1.1.2 04.09.2019
+ Добавлен функционал изменения PVID. Список доступных PVID берется из конфига соответствующего EPON порта
+ Добавлена инструкция по обновлению (см. папка upgrade)

скрины:

Скрытый текст

905300985_2019-09-04034301.thumb.png.092e7503c6e08f9c98ef18f741f4db2d.png

 

518194894_2019-09-04034346.thumb.png.9fa88cdee4cb5a331906501e67e5e92c.png

 

1402670700_2019-09-04034356.thumb.png.f608cb4cd6d9ceecf2bc57a4efebb9fe.png

 

1963910256_2019-09-04034402.thumb.png.7087f129269a0fa44ef4a141d2d7b4b4.png

 

Пока без перевода, надписи на английском :)

Edited by VitalyMoiseev

Share this post


Link to post
Share on other sites
21 минуту назад, VitalyMoiseev сказал:

Поддержка многопортовых ОНУ

  Скрыть содержимое

image.thumb.png.e8a865a38c4c0dbb2fda26186e841eb8.png

 

)))))))))))))

 

Share this post


Link to post
Share on other sites
10 часов назад, VitalyMoiseev сказал:

1.1.2 04.09.2019
+ Добавлен функционал изменения PVID. Список доступных PVID берется из конфига соответствующего EPON порта
+ Добавлена инструкция по обновлению (см. папка upgrade)

скрины:

  Показать содержимое

905300985_2019-09-04034301.thumb.png.092e7503c6e08f9c98ef18f741f4db2d.png

 

518194894_2019-09-04034346.thumb.png.9fa88cdee4cb5a331906501e67e5e92c.png

 

1402670700_2019-09-04034356.thumb.png.f608cb4cd6d9ceecf2bc57a4efebb9fe.png

 

1963910256_2019-09-04034402.thumb.png.7087f129269a0fa44ef4a141d2d7b4b4.png

 

Пока без перевода, надписи на английском :)

Ссылки для скачивания кривые - https://pm.vm.net.ua/install/pm_v1,1,2.zip

Замените "pm_v1,1,2.zip" на "pm_v1.1.2.zip"

Share this post


Link to post
Share on other sites
3 минуты назад, nik247 сказал:

Ссылки для скачивания кривые

Не совсем, некоторые браузеры скачивают )

Share this post


Link to post
Share on other sites

Не пойму, почему только у меня проблемы... Я кроме как в vars.php ничего не менял.

ОЛТ в БД не добавляется, хотя все проверки проходит snmp & telnet.

Не может же быть проблема ошибок, в том что у меня GP3600 (

[04-Sep-2019 13:41:41 UTC] PHP Stack trace:

[04-Sep-2019 13:41:41 UTC] PHP 1. {main}() C:\wamp64\www\pm\index.php:0

[04-Sep-2019 13:41:47 UTC] PHP Notice: Undefined offset: 2 in C:\wamp64\www\pm\index.php on line 58

[04-Sep-2019 13:41:47 UTC] PHP Stack trace:

[04-Sep-2019 13:41:47 UTC] PHP 1. {main}() C:\wamp64\www\pm\index.php:0

[04-Sep-2019 13:41:47 UTC] PHP Notice: Undefined index: UAcc in C:\wamp64\www\pm\include\settings.php on line 3

[04-Sep-2019 13:41:47 UTC] PHP Stack trace:

[04-Sep-2019 13:41:47 UTC] PHP 1. {main}() C:\wamp64\www\pm\index.php:0

[04-Sep-2019 13:41:47 UTC] PHP 2. include() C:\wamp64\www\pm\index.php:69

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Andrey1980
      КУПЛЮ БУ BDCOM 3310c
    • By dnserg
      Б.У. В работе было 2 года. Цена - 32400 грн. В цену модуля не входят. минимальный торг.
       

    • By Romari0
      Продам
       
      Quanta LB6M 10GbE 24-Port SFP 4x 1GbE, прошита под брокейд, жрет как 10ж так и 1ж модули - 400 баксов
       
      MikroTik CCR1036-12G-4S - 500 баксов
       
      OLT BDCOM P3310B есть три штуки, по 300 баксов за штуку или 850 за три сразу
       
      Все добро находится в г. Бровары, могу подвезти в Киев, или отправлю новой почтой
    • By XNeo
      Всем привет
       
      Такая вот конфигурация клиента:
      interface EPON0/6:1 epon onu port 1 ctc vlan mode tag 222 priority 0 epon onu port 1 loopback detect epon onu port 1 storm-control mode 4 threshold 256 epon onu port 1 ip access-group access_list_6:23 От клиента валит флуд следующего типа:
      74:ea:3a:ad:xx:xx (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.1.1 tell 192.168.1.1, length 46 Около 2500 пакетов в секунду. ONU никак не реагирует. Что я упустил/сделал не так?
       
      BDCOM(tm) P3608-2TE Software, Version 10.1.0E Build 60793
      ONU Model 151C, 10.0.17A 1007.
    • By imbiter
      Замінили 3310С на 3608В,
      ОНУ NGpon E105 - не реєструються, йде циклічна перереєстрація
      Інші ОНУ працюють без проблем
       
      прошивка version 10.1.0F build 58197
       
      з конфігу вже викинули все, оставили самий мінімум.
      в чому може бути проблема?
       
      !version 10.1.0F build 58197 service timestamps log date service timestamps debug date logging buffered 4096 ! hostname test port-protected 1 ! ! ! ! ! ! spanning-tree mode rstp ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! aaa authentication login default local aaa authentication enable default none aaa authorization exec default local ! username .......... ! ! ! ! epon oam-version 1 0x30 epon oam-version 2 0x21 epon oam-version 3 0x20 ! epon onu-config-template 1 cmd-sequence 001 epon onu all-port ctc vlan mode tag 25 ! ! interface Null0 ! interface FastEthernet0/0 no ip address no ip directed-broadcast ! !!slot 0 1 unknow CARD interface GigaEthernet0/1 switchport mode trunk ! interface GigaEthernet0/2 switchport mode trunk ! interface GigaEthernet0/3 switchport mode trunk ! interface GigaEthernet0/4 switchport mode trunk ! interface GigaEthernet0/5 switchport mode trunk ! interface GigaEthernet0/6 switchport mode trunk ! interface GigaEthernet0/7 switchport mode trunk ! interface GigaEthernet0/8 switchport pvid 9 ! interface TGigaEthernet0/1 switchport mode trunk ! interface TGigaEthernet0/2 shutdown ! interface EPON0/1 epon pre-config-template 1 binded-onu-llid 1-64 epon bind-onu mac .... epon bind-onu mac switchport mode trunk switchport protected 1  
×