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 Tanais
      Продам ,стоковые позиции со склада!
       
      Оплата по Б/Н без НДС.
       
      FoxGate SFP-1,25/2,5G-GPON (C++)-20SC - (2 шт.) - 1250 грн/шт.
      Netis 2409 - (2шт.) - 330 грн/шт.
      Касета S332 - (30шт.)- 23 грн./шт.
      Крышка кассеты Crosver S332 -(20шт.) - 12 грн/шт.
      Медіаконвертер Optolink1M-FE-20A. - (10 пар.) - 360 грн/пара.
      Оптич.подільник PLC 1x2 пігтейлове волокно1 м. в оболонці 0,9 мм.- (59 шт.) - 84 грн/шт.
      Оптичний безкорпусний дільник 25/75- (1шт.)- 67 грн/шт.
      Оптичний безкорпусний дільник 30/70- (3 шт.) -67 грн/шт.
      Оптичний безкорпусний дільник 35/65 - (50 шт.) - 67 грн/шт.
      Оптичний безкорпусний дільник 45/55 - (7шт) - 67 грн/шт.
      Пигтейл  SC/UPC 1.5м желтые - (700 шт.) - 12 грн/шт.
      SC/UPC (0.9) 1м Пигтейл желтый -800 шт. - 9,50 грн/шт.
      Пигтейл FC/UPC, 1.5м, SM  - (295 шт.) - 16 грн/шт.
      Конектор RITAR RJ-45 8P8C UTP Cat-5 (100 шт/уп.)  -( 40 уп.) - 65 грн/уп.
      Гильза термоус 60mm, 3.0mm FTTH - (20уп.) - 87 грн/уп.
      Гільза 60мм (уп 50 шт.) -(14уп.) - 45 грн/уп. - 50 грн/уп.
      EPON/GPON ONU PICOTEL PU-X710- (40 шт.) - 13,3 у.е /шт.
      Внешние Патч корды из ОКТ-Д (1Кн):
      SC/UPC- SC/UPC 60м (1.0)Внешний Патч корд - 12,30 у.е/шт.
      SC/UPC- SC/UPC 70м  (1.0) Внешний Патч корд -13,30 у.е /шт.
      SC/UPC- SC/UPC 80м (1.0) Внешний Патч корд - 14,30 у.е /шт.
      SC/UPC- SC/UPC 90м (1.0) Внешний Патч корд - 15,30 у.е/шт.
       
      SC/UPC- SC/UPC 175м CorePIT Внешний Патч корд ОКАД-М(0,1) -(3шт) - 465 грн/шт
      SC/UPC- SC/UPC 250м CorePIT Внешний Патч корд ОКАД-М(0,1) - (7 шт.) - 615 грн/шт.
    • By Romari0
      Продам олт BDCOM P3608-2TE, был в работе где-то год, покупался на депсе, продаю из-за того, что закончились порты, заменили на 16 портовый жком
      Цена 21000 грн, находится территориально в г. Бровары, могу подвезти в Киев, или отправлю НП куда скажете



    • 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 за три сразу
       
      Все добро находится в г. Бровары, могу подвезти в Киев, или отправлю новой почтой
×