Jump to content
Local
dan_aspire

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

Recommended Posts

 

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

 

 

 

На php snmp было бы конечно более универсально. Будем следить за вашими апдейтами.

Share this post


Link to post
Share on other sites

Спасибо за прогу.

Поставили на дебиан, все взлетело. Из минусов - некорректно мониторятся 3616. Может есть какие нить рекомендации/подсказки?

 

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

 

 

П.С. Для тестирования на 3616 можем организовать удаленный доступ на железо:)

Edited by kpoxa

Share this post


Link to post
Share on other sites

жаль что на фрибсд не подходит....

Edited by logic

Share this post


Link to post
Share on other sites

жаль что на фрибсд не подходит....

а че там пхп не такой или snmpwalk который в екзек вызывается по другому работает ???

то что возможно код немного надо подпилить, то это может быть

я и под линукс подпиливал чтобы посмотреть на работу ...

Edited by Lynx100

Share this post


Link to post
Share on other sites

На CentOS не встал сходу, на что смотреть нужно?

Точнее по ONU инфу не получает даже после опроса в логах

 

PHP Notice:  Undefined index: sort in /var/www/html/pon/onu_sql.php on line 12, refer
PHP Notice:  Undefined index: sfp in /var/www/html/pon/onu_sql.php on line 18, refere
PHP Notice:  Undefined variable: sort_sfp in /var/www/html/pon/onu_sql.php on line 20
Edited by Unikar

Share this post


Link to post
Share on other sites

В процессе новая версия с более оптимизироваными запросами, должно будет на всех системах работать

Share this post


Link to post
Share on other sites

Итак, немного переделал схему опроса:

 

Замените файлик get_snmp.php следующим содержимым:





<?php
include 'vars.php';
$extra = 'index.php';
if ($table == NULL) {
$table = $_GET["olt"];
} else {
}



$ip = str_replace ("_", ".", $table);

include 'get_ro.php';
include 'get_rw.php';
include_once 'function_lib.php';


$sql_ip = ip2longfixed($ip);

$conn = mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_query("SET NAMES utf8");
mysql_select_db($mysql_db);
UpdateOltLastAct($conn, $sql_ip, $date);

$Array_descr = snmprealwalk($ip, $ro, "1.3.6.1.2.1.2.2.1.2");


 if(count($Array_descr)>0)
 {
 foreach($Array_descr as $key => $type)
 {
 $key = str_replace("iso.3.6.1.2.1.2.2.1.2.", "", $key);
 $type = trim(str_replace("STRING: ", "", $type));

 $olt = strtok($type, ":");

 if(preg_match("#:#", $type))
 {
$rx = RxById($ip, $ro, $key);
$nameint = NameIntAddZero(NameById($ip, $ro, $key));
$mac = MacById($ip, $ro, $key);
UpdateOnu($conn, $sql_ip, $date, $nameint, $mac, $rx);


}
}

}




header("Location: http://$host$uri/$extra?page=olt&olt=$table");
?>

2) Создайте в той же папке файлик function_lib.php 





<?php


// ---------- Correct function ip2long for work on 32bit systems

function ip2longfixed($ip) {
$sql_ip = sprintf('%u', ip2long($ip));
return $sql_ip;
}

// END ----------





// ----------Get RX level by Interface ID----------

function RxById($ip, $ro, $iface) {
// Get RX level with "INTEGER: "
  $rx = snmp2_get($ip, $ro, ".1.3.6.1.4.1.3320.101.10.5.1.5.$iface");

// Get CLEAN RX level
$rx = end(explode(' ', $rx));
if ($rx == 0) {
$rx = "Offline";
} else {
$rx=($rx/10);

$rx=sprintf("%.1f", $rx);
}
return $rx;
}

// END ----------Get RX level by Interface ID----------






// ----------Get PON interface name by Interface ID----------


function NameById($ip, $ro, $iface) {
$iface_name = snmp2_get($ip, $ro, "1.3.6.1.2.1.2.2.1.2.$iface");

//Get CLEAN name
$iface_name = end(explode(' ', $iface_name));
$iface_name = str_replace("\"", "", $iface_name);


return $iface_name;
}

// END ----------Get PON interface name by Interface ID----------

