Jump to content
Local
dan_aspire

Pon Control - комплекс управления и мониторинга сетью

Recommended Posts

Предыстория: всё началось с простого желания видеть сигналы на ОНУшках через веб-интерфейс (с телефона работая на линии такая инфа необходима), потом задавались вопросом "А какие сигналы были до того, как мы поменяли делители?", потом возник вопрос простого управления ВЛАНами, и вот все хотелки были потихоньку реализованы, допилены новые и в итоге получилась целая система управления. Были мысли её не распространять свободно, но всё-таки решено, и базовую систему я выкладываю в общий доступ:

 

 

Возможности:

- Учёт OLTов (IP, SNMP Community, описание, последняя активность)
- Периодический или ручной опрос (снятие информации об ОНУшках, таких как уровень сигнала, MAC, имя интерфейса, описание)
- Мониторинг ОНУ (Расстояние, уровень сигнала, последний уровень сигнала если ОНУ неактивна, ВЛАНы на портах, состояние портов, описание)
в карточке ОНУ отображается информация, взятая в реальном времени (опрос идёт по SNMP при открытии карточки), в то время как в карточке OLT информация об ОНУшках берётся из SQL для ускорения работы
- История уровней сигналов по каждой ОНУ
- Управление VLANами на каждом порту ОНУшки (установка pvid на порту, либо сброс в прозрачный режим)
- Снятие FDB таблицы c ОНУ
- Перезагрузка ОНУ
- Указание ОНУ на карте
- Вывод на карту всех ОНУ в определенном ОЛТе либо на определенной SFP (выделение активных и неактивных разными цветами)
- Отвязка ОНУ от ОЛТа



Дополнительные возможности:

- Импорт данных из UserSide вместо описания
Требования: доступ на чтение БД SQL UserSide
Ону привязывается к абоненту либо узлу связи просто вставкой ссылки на объект UserSide (абон или узел)
Вместо описания выводятся ФИО, адрес и баланс абона или описание и адрес узла.
При снятии FDB таблицы если MAC есть в БД UserSide - вывод владельца MACа, а также выводится кнопка ЗАКРЕПИТЬ для закрепления ОНУшки за абоном в один клик
Данные, взятые из UserSide НЕ ХРАНЯТСЯ в БД PonControl, а подтягиваются запросами

 

 

Авторизация не реализована, поэтому используем апачевую авторизацию)

 

скачать можно здесь: http://poncontrol.aspire.com.ua/pon.tar

 

инструкция по установке в архиве в файле install.txt

 

P.S. тестировалось только на BDCOM P3310-AC

post-16884-0-36986400-1445810094_thumb.png

post-16884-0-44685600-1445810279_thumb.png

Edited by dan_aspire
  • Like 1

Share this post


Link to post
Share on other sites

Красиво. Почти вся эта информация реализована в WEB- интерфейсе BDCOMа в последней прошивке

Share this post


Link to post
Share on other sites

А если web доступ через https  ?


Я бы в глобальной настройке вар  сделал  константу "url_to_poncontrol"

Share this post


Link to post
Share on other sites

А если web доступ через https ?

 

Я бы в глобальной настройке вар сделал константу "url_to_poncontrol"

Спасибо. Проверю по возможности Edited by dan_aspire

Share this post


Link to post
Share on other sites

Хорошая вещь!

