Jump to content

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


Recommended Posts

  • 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

изначально задолго до релиза описание бралось и писалось именно по IfAlias, но потом реализовал описание в мускуле, ибо кириллица. Если есть необходимость - можно добавить вместо описания из мускуля.

Edited by dan_aspire
Link to post
Share on other sites

Хотелось бы такую штуку сделать. Как вариант можно сделать переменную в vars.php и делать как хочешь. Просто думаю перейти на вашу систему с самописной, но заполнять описания вручную с 4+ олтов как-то грустно.

Link to post
Share on other sites

Как вариант - можно импортировать. Ибо каждый подтягивать при открытии описание онушек - долго и бессмысленно дёргать железку. А раз уже хранится информация описания в мускуле - глупо было бы не воспользоваться кириллицей.

Link to post
Share on other sites

Точняк! Попер я вспоминать mysql, ато подзабыл. И вопрос, если я редактирую(подписую) onu на web-интерфейсе редактируется ли оно на самом olt? Иногда в консоли на самом олте быстрее  посмотреть дескрипшин онушки нежели заходить на WEB-интерфейс, особенно когда монтажники на столбе в коробке.

Edited by sadist
Link to post
Share on other sites

В данный момент работы с хранением IfDescr на олте нет. Не пойму чем быстрее смотреть дескрипшн в консоли. В любом случае телнет на олт - enable - show занимает больше времени чем 2 щелчок на закладку и щелчок на нужный олт/сфп в нем. С телефона на линии так тем более.

Ещё раз, если нужно - можно сделать импорт данных с олта в БД PonControl

Link to post
Share on other sites

Затестил софтинку. Прикольная.

 

Хочу предложить одно улучшение. В install.txt описано создание скрипта для опроса онушек, который можно заменить одной строчкой в кронтабе:

*/6 * * * * /usr/bin/env curl -u user:password http://pon.example.org/pon/ping_all.php

Главное чтоб был установлен курл на сервере, но обычно он там и так есть.

Edited by cjayho
Link to post
Share on other sites

 

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

 

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

 

 

Неплохо было бы сделать не симлинки, а прописать в софтинке путь не /usr/bin/snmpwalk, а /usr/bin/env snmpwalk

Link to post
Share on other sites

Да можно и так впринципе  */10 * * * *     wget -O - -q -t 1 http://pon.com/pon_v3/ping_all.php-O temp.php && rm temp.php*

Работает проверено

 

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

Link to post
Share on other sites

 

 

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

 

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

 

 

Неплохо было бы сделать не симлинки, а прописать в софтинке путь не /usr/bin/snmpwalk, а /usr/bin/env snmpwalk

 

 

 

Софт уже не использует снмп через ексеки. Вся работа с СНМП реализована через ПХП.

Link to post
Share on other sites

Затестил софтинку. Прикольная.

 

Хочу предложить одно улучшение. В install.txt описано создание скрипта для опроса онушек, который можно заменить одной строчкой в кронтабе:



*/6 * * * * /usr/bin/env curl -u user:password http://pon.example.org/pon/ping_all.php

Главное чтоб был установлен курл на сервере, но обычно он там и так есть.

 

1) юзер-пассворд в КРОНе хранить не думаю что сильно безопасно. Если не из-под рута, конечно.

2) На убунту-сервер изначально курл не стоял, поэтому оставил с минимумом зависимостей

Link to post
Share on other sites
  • 2 weeks later...

кто подскажет что может быть сыпятся ошибки 

Notice: Undefined index: sort in /var/www/pon/onu_sql.php on line 12

Notice: Undefined index: sfp in /var/www/pon/onu_sql.php on line 18

Notice: Undefined variable: sort_sfp in /var/www/pon/onu_sql.php on line 20

Notice: Undefined variable: sort_sfp in /var/www/pon/onu_sql.php on line 43

Notice: Undefined variable: sort_sfp in /var/www/pon/onu_sql.php on line 43

Notice: Undefined variable: sort_sfp in /var/www/pon/onu_sql.php on line 44

Notice: Undefined variable: sort_sfp in /var/www/pon/onu_sql.php on line 44

Notice: Undefined variable: sort_sfp in /var/www/pon/onu_sql.php on line 44

Notice: Undefined variable: search_sql in /var/www/pon/onu_sql.php on line 54

Link to post
Share on other sites
  • 3 weeks later...
  • 3 weeks later...

install.txt, 5) Создать скрипт...
 



--- install.txt         2016-01-29 12:34:02.000000000 +0200
+++ install.up.txt      2016-01-29 13:08:16.000000000 +0200
@@ -34,7 +34,7 @@
                site_link="http://pon.example.org/pon" #Адрес, по которому будет доступен ваш PonControl
                apache_user="apacheadmin" #Логин (при использовании апачевой авторизации)
                apache_password="apachepassword"        #Пароль (при использовании апачевой авторизации)