// ----------Get MAC ADDRESS of ONU by nterface ID----------
function MacById($ip, $ro, $iface) {
$mac = snmp2_get($ip, $ro, "1.3.6.1.4.1.3320.101.10.1.1.3.$iface");
$mac = trim(end(explode(':', $mac)));
$mac = str_replace (" ", ":", $mac);
return $mac;
}

// END ----------

// ---------- Add zero to interface name for correct sorting ----------

function NameIntAddZero($nameint) {
$end = end(explode(':', $nameint));
$count = strlen($end);
if ($count == 1){
$nameint = str_replace (":1", ":01", $nameint);
$nameint = str_replace (":2", ":02", $nameint);
$nameint = str_replace (":3", ":03", $nameint);
$nameint = str_replace (":4", ":04", $nameint);
$nameint = str_replace (":5", ":05", $nameint);
$nameint = str_replace (":6", ":06", $nameint);
$nameint = str_replace (":7", ":07", $nameint);
$nameint = str_replace (":8", ":08", $nameint);
$nameint = str_replace (":9", ":09", $nameint);

}
return $nameint;
}

// END ----------




// ---------- MYSQL update last activity of OLT ----------
function UpdateOltLastAct($conn, $sql_ip, $date) {
$sql = "UPDATE olts SET last_act='$date' WHERE ip='$sql_ip'";
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not enter data: ' . mysql_error());
}
}

// END ----------





// ---------- MYSQL Update/Add ONU ----------
function UpdateOnu($conn, $sql_ip, $date, $nameint, $mac, $rx) {
if ($rx == "Offline") {
$rx = "0";

$sql = "INSERT INTO onus (olt,name,mac,pwr) VALUES ('$sql_ip','$nameint','$mac','$rx')";
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
}




} else {


$sql = "INSERT INTO onus (olt,name,mac,pwr) VALUES ('$sql_ip','$nameint','$mac','$rx') ON DUPLICATE KEY UPDATE name=VALUES(name), olt=VALUES(olt),pwr=VALUES(pwr)";
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not enter data: ' . mysql_error());
}

$sql = "UPDATE onus SET olt='$sql_ip',last_pwr='$rx',last_activity='$date' WHERE mac='$mac'";
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not enter data: ' . mysql_error());
}

}

$sql = "INSERT INTO onus_s (olt,mac,pwr,datetime) VALUES ('$sql_ip','$mac','$rx','$date')";
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not enter data: ' . mysql_error());
}










}

// END ----------




?>

По идее должно взлететь на всех системах.

 

P.S. спасибо тем кто отозвался и в особенности тем кто поделился своими наработками)

Edited by dan_aspire

Share this post


Link to post
Share on other sites

Итак, немного переделал схему опроса:

 

Замените файлик get_snmp.php следующим содержимым:

 

По идее должно взлететь на всех системах.

 

P.S. спасибо тем кто отозвался и в особенности тем кто поделился своими наработками)

может добавьте или обновите версию в шапке ?

Share this post


Link to post
Share on other sites

 

Итак, немного переделал схему опроса:

 

Замените файлик get_snmp.php следующим содержимым:

 

По идее должно взлететь на всех системах.

 

P.S. спасибо тем кто отозвался и в особенности тем кто поделился своими наработками)

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

Share this post


Link to post
Share on other sites

завтра попробую под фрей

скажете результат

Share this post


Link to post
Share on other sites

File does not exist: /var/www/html/pon/modal-contact-form.css, referer: /pon/index.php?page=olt&olt=10.100.100.6

 

При нажатие опрос ничего не происходит в логах только это

Share this post


Link to post
Share on other sites

 

 

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

По Netup по прежнему в базу стучим или прикрутились таки к урфе?

Share this post


Link to post
Share on other sites

отпишитесь, пожалуйста, у кого на каких системах заработало после вчерпшних обновьений и ушли ли проблемы при опросе 3616

Share this post


Link to post
Share on other sites

 PHP Strict Standards:  Only variables should be passed by reference in /usr/local/www/apache22/data/pon/function_lib.php on line 71

PHP Warning:  snmp2_get(): Invalid object identifier: 1.3.6.1.4.1.3320.101.10.1.1.3.IF-MIB::ifDescr.117 in /usr/local/www/apache22/data/pon/function_lib.php on line 60

 

