Jump to content
Local
VitalyMoiseev

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

Recommended Posts

Добрый день , не подскажите , что может быть, не проходить авторизацию 
image.thumb.png.17b6a512cf983de2f3ab6da4da401949.png

Share this post


Link to post
Share on other sites
8 минут назад, romanset сказав:

что может быть, не проходить авторизацию 

настройки в vars.php
что-то не то в таблице users

Share this post


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

настройки в vars.php

 

Share this post


Link to post
Share on other sites
4 часа назад, romanset сказав:
  Відновити прихований контент

image.png.eea17457865f6d5d31691c9dd46bcd45.png

 

 

по виду все ОК, должно работать. Надо смотреть

Share this post


Link to post
Share on other sites

Начал работу на Pon Monitor v.2

Будет существующий функционал, но с измененным кодом, нормальной поддержкой GPON / EPON, больше 9 SFP, кучей других исправленніх мелочей + оповещения в телегу + запросы из телеги (например - в запрос на мак онушки - поиск ее на ОЛТ и выдача ее текущей инфо, полезно когда только подключили ОНУ, не надо ждать и искать ее).

Может еще какие идеи будут?

  • Like 3

Share this post


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

Начал работу на Pon Monitor v.2

Будет существующий функционал, но с измененным кодом, нормальной поддержкой GPON / EPON, больше 9 SFP, кучей других исправленніх мелочей + оповещения в телегу + запросы из телеги (например - в запрос на мак онушки - поиск ее на ОЛТ и выдача ее текущей инфо, полезно когда только подключили ОНУ, не надо ждать и искать ее).

Может еще какие идеи будут?

Сделать отдельную таблицу, которая ведет статистику маков и айпи на ОНУшке. Вывод онушек, где мак слишком часто меняется. Например, хотим найти онушки, где за онушкой записей маков больше 3 или 5 или 10.

Share this post


Link to post
Share on other sites
35 минут назад, Небесный сказав:

Сделать отдельную таблицу, которая ведет статистику маков и айпи на ОНУшке.

ну, можно снимать ФДБ таблицу с ОЛТ, хранить ее и потом анализировать.

Но таблицу IP??? У нас же монитори ПОН - т.е. L2 свитча, какие IP???

Share this post


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

ну, можно снимать ФДБ таблицу с ОЛТ, хранить ее и потом анализировать.

Но таблицу IP??? У нас же монитори ПОН - т.е. L2 свитча, какие IP???

Ой, да - туплю. Но, все равно - было бы даже круто и с маками такое сделать.

Edited by Небесный

Share this post


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

Начал работу на Pon Monitor v.2

Будет существующий функционал, но с измененным кодом, нормальной поддержкой GPON / EPON, больше 9 SFP, кучей других исправленніх мелочей + оповещения в телегу + запросы из телеги (например - в запрос на мак онушки - поиск ее на ОЛТ и выдача ее текущей инфо, полезно когда только подключили ОНУ, не надо ждать и искать ее).

Может еще какие идеи будут?

Будет ли поддерка не BDCOM оборудования ? V Solution например.

Share this post


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

Начал работу на Pon Monitor v.2

Будет существующий функционал, но с измененным кодом, нормальной поддержкой GPON / EPON, больше 9 SFP, кучей других исправленніх мелочей + оповещения в телегу + запросы из телеги (например - в запрос на мак онушки - поиск ее на ОЛТ и выдача ее текущей инфо, полезно когда только подключили ОНУ, не надо ждать и искать ее). 

Может еще какие идеи будут?

 

Ловить трапы... парсить и оповещать )  + писать все неймспейсами\классами

 

 

Edited by pashaumka

Share this post


Link to post
Share on other sites

Еще вопрос такой, при удалении ОЛТа со списка, база онушек очищается?

Есть одна маленькая неприятность, перенес всю ветку с одного ОЛТ на другой. Удалил на ОЛТе онушки, а базе онушки остались с привязкой до старого ОЛТа и его порта. Тоесть, я так понимаю нету web-механизма очистки ветки от онушек. Только лезть в базу и ручками там чистить?

Edited by Небесный

Share this post


Link to post
Share on other sites
6 часов назад, Небесный сказав:

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

ничего чистить не надо. Как только ОНУшка появится на каком-то ОЛТ - она появится в списке уже на новом ОЛТ.

18 часов назад, pashaumka сказав:

Ловить трапы... парсить и оповещать

это врядли. Принимать SNMP трапы - это, здается мне, не для пхп задача.

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

