Jump to content

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


Recommended Posts

 

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

 

 

 

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

Link to post
Share on other sites
  • Replies 599
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

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

get_fdb_by_telnet.php 24 строчка   "fwrite($con, "show mac a int $nameint \r\n");" рекомендую поправить на "fwrite($con, "show mac address-table int $nameint \r\n");" в  Build 58197 поя

Хозяйке на заметку:   Относительно полного вывода ОИДов   1. Юзайте snmpwalk с параметрами snmpwalk -v2c -On -Cc -c public ip-address   2. Юзайте опции в php snmp snmp_set_oid_numeric_print(SN

Posted Images

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

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

 

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

 

 

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

Edited by kpoxa
Link to post
Share on other sites

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

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

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

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

Edited by Lynx100
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
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
Link to post
Share on other sites

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

 

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

 

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

 

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

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

Link to post
Share on other sites

 

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

 

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

 

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

 

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

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

 

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

Link to post
Share on other sites

 

 

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

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

Link to post
Share on other sites

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

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
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 разрядной системе почему-то не пошло.

 

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

Link to post
Share on other sites

 

 

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

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

 

 

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

Link to post
Share on other sites

 

 

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

 

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

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 nickstav
      Предлагаю.  Сварка ВОЛС PON монтаж. Измерение ВОЛС рефлектометром. Киев и область
    • By Pasivka
      Продам залишки :
      - пігтейли :
      LC/UPS 1.5 м 72шт  - 4 грн/шт
      SC/UPC 1.5м 72шт  - 4грн/шт
      - адаптер SC/UPC 150шт/100грн
      - FOB-04-16    2шт   - 100грн/шт
      - Crosver Fosc-MB-338/24-1-12-9SC 6шт                               - 85грн/шт
      - дільник 1/8  30шт  - 85грн/шт








    • By Pasivka
      Продам залишки :
      - пігтейли :
      LC/UPS 1.5 м 72шт  - 4 грн/шт
      SC/UPC 1.5м 72шт  - 4грн/шт
      - адаптер SC/UPC 150шт/100грн
      - FOB-04-16    2шт   - 100грн/шт
      - Crosver Fosc-MB-338/24-1-12-9SC 6шт                               - 85грн/шт
      - дільник 1/8  30шт  - 85грн/шт








    • By ssergiy
      Надаю послуги по розварюванню (сварці), зварюванню оптоволоконна, магістральних ВОЛЗ. Пошук пошкодження, втрати сигналу, вхідний контроль, контроль після прокладки та монтажу. При потребі виконаю виміри рефлектометром, оптичними тестерами.
      При потребі надам виконавчу документацію згідно КНД41-141-99.
      Досвід роботи по будівництву та монтажу ВОЛЗ, PON мережі.
      Ціна залежить від об'єму робіт.
      Можливий виїзд.
      т. 0959310003
    • By os8143385.com
      Продам OLT-и BDCOM у відмінному стані, у зв'язку з переходом на XPON.
      В наявності:
      BDCOM 3616-2TE - 1шт ( 1350 $ )
      BDCOM 3608-2TE - 1шт ( 650 $ )
      BDCOM 3608        - 1шт ( 500 $ )
      BDCOM 3310        - 3шт ( 300 $ )
      Курс 33 грн.
       



×
×
  • Create New...