И в таком духе.

 

Соотвественно за собой тянет

 

PHP Notice:  Undefined index: search in /usr/local/www/apache22/data/pon/olt.php on line 5,

Ну и дальше пустые данный в get_sfp, onu_sql 

Итд.

 

Если надо могу скинуть лог ошибок в личку.

 

ЗЫ FreeBSD 9.3-RELEASE-p7

Edited by Raniel-Atero

Share this post


Link to post
Share on other sites

Завелось. Все работает.

Linux feldsher-jobstation 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:12 UTC 2014 i686 athlon i686 GNU/Linux

 

На 64 разрядной системе почему-то не пошло.

 

Автору большое спасибо.

Share this post


Link to post
Share on other sites

было бы очень круто, что бы отображалось более 4-х пон сфп.

Share this post


Link to post
Share on other sites

было бы очень круто, что бы отображалось более 4-х пон сфп.

Где именно? Если можно - сделайте скрин.

Share this post


Link to post
Share on other sites

 

было бы очень круто, что бы отображалось более 4-х пон сфп.

Где именно? Если можно - сделайте скрин.

 

post-33339-0-22703800-1446907002_thumb.png

Share this post


Link to post
Share on other sites

 

 

было бы очень круто, что бы отображалось более 4-х пон сфп.

Где именно? Если можно - сделайте скрин.

 

 

В планах в будущей версии возможность указать при редактировании ОЛТа количество ПОН сфп

Share this post


Link to post
Share on other sites

 

 

В планах в будущей версии возможность указать при редактировании ОЛТа количество ПОН сфп

 