-               wget --user $apache_user --password $apache_password $site_link/ping_all.php -O temp.php && rm temp.php*        
+               wget --user $apache_user --password $apache_password $site_link/ping_all.php -O /dev/null
Link to post
Share on other sites

Утра всем.

 

Обнаружился тут баг небольшой.  Проявляется как неопределение подключенных и работающих ONU-шек.  Детальные разборки показали, что poncontrol не может определить MAC-адрес ONU-шки.  Однако, сам poncontrol тут не виноват, косяк прячется в выводе похапэшной функции snmp2_get().

/* Поиски в ытырнетах обнаружили жалобы пользователей cacti с описанием этого же косяка */

 

Опрос при помощи штатной утилиты snmpget(1):

host:~ % snmpget -v2c -crocomm 10.10.10.3 1.3.6.1.4.1.3320.101.10.1.1.3.15          
SNMPv2-SMI::enterprises.3320.101.10.1.1.3.15 = Hex-STRING: FC FA F7 16 AE 7B 
host:~ % snmpget -v2c -crocomm 10.10.10.3 1.3.6.1.4.1.3320.101.10.1.1.3.14
SNMPv2-SMI::enterprises.3320.101.10.1.1.3.14 = STRING: "ЭЗВеЫb"
На формат вывода штатной утилиты мы можем повлиять (ключ -Ox), на вывод snmp2_get() -- нет. Во всяком случае, я способа не нашел.  Посему в код добавлен такой workaround:


--- function_lib.php    2015-11-12 22:41:39.000000000 +0200
+++ function_lib_up.php  2016-02-03 02:57:15.000000000 +0200
@@ -163,7 +163,20 @@
 // ----------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)));
+list($datatype, $out) = explode(':', $mac, 2);
+if ($datatype === "Hex-STRING") { // STRING vs Hex-STRING
+  $mac = trim($out);
+} elseif ($datatype === "STRING") {
+  $out = trim($out, " \"");
+  $hexStr = '';
+  for ($i = 0; $i < strlen($out); $i++) {
+    $hexStr .= dechex(ord($out[$i]));
+    $hexStr .= ' ';
+  }
+  $mac = trim($hexStr);
+} else {  // other cases
+  $mac = "XX XX XX XX XX XX";
+}
 $mac = str_replace (" ", ":", $mac);
 return $mac;
 }
По поводу кода: "Пожалуйста. не стреляйте в пианиста. Он старается, как может". Edited by jpby_
Link to post
Share on other sites

Утра всем.

 

Обнаружился тут баг небольшой.  Проявляется как неопределение подключенных и работающих ONU-шек.  Детальные разборки показали, что poncontrol не может определить MAC-адрес ONU-шки.  Однако, сам poncontrol тут не виноват, косяк прячется в выводе похапэшной функции snmp2_get().

/* Поиски в ытырнетах обнаружили жалобы пользователей cacti с описанием этого же косяка */

 

Опрос при помощи штатной утилиты snmpget(1):

host:~ % snmpget -v2c -crocomm 10.10.10.3 1.3.6.1.4.1.3320.101.10.1.1.3.15          
SNMPv2-SMI::enterprises.3320.101.10.1.1.3.15 = Hex-STRING: FC FA F7 16 AE 7B 
host:~ % snmpget -v2c -crocomm 10.10.10.3 1.3.6.1.4.1.3320.101.10.1.1.3.14
SNMPv2-SMI::enterprises.3320.101.10.1.1.3.14 = STRING: "ЭЗВеЫb"
На формат вывода штатной утилиты мы можем повлиять (ключ -Ox), на вывод snmp2_get() -- нет. Во всяком случае, я способа не нашел.  Посему в код добавлен такой workaround:


--- function_lib.php    2015-11-12 22:41:39.000000000 +0200
+++ function_lib_up.php  2016-02-03 02:57:15.000000000 +0200
@@ -163,7 +163,20 @@
 // ----------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)));
+list($datatype, $out) = explode(':', $mac, 2);
+if ($datatype === "Hex-STRING") { // STRING vs Hex-STRING
+  $mac = trim($out);
+} elseif ($datatype === "STRING") {
+  $out = trim($out, " \"");
+  $hexStr = '';
+  for ($i = 0; $i < strlen($out); $i++) {
+    $hexStr .= dechex(ord($out[$i]));
+    $hexStr .= ' ';
+  }
+  $mac = trim($hexStr);
+} else {  // other cases
+  $mac = "XX XX XX XX XX XX";
+}
 $mac = str_replace (" ", ":", $mac);
 return $mac;
 }
