Jump to content

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


Recommended Posts

  • Replies 331
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Вот решил выдать, кому интересно, собстветнную систему мониторинга PON сети - Pon Monitor. Сделана по аналогии с Poncontrol, но делалась по потребностям инженеров и монтажников.   Возмо

проект живой. Продвигается медленно, так как нет на него пока времени

Вот Pon Monitor под BDCOM GP3600-16 Берите кому нужно. Переделка не профессиональная, поэтому берите как есть Pon Monitor.rar

Posted Images

В 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
Link to post
Share on other sites

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Edited by pashaumka
Link to post
Share on other sites

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

 

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

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

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

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

  • Thanks 1
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
Link to post
Share on other sites

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

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

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

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

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

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

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

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

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

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

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
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"

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

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


×
×
  • Create New...