отлично, готов буду потестировать на 5+ сфп

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

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 rusol
      Здравствуйте, помогите решить проблему, мысли у меня закончились.
       
      Ночью без видимых причин перестал работать клиент, коммутатор не перезагружался.
       
      #show version BDCOM(tm) P3310B Software, Version 10.1.0B Build 36687 Copyright by Shanghai Baud Data Communication CO. LTD. Compiled: 2016-7-21 16:48:14 by SYS_36687, Image text-base: 0x80008000 ROM: System Bootstrap, Version 0.3.3, Serial num:00313001324 System image file is "Switch.bin" (RISC) processor with 131072K bytes of memory, 8192K bytes of flash snmp info: product_ID:228 system_ID:1.3.6.1.4.1.3320.1.228.0 Switch uptime is 28:00:51:19, The current time: 1970-1-29 0:51:19  
      #show interface ePON 0/1 EPON0/1 is up, line protocol is up Ifindex is 9, unique port number is 7 Hardware is GigaEthernet-PON, address is (bia ) MTU 1500 bytes, BW 1000000 kbit, DLY 2000 usec Encapsulation ARPA Full-duplex, 1000Mb/s flow-control off 5 minutes input rate 875 bits/sec, 0 packets/sec 5 minutes output rate 0 bits/sec, 0 packets/sec Received 10864414 packets, 2013383495 bytes 90693 broadcasts, 179 multicasts 0 discard, 97 error, 0 PAUSE 0 align, 0 FCS, 0 symbol 0 carriersense Transmited 48571295 packets, 34397564683 bytes 3832185 broadcasts, 0 multicasts 0 discard, 0 error, 0 PAUSE 0 sqettest, 0 deferred 0 single, 0 multiple, 0 excessive, 0 late  
      interface EPON0/1 epon pre-config-template client binded-onu-llid 1-64 epon bind-onu mac 2 switchport trunk vlan-allowed 10,20 switchport trunk vlan-untagged none switchport mode trunk switchport protected ! interface EPON0/1:2 onu-configuration switchport port-security dynamic maximum 5 switchport port-security mode dynamic epon onu port 1 ctc vlan mode tag 20 epon onu port 1 ctc loopback detect !!onu-configuration-end  
      После предварительной проверки выяснилось:
       
      на этой SFP только этот клиент ставили другую онушку, не помогло мак онушки и мак роутера клиента видно на OLT мак роутера клиента не видно на центральном маршрутизаторе отключали линию с SFP, включали только одну онушку через делитель 20/80, тот же результат в порт подкидывали заведомо рабочую SFP, не помогло
    • By irinaoptic
      Компания "Технологии сетей" приглашает на бесплатный семинар-практикум "Комплексное построение PON-сетей: xPON-инфраструктура", который состоится 22.11.2019г. в офисе компании по адресу: г.Киев, ул.Старосельская, д. 1К

      Семинар-практикум будет включать в себя:
      актуальные вопросы построения пассивной оптической сети: xPON - инфраструктура в многоквартирных застройках, практические решения для xPON-сети, оптический бюджет: тонкости и нюансы расчета, комплексные решения для построения телекоммуникационных сетей;
      презентацию «GCOM - комплексное решение для построения телекоммуникационных сетей»,
      полезные практикумы по работе с компонентами PON-сети в многоэтажных застройках - монтаж компонентов сети, коммутационных ящиков, этажных боксов, разделка ВОК и др.
       
      С докладом выступит приглашенный эксперт телеком рынка, который поделится своим мнением, а главное опытом построения пассивных оптических сетей в Украине.

      Форма для регистрации
       
      Контактные телефоны:
      +38 (044) 355-53-23, +38 (095) 355-53-23,
      +38 (067) 355-53-23, +38 (073) 355-53-23.
       
    • By hex@set
      Продам
      Мини комплексы рефлектометр TFS2550 QUAD и спектроанализатор TFS3200 -(подразделение VIAVI) "Mini-OTDR+VFL+POWER_METER+ILS + (Miсroscope в комплекте 400х)"
      Состояние - легкого БУ. 
      Больше фото внизу поста.


      Малогабаритный комплексный измеритель-рефлектометр.
      Производство США (Indiapolis), для внутреннего рынка США.
      Преимущества:
      OTDR
      Интегрированный источник видимого излучения "VFL" 
      Интегрированный измеритель мощности "POWR METER"
      Интегрированный источник излучения для комплексных тестов потерь. "ILS"
      Легкий (легкосплавный) анодированный корпус в съемном резиновом противоударном чехле.
      TFS имеет мгновенное время включения и тестовой загрузки: 3-5 секунд, 
      Измерения в реальном времени.
      Быстрый тест трассы одной кнопкой.
      Скролинг, 16х кратный zoom и поиск событий.
      Цветовые схемы.
      Встроенные легко заменяемые аккумуляторы на 8 часов автономной работы (цена нового аккумулятора в Украине, 300-400гр)
      Порт подключения внешнего дефектоскопа(микроскоп) Любой, типа "Vid Probe"
      Порт мини USB (работа с и управление прибором "РС")
      Порт USB для подключения флешки.
      Встроенная флешь память для хранения данных 1000 трасс.
      Вывод результатов измерений трассировки в таблицы.
      Три уровня автоматического анализа трасс.
      Быстрый и удобный сенсорный скроллинг по меню.
      Прост для использования в полевых условиях. 
      Встроенный подробный HELP по меню функций и опций.
      Благодаря скорости, простоте организации меню, широкому динамическому диапазону 32дб, легко читаемому цветному дисплею,
      прочному корпусу из легкого алюминиевого сплава ,малая мертвая зона 2м, возможности измерений трасс от 1 км до 240км, рефлектометр идеально подходят для техников с любым уровнем подготовки и работ в любых условиях, от офиса, до работы в жестких полевых условиях.
       
      Комплектация:
      Рефлектометр-1шт
      Спектроанализатор-1шт
      Электронный микроскоп 400Х -1шт
      Фирменная сумка для переноски комплекта-1шт
      Противоударный резиновый чехол для переноски-2шт
      Откидная подставка для работы "на столе"-2шт
      Регулируемая ручка для работы одной рукой (крепится на чехол для переноски)-2шт
      Ремень наплечный для переноски (крепится на защитный чехол для переноски)-2шт
      Блок питания/зарядка. -1шт
      Пачкорд.-2шт
      USB кабель для подключения к компьютеру-1шт
      USB флеш с программой для анализа трасс и составления отчетов .-1шт
      Документация -1шт
       
      Характеристики :
       
      OTDR
      optical time Domain Reflectometer
      Wavelength  850nm, 1300nm, 1310 nm, 1550 nm 
      Dynamic Range     32/30 dB SM
      pulse Width    20 - 10,000 ns
      Units of Measurement    km
      event Dead Zone    2 m
      attenuation Dead Zone    5 m
      Resolution    0.25 - 64 m
      Distance Uncertainty    ±(0.75 m + 0.005% x distance + sampling resolution)
      full Scale Distance Range 1-240 km SM
      Memory capacity    1000
      VFL
      Visible Light Source 
      emitter type    Laser
      Wavelength    650 nm ±5 nm
      Laser Safety class    Class IIFDA21 CFR1040.10 &1040.11
      connector type    2.5 mm Universal
       
      PM
      power Meter
      Detector type    InGaAs
      calibrated Wavelength    850 nm, 1300 nm, 1310 nm, 1490 nm, 1550 nm, 1625 nm
      Units of Measure    dBm, dB
      Resolution    0.01 dB
      power Measurement Range    +5 dBm to -77 dBm
      (CATV +25 dBm to -57 dBm)
      Storage Locations    10,000
       
      ILS
      iR Light Source
      Wavelengths     1310 nm, 1550 nm ±20 nm
      output power (cW)    0 dBm 
      Laser Safety class    Class I safety per FDA/CDRH and IEC-825-1 regulations
      Modulation Modes    CW, 270 Hz, 1000 Hz, 2000 Hz
       
      General
      Memory type    Internal and Flash Drive
      power Supply/charger    Universal
      Battery    12v 2.7Ah (8xIN)
      Temperature    -20°C to +60°C
      Цена 2100уе. + Хорший ТорТ покупателю
       
      Связь:
      ЛИЧКА
      тел. 066699IЧЧЧ
      Форма оплаты любая. нал/безнал, карта, НП наложка . ОЛХ доставка. Оленями..



       







    • By hex@set
      Продам OLP-87 измеритель мощности для сетей FTTx/PON/GPON
      Оптический тестер, тестер PON сети. Мультитест.
      Легкое Б/У
      состояние 9 из 10ти
      Больше фото внизу поста.


      OLP-87 — это измеритель мощности для сетей FTTx/PON, используемый для ввода в эксплуатацию и поиска неисправностей в сетях PON и G-PON, а также высокоскоростных сетях следующего поколения 10G PON, включая XG-PON и 10G-EPON, а также сетях с увеличенной пропускной способностью NG-PON2. В портативном устройстве OLP-87 сочетается высококачественный селективный измеритель мощности для FTTx/PON с оценкой соответствия/несоответствия волокон.
       
      Сферы применения:
      Активация и поиск неисправностей
      Одновременное измерение мощности всех сигналов данных для восходящего и нисходящего потока в активных сетях PON
      Автоматическая оценка соответствия/несоответствия волокна (PASS/FAIL) с помощью осмотра опциональным микроскопом P5000i
      коммутационных шнуров
      Основные характеристики:
      Сквозной режим для одновременного измерения  и отображения сигналов передачи голоса, данных и видеосигналов в оптоволокне в нисходящем поток и в восходящем потоке 
      Опция высокопроизводительного измерителя мощности для широкополосной сети
      Внутреннее хранилище до 10 000 результатов тестирования с выгрузкой через USB или Ethernet


      Комплект: 
      Прибор OLP-87
      Блок питания
      Блок батарей
      Документация
      Сетрификат калибровки

      Связь личка 
      тел 0666991444
      Цена 450уе. торг
      Отправка . Любая
      Наложка, Оплата на карту. Дедом морозом лично в руки.
       














    • By stanislavx
      Побудували та запустили нарешті першу гілку в приватному секторі.
      Підкажіть по рівням сигналів
      на ONU:
      -15.4 -16.7 -17.2 на OLT:
      epon0/1:1 -21.8 epon0/1:2 -19.9 epon0/1:3 -20.4  
       
      Та стосовно шаблонів. Чи обов'язково вказувати параметри швидкості:
      cmd-sequence 00X epon sla downstream pir 1000000 cir 15000 cmd-sequence 00X epon sla upstream pir 1000000 cir 15000 Наразі маємо такий шаблон:
      001 epon onu all-port ctc vlan mode tag 30 002 epon onu all-port ctc loopback detect 003 epon onu all-port storm-control mode 4 threshold 256  
      Дякую.
×