+ писать все неймспейсами\классами

это уж как получится. я ж не программист :)

Share this post


Link to post
Share on other sites

Онушка может поломаться , тогда только один выход лезть  базу.(Было б всетаки не плохо если б была кнопка дерегистраии и сразу удаление с олта и с базы). 

  • Like 1

Share this post


Link to post
Share on other sites
5 часов назад, romanset сказав:

Онушка может поломаться , тогда только один выход лезть  базу.(Было б всетаки не плохо если б была кнопка дерегистраии и сразу удаление с олта и с базы). 

будет список ОНУ, не зарегистрированных ни на одном ОЛТ - в него попадают ОНУ, которых нет на ОЛТ. Точнее - это уже есть

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

image.thumb.png.ebaf0754ef7f02a68dc89460aea10ca1.png

А уже из этого списка можно уже полностью удалить ОНУ и историю ее уровней

В 05.05.2020 в 7:41 PM, FedMast сказав:

Будет ли поддерка не BDCOM оборудования ? V Solution например.

будет "модульная" архитектура, с разными модулями опроса (даже для БДКОМа уже есть несколько вариантов опроса по снмп/телнет), тогда будет намного проще добавить другое оборудование.

Share this post


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

будет список ОНУ, не зарегистрированных ни на одном ОЛТ - в него попадают ОНУ, которых нет на ОЛТ. Точнее - это уже есть

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

image.thumb.png.ebaf0754ef7f02a68dc89460aea10ca1.png

А уже из этого списка можно уже полностью удалить ОНУ и историю ее уровней

будет "модульная" архитектура, с разными модулями опроса (даже для БДКОМа уже есть несколько вариантов опроса по снмп/телнет), тогда будет намного проще добавить другое оборудование.

namespace как раз это и дает.

Share this post


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

namespace как раз это и дает.

да? Ну и как namespase поможет в случае, когда, к примеру, на P3608B в принципе отсутствует ОИД, по которому на Р3310B/C получалась FDB таблица с ОНУ? :)

Share this post


Link to post
Share on other sites

когда вы начинаете писать "модулями", вы поймете.))))  

готовьтесь, что вам необходимо будет снимать данные с устройства, преобразовывать в свой промежуточный массив, затем выводить эти данные

 

Эти....


3310B
root@billing:/home/umka# snmpwalk -v2c -cpublic -Cc -On 10.ч.ч.ч .1.3.6.1.4.1.3320.152.1.1.3.36
.1.3.6.1.4.1.3320.152.1.1.3.36.375.128.20.168.124.79.88 = Hex-STRING: 80 14 A8 7C 4F 58 
.1.3.6.1.4.1.3320.152.1.1.3.36.300.124.139.202.133.248.81 = Hex-STRING: 7C 8B CA 85 F8 51 

3608
root@billing:/home/umka# snmpwalk -v2c -cpublic -Cc -On 10.с.с.с .1.3.6.1.4.1.3320.152.1.1.3.36
.1.3.6.1.4.1.3320.152.1.1.3.36.301.164.43.176.250.225.71 = Hex-STRING: A4 2B B0 FA E1 47 
root@billing:/home/umka# 

 

нате!

<?php
namespace devices\switches\vendors\BDCOM;

// .3320.152.1.1.1.ifindex   .vlan.m.a.c.a.d.r = ifIndex        ifFdbReadByPortIndex 
// .3320.152.1.1.2.ifIndex   .vlan.m.a.c.a.d.r = vlan           ifFdbReadByPortVlanID
// .3320.152.1.1.3.ifIndex   .vlan.m.a.c.a.d.r = mac            ifFdbReadByPortMacAddress

class Fdb extends \devices\switches\Fdb  {

        function __construct() {
                //echo "BDCOM Fdb\n";
                // Subclasses initialization
        }

        protected static function parse_fdb_array($ifIndex,$onu_fdb_reply) {
                $mac_count = 0;
                if( count($onu_fdb_reply) == 0 ) return false;
                self::$db_mem_ports_states -> clear_fdb_iface($ifIndex);
                foreach ($onu_fdb_reply as $key => $MacAddress_val){
                        $index = explode('.', $key);
                        $vlan_id=$index[0];
                        $mac=sprintf("%02x:%02x:%02x:%02x:%02x:%02x", $index[1],$index[2],$index[3],$index[4],$index[5],$index[6]);
                        self::$db_mem_ports_states->insert_fdb_entry( $ifIndex, $mac, $vlan_id);
                        $mac_count++;
                }
                return ($mac_count);
        }

