Перейти к содержимому
Local
dan_aspire

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

Рекомендованные сообщения

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

 

 

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

- Учёт 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

Изменено пользователем dan_aspire
  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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


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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

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

Спасибо. Проверю по возможности Изменено пользователем dan_aspire

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

 

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

Изменено пользователем xmapa

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Изменено пользователем Ajar

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

 

UPD: max_execution_time = 30

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

Изменено пользователем dan_aspire

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

>>dan_aspire

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Изменено пользователем dan_aspire

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

 

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

Изменено пользователем dan_aspire

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

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

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

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

 

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

 

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

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

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

 

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

 

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

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

Изменено пользователем Leprecon_krm

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

Немного комментарии от меня. Завести скрипт на 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 который мне мало понятен.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

Немного комментарии от меня. Завести скрипт на 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 который мне мало понятен.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

  • Похожие публикации

    • Автор: Aleksandr87
      Добрый день кто может кратко и внятно обьяснить что такое ХЖПОН и с чем его едят?
      1. Сколько абонов на глаз
      2. Скорость на ону
      3. Нах оно вообще нужно?
    • Автор: Інет.укр
      Доброго дня, продам під замовлення U Fiber
      UBNT UF-LOCO - U Fiber - 49$ *
      UBNT UF-NANO - U Fiber - 82$ *
      UBNT UF-LOCO - U Fiber 5-Pack - $244
      * на кількості знижки
    • Автор: Mechanik
      Если со стороны onu более меенее понятно- бренды идут с зеленым (в основном), китай с синим, то интересует тип разъема со стороны головы ?
      К примеру ZTE с220,320.
    • Автор: IvanG
      Шасси 2U, питание 220В, 1G аплинк
      Шасси 5608T (плата пит. MPWD 220V AC, Fan block)  + 2 шт 1G MCUD(1G Uplink) - 1 800 дол.
      (2-я плата работает в качестве резервной!)

      Шасси 2U, питание 220В, 10G аплинк
      Шасси 5608T (плата пит. MPWD 220V AC, Fan block)  + 2 шт 10G MCUD1 (10G Uplink) - 2 300 дол.
      (2-я плата работает в качестве резервной!)

      Шасси 6U, питание 48В, 10G аплинк 
      Шасси MA5683T (6U, в компл. с блоком вентиляторов) - 1 шт. - 1 900 дол.
      Состав шасси:
      - плата питания 48V PRTE - 2 шт.;
      - плата управления SCUN  - 2 шт. (4 порта 1G аплинк "на борту") (2-я плата работает в качестве резервной!);
      - плата Uplink 10G X2CS (2 порта) - 2 шт.

      Платы GPON
      Cервисная плата GPBD  (8 GPON портов,  SFP C+ в компл.) - 550 дол.
      Cервисная плата GPBD  (8 GPON портов,  SFP C++ в компл.) - 620 дол.
      Cервисная плата GPFD  (16 GPON портов, SFP C+ в компл.) - 820 дол.
      Cервисная плата GPFD  (16 GPON портов, SFP C++ в компл.) - 950 дол.

      Система бесперебойного питания
      + преобразования 220В/48В Huawei ETP4830-A1 - 400 дол. (если в составе шасси - 360 дол.)
       
      Все ОЛТ подготовленные к работе со сторонними ОНУ!
    • Автор: IvanG
      Продам новые ОНУ GPON Huawei EchoLife HS8145C  - цена  25 дол.
      (1x1G Lan + 3xFE Lan + WiFi + USB)

      Интерфейсы:
      AN порт (1): 1 G-PON uplink порт (SC/UPC)
      Rx: 1490nm, Tx: 1310nm, дальность: 20км
      ITU-T G.984.2 Compliant G-PON ONU Class B+
      LAN порт: 3-порта 10/100Base-T (RJ45), 1 порт GE.
      VoIP порт: POTS
      USB порт
      WiFi: 802.11N
      Оптический интерфейс Tx/Rx: 1310/1490nm, 1.25Gbps (US)/ 2.5Gbps (DS)
      Чувствительность приемника: -27dBm
      Мощность излучения лазера: +0.5...+5dBm
      Максимальная допустимая мощность на входе приемника: -9dBm
      Максимальная дальность 20км
      Режим работыBridge/Router(HGU)
      Индикация POWER, PON, LOS, LAN
      Размеры (В х Ш х Г)25  x 175 x 135мм
      Напряжение питания Внешний БП 12В, 1А
      Рабочая температура от -5 до +65
      Температура хранения от -40 до +70

×