Установил, по инструкции все прописал, ОЛТ увидело, а вот онушки  по нулям ((

 

Может чего в ОЛТе прописать???

Edited by xmapa

Share this post


Link to post
Share on other sites

Хорошая вещь!

Установил, по инструкции все прописал, ОЛТ увидело, а вот онушки по нулям ((

 

Может чего в ОЛТе прописать???

Опрашивали олт?

Share this post


Link to post
Share on other sites

ну да, зеленым загорелся. А вот онушки нет

Share this post


Link to post
Share on other sites

Какое значение должна иметь  max_execution_time в php.ini ?

Edited by Ajar

Share this post


Link to post
Share on other sites

ну да, зеленым загорелся. А вот онушки нет

Зеленый - индикатор доступности (наличие пинга). Чтоб увидеть онушки олт должен быть опрошен либо нажатием ссылки опросить в карточке олта, либо запуском скрипта по крону.

Share this post


Link to post
Share on other sites

Какое значение должна иметь max_execution_time в php.ini ?

Умолчания не менял. Попаду за комп и гляну че там за значение

 

UPD: max_execution_time = 30

Для 3 ОЛТов хватало, хотя выполнялось значительно дольше 30 сек. 

Edited by dan_aspire

Share this post


Link to post
Share on other sites

Подскажите а без Userside нельзя?

Share this post


Link to post
Share on other sites

Подскажите а без Userside нельзя?

Можно. Это дополнительная функция 

Share this post


Link to post
Share on other sites

 

Подскажите а без Userside нельзя?

Можно. Это дополнительная функция 

 

Спасибо, я почитав понял.

Share this post


Link to post
Share on other sites

неплохая вещь ) Но думаю у многих поноводов с опытом есть уже своя мониторилка с такими же плюшками.

Но за то что поделились со всеми - респект и уважуха, скопипастил себе некоторые оиды

Share this post


Link to post
Share on other sites

>>dan_aspire

 

Не извращайтесь.

Напишите на office@userside.ua - дадим API как получать данные. Чтобы не ходить в базу.

Share this post


Link to post
Share on other sites

UserSide, оо, изначально думал юзать АПИ, но у вас в Вики не было нужных запросов, поэтому такую инфу и реализовал через мускуль. Написал на почту.

Edited by dan_aspire

Share this post


Link to post
Share on other sites

Красиво. Почти вся эта информация реализована в WEB- интерфейсе BDCOMа в последней прошивке

 

А что сделали WEB для BDCOM ??

 

UserSide, оо, изначально думал юзать АПИ, но у вас в Вики не было нужных запросов, поэтому такую инфу и реализовал через мускуль. Написал на почту.

 

Так что подождать новую версию или эту пока ставить?

Share this post


Link to post
Share on other sites

Так что подождать новую версию или эту пока ставить?

Можно и эту ставить. Обновление проблем не составит.

 

Есть вопрос ко всем: кто успешно самостоятельно запустил отпишитесь плз на какие оси ставили. Интересно для статистики.

Edited by dan_aspire

Share this post


Link to post
Share on other sites

 

Так что подождать новую версию или эту пока ставить?

Можно и эту ставить. Обновление проблем не составит.

 

Есть вопрос ко всем: кто успешно самостоятельно запустил отпишитесь плз на какие оси ставили. Интересно для статистики.

 

Ubuntu 14.04 x64, все ок. Дякуєм.

Share this post


Link to post
Share on other sites

 

Красиво. Почти вся эта информация реализована в WEB- интерфейсе BDCOMа в последней прошивке

 

А что сделали WEB для BDCOM ??

 

UserSide, оо, изначально думал юзать АПИ, но у вас в Вики не было нужных запросов, поэтому такую инфу и реализовал через мускуль. Написал на почту.

 

Так что подождать новую версию или эту пока ставить?

 

WEB для BDCOM таки есть, и вроде работает я его даже обновил через веб. И кстати ребята мож кто поможет расскажет  по настройкам, основы читал но есть несколько вопросов. С меня на пиво :)

Share this post


Link to post
Share on other sites

 

Так что подождать новую версию или эту пока ставить?

Можно и эту ставить. Обновление проблем не составит.

 

Есть вопрос ко всем: кто успешно самостоятельно запустил отпишитесь плз на какие оси ставили. Интересно для статистики.

 

Поставил на Ubuntu 12.04 LTS

Всё работает, спасибо.

Edited by Leprecon_krm

Share this post


Link to post
Share on other sites

Во-первых, спасибо за то, что выложили результат своего труда в открытый доступ. Думаю, многим он облегчит работу.

 

Немного комментарии от меня. Завести скрипт на FreeBSD (которая у нас везде) мне не получилось. Сходу оно не заработало, начал разбираться почему, в итоге бросил, потому что были более важные задачи...

 

Но администраторам Linux вероятно подойдет. Для Фрюхи надо допиливать большущим напильником.

 

1. Пути к snmpwalk и snmpset у вас кажется указаны жестко на каталог /usr/bin ? На FreeBSD вспомогательное ПО ставится в /usr/local/bin. Не помню как я догадался сделать симлинки... Дело в том, что изначально в логах Апаче была только одна ошибка:

[Tue Oct 27 14:55:04.113670 2015] [:error] [pid 5140] PHP Parse error:  syntax error, unexpected end of file in /usr/local/www/poncontrol/get_sfp.php(17) : eval()'d code on line 1, referer: http://poncontrol.local/

Поскольку я в PHP не очень силен, пришлось идти в Google за пониманием почему такая ошибка может возникать. В итоге догадался, что eval получает не тот набор (или формат) значений что ожидается. Включил дебаг и стало ясно: snmpwalk not found. Сделал симлинки для вышеупомянутых программ на /usr/bin - заработало. Вернее, не то чтобы заработало, скрипт нашел snmpwalk, но появились другие ошибки.

 

2. snmpwalk у вас используется в 11 скриптах:

dist_by_id.phpget_num_ports.php
get_port_link.php
get_port_state.php
get_ports.php
get_ports.php
get_snmp.php
iface_by_mac.php
mac_by_id.php
name_onu_by_if.php
vlan_by_port.php
Так вот в части из них параметры snmpwalk идут в такой последовательности:
snmpwalk -v2c -c $ro $ip 1.3.6.1.4.1.3320.101.12.1.1.3.XXX
а в части из них вот в такой:
snmpwalk -v2c $ip -c $ro 1.3.6.1.4.1.3320.101.12.1.1.3.XXX

(здесь IP адрес стоит до указания комьюнити).

 

Вариант номер 2 на FreeBSD snmpwalk не понимает и вываливает выдержку из мана.

 

Я во всех скриптах исправил exec snmpwalk на тот формат, что должен быть на моей системе удачно распознан. Протестировал snmpwalk из консоли. OID'ы вываливает. Но "...syntax error, unexpected end of file eval'd..." в логи вебсервера при "Опросе ОЛТа" так и сыпется. Вероятно, не проходит парсинг вывода snmpwalk. Итого: ОЛТы видно, ОНУшки не показывает, потому что очевидно, не разбирает вывод snmpwalk.

 

На этом месте я прекратил свои поиски. Не очень люблю разбираться в чужом коде, особенно в PHP который мне мало понятен.

 

Share this post


Link to post
Share on other sites

Во-первых, спасибо за то, что выложили результат своего труда в открытый доступ. Думаю, многим он облегчит работу.

 

Немного комментарии от меня. Завести скрипт на FreeBSD (которая у нас везде) мне не получилось. Сходу оно не заработало, начал разбираться почему, в итоге бросил, потому что были более важные задачи...

 

Но администраторам Linux вероятно подойдет. Для Фрюхи надо допиливать большущим напильником.

 

1. Пути к snmpwalk и snmpset у вас кажется указаны жестко на каталог /usr/bin ? На FreeBSD вспомогательное ПО ставится в /usr/local/bin. Не помню как я догадался сделать симлинки... Дело в том, что изначально в логах Апаче была только одна ошибка:

[Tue Oct 27 14:55:04.113670 2015] [:error] [pid 5140] PHP Parse error:  syntax error, unexpected end of file in /usr/local/www/poncontrol/get_sfp.php(17) : eval()'d code on line 1, referer: http://poncontrol.local/
Поскольку я в PHP не очень силен, пришлось идти в Google за пониманием почему такая ошибка может возникать. В итоге догадался, что eval получает не тот набор (или формат) значений что ожидается. Включил дебаг и стало ясно: snmpwalk not found. Сделал симлинки для вышеупомянутых программ на /usr/bin - заработало. Вернее, не то чтобы заработало, скрипт нашел snmpwalk, но появились другие ошибки.

 

2. snmpwalk у вас используется в 11 скриптах:

dist_by_id.phpget_num_ports.php
get_port_link.php
get_port_state.php
get_ports.php
get_ports.php
get_snmp.php
iface_by_mac.php
mac_by_id.php
name_onu_by_if.php
vlan_by_port.php
Так вот в части из них параметры snmpwalk идут в такой последовательности:

snmpwalk -v2c -c $ro $ip 1.3.6.1.4.1.3320.101.12.1.1.3.XXX
а в части из них вот в такой:

snmpwalk -v2c $ip -c $ro 1.3.6.1.4.1.3320.101.12.1.1.3.XXX
(здесь IP адрес стоит до указания комьюнити).

 

Вариант номер 2 на FreeBSD snmpwalk не понимает и вываливает выдержку из мана.

 

Я во всех скриптах исправил exec snmpwalk на тот формат, что должен быть на моей системе удачно распознан. Протестировал snmpwalk из консоли. OID'ы вываливает. Но "...syntax error, unexpected end of file eval'd..." в логи вебсервера при "Опросе ОЛТа" так и сыпется. Вероятно, не проходит парсинг вывода snmpwalk. Итого: ОЛТы видно, ОНУшки не показывает, потому что очевидно, не разбирает вывод snmpwalk.

 

На этом месте я прекратил свои поиски. Не очень люблю разбираться в чужом коде, особенно в PHP который мне мало понятен.

Спасибо за большущую работу! В обозримом будущем планирую перевести работу с ексеков на пхп_снмп, что было бы логично, а не извращенно как сейчас.

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 CR7
      Абонентский терминал XPON- 14.6уе 
      Абонентский терминал GEPON ONU  1GE 13уе
    • By CR7
      Модуль оптический  GEPON OLT SFP, 1,25G, С+ 28уе
      Модуль оптический SFP, OLT, GPON, 1GE,1490/1310nm C++- 38уе
      Модуль оптический GPON OLT SFP, 1,25G/2,5G, C+ 28уе
      Модуль оптический  SFP+ 10G-1SM-1270nm-40LC- 60уе
      Модуль оптический  SFP+ 10G-1SM-130nm-40LC-60уе
      Модуль оптический SFP-1SM-1550nm-80SC- 20уе
      Модуль оптический SFP-1SM-1490nm-80SC-20уе
      Модуль оптический SFP-1SM-1310nm-3SC-7уе
      Модуль оптический SFP-1SM-1550nm-3SC-7уе
       
    • By Stroj
      Доброго дня всім.
       
      Чи замислювався хоч хтось, а мо й пробував вимірювати (стрельнути рефлюком) ПОН на працюючий лінії? Від абонента в сторону "олти" ?
      Я знаю що є звичайна практика вимірювати ПОН в такому випадку достатньо коштовними рефлектометрами в яких є "фільтр" та вимірювач на частоті 1625 nm.
       
      Хоча якщо розмірковувати "здраво", при (зазвичай) відсутності обладнання CATV на 1550nm. .... 
      То що нам "мішає" взяти DWDM сплітер на 1550nm.? Відсікти ним 1310nm. та 1490nm. ....
      Та й поміряти звичайним рефом на частоті 1550nm., звісно якщо вистачить динамічного діапазону ?
       
      Тут правда виникає пара запитань:
      1) як поведе себе "голова", чи потрібно й на ній ставити DWDM ? (не в плані похибок та кротких збоїв, а що-би не "спалити" SFP (точніше приймач на ній), бо-ж - бо реф повинен мати динамічний діапазон від 32 дБ й вище)
      2) А що буде якщо "вліпити" 2 шт. DWDM 1550 й 1310 - то може вдасться поміряти на обох частотах ? Чи на 1310 "помішають" вимірам сигнали від інших ОНУ ?  
       
      То мо, хто, щось підкаже ? А може й досвідом поділиться?
    • By Туйон
      Такой вопрос.
      Имеется фирма, в которой нужно моденизировать, а по сути - построить заново, локальную сеть.
      Расположение - длина около 3-4 км. Около 10 контор (в виде зданий, пристроек, сооружений).
      В каждом из этих зданий - своя локальная сеть (разные подсети, кое где одинаковые).
      Так же почти везде (в большей половине) - видеонаблюдение. Сейчас какое, хз, старое. Будет новое.
      Задача - обеспечить всех связью, путем выдачи каждому зданию минимум двух влан (наблюдение, сеть).
      Т.е. на 10 зданий - 20 влан. 
      Все влан должны быть тегами переданы в конце концом одним волокном в их типа серверную. Знаю, что там свитч и пара серваков.
      Сначала конечно же подумал про SFP, свитчи и т д. Однако, топология такова, что нормальную звезду не построить.
      Получается, что все идут практически друг за другом, может есть одно ответвление.
      Брать минимум 8 волоконный кабель? А вдруг потом не хватит?
       
      С PON опыта особого не имею, так, кое что знаю понимаю. Но лично не строил.
      Я так понимаю, что купив один раз OLT и сэкономя на кабеле (1 волокно вместо 8-16), я решу задачу?
      Появляются вопросы.
      1. Есть ли какие OLT с одним портом? Брать на 4 не рационально. Больше 64 ONU там точно не будет.
      2. Есть ли ONU, которые нормально дружат с влан (ну это я понял не проблема) и с обьемами трафика (в основном отдача - видео, но и локалки). Наслышан, что ONU капризничают после какого-то количества МАС на медном порту.
      3. Какой есть нормальный кабель а-ля FTTH, на стальном тросу? Пролёты не большие в основном, но их много. 1кн хватит. Диэлектричность им не важна, а мне не хочется связываться с натяжителями.
      Требование в основном к тому, чтобы работало надежно, особенно видео. Так же нужно быть готовым, что в какой то момент новый админ вдруг пожелает подкинуть на ONU ещё какой-то зоопарк машин, принтеров, всякой херни. 
    • By Saymon609
      Продам ONU BDCOM P1501DT в наявності 3 штуки. Ціна 1 -300грн.
×