        public static function get_epon_fdb_table($__ifIndex) {
                // опрашиваем "ветку дерева"
                // FDB at onu
                // оочень тяжелый запрос!!!!
                self::setTimeout(5);
                self::setRetries(1);
                if( false === ( $onu_fdb_reply = self::snmpQueryAll( ".1.3.6.1.4.1.3320.152.1.1.3.".$__ifIndex, "", -7 ) ) ) {
                    echo "bdcom\fdb::get_epon_fdb_table() :: false<br>\n";
                    return false; 
                }
                return ( self::parse_fdb_array($__ifIndex, $onu_fdb_reply) ); // вернет кол-во маков, найденных на интерфейсе головы 
        }
...
}


Кстати...

<?php

namespace devices\switches\vendors\BDCOM\M_P3600;

class Fdb extends \devices\switches\vendors\BDCOM\Fdb  {

        function __construct() {
                //echo "hello from BDCOM|P3608|Fdb<br>\n";
                // Subclasses initialization
        }
} // class


<?php

namespace devices\switches\vendors\BDCOM\M_P3310B;

class Fdb extends \devices\switches\vendors\BDCOM\Fdb  {

        function __construct() {
                //echo ", Fdb\n";
                // Subclasses initialization
        }

} // class




пустышки......

 

 

Edited by pashaumka

Share this post


Link to post
Share on other sites
16 минут назад, pashaumka сказав:

нате!

Эти работают на P3608, но не работают на P3608B :)

Edited by VitalyMoiseev

Share this post


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

Эти работают на P3608, но не работают на P3608B :)

если не влом - дайте к голове доступ... поищу.. snmp достаточно

Edited by pashaumka

Share this post


Link to post
Share on other sites
Только что, pashaumka сказав:

если не влом - дайте к голове доступ... поищу..

Как говорил классик: "Все уже украдено найдено до вас!" (с)

 

Share this post


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

Как говорил классик: "Все уже украдено найдено до вас!" (с)

 

появится такая возможность "потискать " железку - допишу )

 

Share this post


Link to post
Share on other sites
13 минут назад, pashaumka сказав:

появится такая возможность "потискать " железку - допишу )

Этот метод работает и на P3310C, но не работает на P3310B.

подозреваю, что и на старых версиях 3600 серии тоже работать не будет.

ЗЫ: железка, к стати, интересная.

Share this post


Link to post
Share on other sites
<?php 

namespace devices\switches\vendors\BDCOM\M_P3608B;

class Fdb extends \devices\switches\vendors\BDCOM\Fdb  {

        function __construct() {
                //echo "hello from BDCOM|P3608B|Fdb<br>\n";
                // Subclasses initialization
        }
         
         
        public static function get_epon_fdb_table($__ifIndex) {
            if( false === ( $fdb_req = self::snmpWrite(".1.3.6.1.4.1.3320.101.9.2.1.0","i",$__ifIndex) ) ) return false;
            // опрашиваем "ветку дерева"
            // FDB at onu
            // оочень тяжелый запрос, ожидаем до 180 секунд
            self::setTimeout(5);
            self::setRetries(1);
            if( false === ( $raw_onu_fdb_reply = self::snmpQueryAll( ".1.3.6.1.4.1.3320.101.9.2.3.1","",-2) ) ) {
                echo "bdcom\fdb::get_epon_fdb_table() :: false<br>\n";
                return false; 
            }
            $onu_fdb_entry=array();
            $cache = array();
            $strings = \common\strings::getInstance();
            foreach($raw_onu_fdb_reply as $key => $value ) {
                $index = explode('.', $key);
                $func_id=$index[0];
                $rec_index=$index[1];
                switch($func_id) {   
                    case "1": continue; break;
                    case "2": $cache[$rec_index] = $value; break;
                    case "3": 
                        $_value = $strings->is_mac_addr(substr(bin2hex($value),0,12));
                        $onu_fdb_entry[$cache[$rec_index]][$_value]="YES";   // оставшемуся парсеру отдать [vlan][m:a:c:a:d:r]="что нибуть" 
                    break;
                    default: break;
                }
            }
            return ( self::parse_fdb_array($__ifIndex, $onu_fdb_reply) ); // вернет кол-во маков, найденных на интерфейсе головы или онушки
        }
}

 

Edited by pashaumka
  • Like 1

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  
×