Content Type
Profiles
Forums
Events
Everything posted by dan_aspire
-
Pon Control - комплекс управления и мониторинга сетью
dan_aspire replied to dan_aspire's topic in PON
Итак, немного переделал схему опроса: Замените файлик 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. спасибо тем кто отозвался и в особенности тем кто поделился своими наработками) -
Pon Control - комплекс управления и мониторинга сетью
dan_aspire replied to dan_aspire's topic in PON
В процессе новая версия с более оптимизироваными запросами, должно будет на всех системах работать -
Pon Control - комплекс управления и мониторинга сетью
dan_aspire replied to dan_aspire's topic in PON
Спасибо за большущую работу! В обозримом будущем планирую перевести работу с ексеков на пхп_снмп, что было бы логично, а не извращенно как сейчас. -
Pon Control - комплекс управления и мониторинга сетью
dan_aspire replied to dan_aspire's topic in PON
Можно и эту ставить. Обновление проблем не составит. Есть вопрос ко всем: кто успешно самостоятельно запустил отпишитесь плз на какие оси ставили. Интересно для статистики. -
Pon Control - комплекс управления и мониторинга сетью
dan_aspire replied to dan_aspire's topic in PON
UserSide, оо, изначально думал юзать АПИ, но у вас в Вики не было нужных запросов, поэтому такую инфу и реализовал через мускуль. Написал на почту. -
Alistar бочонок: Switch#show mac a int epon0/2:5 Mac Address Table (Total 128)
-
С такой суммой ИМХО блеф От них может и блеф или шаблон рассылки при наличии долга, но, допустим, от электроэнергии меня отключили за долг в 7 грн (ежемесячно фиксированная сумма снималась с карты и перечислялась, а не по задолженности)
-
смотря какая задолженность, 99% коллекторских фирм что занимаются должниками работают если долг выше 5 000 грн ,и ему не более 3 месяцев. но как показывает прайтика тех же банков взял 10 000 уе кредита через 4 года, банк уже списал % , и 5 000уе кредита, и просит уже вернуть хотя бы 5 000 уе, но указать что это как ваши доходы одного из моих клиентов банк таким образом за 5 лет списал ему 90% кредитов коллекторы так само, наяривают и.т.п ) но через 6-12 месяцев просят хотя бы 20-25% им вернуть денег и долг забывают. На даний момент, сума заборгованості скаладає -86.96 грн. Так в чем проблема погасить?
-
Pon Control - комплекс управления и мониторинга сетью
dan_aspire replied to dan_aspire's topic in PON
Можно. Это дополнительная функция -
Pon Control - комплекс управления и мониторинга сетью
dan_aspire replied to dan_aspire's topic in PON
Умолчания не менял. Попаду за комп и гляну че там за значение UPD: max_execution_time = 30 Для 3 ОЛТов хватало, хотя выполнялось значительно дольше 30 сек. -
Pon Control - комплекс управления и мониторинга сетью
dan_aspire replied to dan_aspire's topic in PON
Зеленый - индикатор доступности (наличие пинга). Чтоб увидеть онушки олт должен быть опрошен либо нажатием ссылки опросить в карточке олта, либо запуском скрипта по крону. -
Pon Control - комплекс управления и мониторинга сетью
dan_aspire replied to dan_aspire's topic in PON
Опрашивали олт? -
Pon Control - комплекс управления и мониторинга сетью
dan_aspire replied to dan_aspire's topic in PON
Спасибо. Проверю по возможности -
Предыстория: всё началось с простого желания видеть сигналы на ОНУшках через веб-интерфейс (с телефона работая на линии такая инфа необходима), потом задавались вопросом "А какие сигналы были до того, как мы поменяли делители?", потом возник вопрос простого управления ВЛАНами, и вот все хотелки были потихоньку реализованы, допилены новые и в итоге получилась целая система управления. Были мысли её не распространять свободно, но всё-таки решено, и базовую систему я выкладываю в общий доступ: Возможности: - Учёт 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
-
Так айпишники, которые вас напрягают - дст адреса, то есть ПОЛУЧАТЕЛЯ. Соответственно ваш клиент сам че то хочет от этих ипов.
-
Ночная техподдержка для провайдеров.
dan_aspire replied to dmitriy_r's topic in Jobs. Work. Training
pavlabor, тут общее количество звонков. каждая ступенька +1 звонок. планка - значит за этот промежуток звонков не было (количество за день оставалось статичным) -
+1.Порядок в ящике больше денег не приносит) Приносит. Когда в очередной раз вы или кто-то из ваших монтёров будет что-то в нём делать и заденет какой-то из абонских линков - вам абон сожрёт мозг, уйдёт к другому прову и друзьям расскажет какие вы хреновые. А чьё-то ворчание (согласен, порой безосновательное) может сделать довольно значительную антирекламу. Подумайте об этом, прежде чем закрывать ящик с бардаком внутри.Если порядок в ящике то завалить абона нереально?Если у Вас сетка падает по 3 раза на день то конечно абон будет мозг выедать и свалит в конце-концов к другому прову. А теперь любители бросаться какашками, покажите пожалуйста свои порядки в ящиках, а то попи...ть тут все гаразды... Ну не верю я что везде у всех всюду идеал, это нереально, есть моменты когда что то делается в спешке по ряду причин и от этого никуда не денешся... Заметить выпавший коннектор намного легче когда в ящике порядок и все на виду, чем сквозь змеиное кубло. П.С. цели покидаться какашками не преследую, просто не согласен с выражением вашим насчет порядка и денег. Насчет фоток - поищу позже на компе, ибо уже давно работаю с поном и многоэтажек касаюсь только в случае сварки.
-
+1.Порядок в ящике больше денег не приносит) Приносит. Когда в очередной раз вы или кто-то из ваших монтёров будет что-то в нём делать и заденет какой-то из абонских линков - вам абон сожрёт мозг, уйдёт к другому прову и друзьям расскажет какие вы хреновые. А чьё-то ворчание (согласен, порой безосновательное) может сделать довольно значительную антирекламу. Подумайте об этом, прежде чем закрывать ящик с бардаком внутри.
-
Ночная техподдержка для провайдеров.
dan_aspire replied to dmitriy_r's topic in Jobs. Work. Training
оффтоп- чем мониторите астериск ?Самописная оболочка. Управление через web-интерфейс, данные обо всех звонках в мускуле. А уже скриптами из мускуля кактус вытягивает количество звонков с сегодняшней датой. -
Ночная техподдержка для провайдеров.
dan_aspire replied to dmitriy_r's topic in Jobs. Work. Training
Ну ночь на ночь не приходится. Бывает как с цепи срываются. Тому роутер бутнуть, тому включить инет бо не успевает оплатить, у кого ноут к вифи не подключается и понеслась... Деньги закончились - не успевает оплатить: во-первых, на аутсорс включение при неоплате я бы не доверил, во-вторых, доверительный платёж рулит. Ноут к вайфаю не подключается и подвис роутер - кхм, как бы проблемы раз-два ночью в месяц максимум у нас могут всплыть и 3х кило гривен явно не стоит. ИМХО, максимум чем реально было бы полезна ТП ночью - исключительно статус круглосуточной поддержки как плюс над конкурентами. Всё ИМХО и у кого-то, думаю, другое видение, никого отговорить не пытаюсь) -
Ночная техподдержка для провайдеров.
dan_aspire replied to dmitriy_r's topic in Jobs. Work. Training
Не знаю, по какому принципу руководствуются более крупные провы, но у нас как правило до 9 утра звонков практически нет, а ночью как правило звонят пользователи из оперы "ни единого разрыва". Пров до 5к абонов. -
Даже если вы будете работать в диапазоне 2.4 - легально сделать это не получится, т.к. у нас еще не введен в действие принцип тех. нейтральности.
-
Почему именно зте? Ставим такие и с головой бдкома
-
Сами сооружали) разрослось со странички со списком онушек с уровнем сигналов, получаемых экспектом. Сейчас все по снмп, кроме фдб таблицы. Подробнее - стучитесь в личку.
-
У нас так: автоопрос олтов по cron'у, получение маков, уровней сигнала, имён интерфейсов, сохранение всего этого в sql. Можно указать описание ONU или вместо него объект из БД USERSIDE. в карточке ONU управление вланами на портах, указание ону на карте, история сигналов по онушке, получение расстояния, фдб таблица по этой ону и возможность ребута онушки.