По поводу кода: "Пожалуйста. не стреляйте в пианиста. Он старается, как может".

 

For the snmp_set_oid_output_format()
SNMP_OID_OUTPUT_SUFFIX (integer)
As of 5.4.0
SNMP_OID_OUTPUT_MODULE (integer)
As of 5.4.0
SNMP_OID_OUTPUT_FULL (integer)
As of 5.2.0
SNMP_OID_OUTPUT_NUMERIC (integer)
As of 5.2.0
SNMP_OID_OUTPUT_UCD (integer)
As of 5.4.0
SNMP_OID_OUTPUT_NONE (integer)
As of 5.4.0

почитайте  как можно влиять на вывод php snmp

Link to post
Share on other sites
  • 2 months later...

возникают ошибки

Notice: Undefined index: search in /www/pon/olt.php on line 5

 

посмотрел в исходниках: $search = $_GET["search"];

Луче сделать вот так:

if ( isset($_GET["search"] ) )  //проверить существует или нет
{
   $search = $_GET["search"];
}
else{
   $search = "";
}

Так будет возникать гораздо меньше ошибок.

Link to post
Share on other sites

Всем привет. 

Кто сможет подсказать в чем проблема:

 Ошибка "Could not enter data: Duplicate entry '2886861068' for key 'ip' ". Возникает в файле "addolt_sql.php". Копаюсь в исхдниках и выяснил что это в строчках



$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not enter data: ' . mysql_error());
}

upd. С этим я разобрался (хотя сам не понял как :)) Теперь я вижу свою ОЛТ и все ОНУ, но вот только поле "Бюджет" (как я понял уровень сигнала на тек момент), так вот он отличается от тех которые я вывожу напрямую через ОЛТ. 

Что это может быть?

 

uupd. И с этим разобрался :)

У меня остался только 1 вопрос: А никто не пытался выводить история состояния ОНУ-шек в график? Я думаю было бы очень наглядно и удобно.

Edited by jack_frost
Link to post
Share on other sites

Добрый день!

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

Заметил такую штуку, в сети есть ОНУ - БДКОМ 4 портовые, так вот, на ОЛТ они в онлайне, а ПОН КОНТРОЛ их вообще не видит (пустое место).
Подскажите в чем проблема.

Спасибо!

Link to post
Share on other sites

Здравствуйте!

Скачал вашу программу. Установил. На текущий момент вижу следующее - post-11741-0-69769600-1460819750_thumb.jpg

В php я плохо разбираюсь... Прошу вас подсказать как и в каком скрипте указать адрес OLT. Ведь её надо как-то опрашивать?
В файлике wars.php($telnet_user, $telnet_pass) указал логин и пароль для OLT. А вот параметр $enable_pass не совсем понял. Тут надо указать команду которая следует после команду enabl? В таком виде "enable "команда"" или просто "команда" ?

 

Link to post
Share on other sites

 

Здравствуйте!

Скачал вашу программу. Установил. На текущий момент вижу следующее - attachicon.gifweb-pon.JPG

В php я плохо разбираюсь... Прошу вас подсказать как и в каком скрипте указать адрес OLT. Ведь её надо как-то опрашивать?
В файлике wars.php($telnet_user, $telnet_pass) указал логин и пароль для OLT. А вот параметр $enable_pass не совсем понял. Тут надо указать команду которая следует после команду enabl? В таком виде "enable "команда"" или просто "команда" ?

 

 

 

enable_pass вы ставите только в том случае, если у вас для на вход в режим enable тоже пароль стоит.

Вы базу данных mysql создали? Права ей дали?

 

 

P.S. в личку покажите содержимое vars.php уже с внесёнными вами переменными

Link to post
Share on other sites

 

 

Здравствуйте!

Скачал вашу программу. Установил. На текущий момент вижу следующее - attachicon.gifweb-pon.JPG

В php я плохо разбираюсь... Прошу вас подсказать как и в каком скрипте указать адрес OLT. Ведь её надо как-то опрашивать?
В файлике wars.php($telnet_user, $telnet_pass) указал логин и пароль для OLT. А вот параметр $enable_pass не совсем понял. Тут надо указать команду которая следует после команду enabl? В таком виде "enable "команда"" или просто "команда" ?

 

 

 

enable_pass вы ставите только в том случае, если у вас для на вход в режим enable тоже пароль стоит.

Вы базу данных mysql создали? Права ей дали?

 

 

P.S. в личку покажите содержимое vars.php уже с внесёнными вами переменными

 

базу создавал как описано в файлие install.txt.

Выслал Вам в личку.

Edited by vlad5503
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...