Jump to content
Local
onihack

Мониторинг OLT по snmp

Recommended Posts

Добрый день!

Может кто уже разобрался?

на P3310B нужно 2 значения стянуть - количество активных онушек на порту и количество всего зарегистрированных.

Спасибо!

<?php

$ip="192.168.10.95";

$communit="public";

$Array_descr = snmprealwalk($ip, $communit, "ifDescr");

echo "BDCOM ". $ip;

 

 

if(count($Array_descr)>0)

{

    

foreach($Array_descr as $key => $type)

{

$key = str_replace("IF-MIB::ifDescr.", "", $key);

$type = trim(str_replace("STRING: ", "", $type));

 

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

 

if(preg_match("#:#", $type))

{

$active="";

 

$opt_level = snmpget("$ip", $communit, "enterprises.3320.101.108.1.3.$key");

$opt_level = trim(str_replace("INTEGER: ", "", $opt_level)/10);

 

$opt_level_up = snmpget("$ip", $communit, "enterprises.3320.101.10.5.1.5.$key");

$opt_level_up = trim(str_replace("INTEGER: ", "", $opt_level_up)/10);

 

$mac_onu = snmpget("$ip", $communit, "enterprises.3320.101.10.4.1.1.$key");

$mac_onu = str_replace(" ", ":", strtolower(trim(str_replace("Hex-STRING: ", "", $mac_onu))));

 

 

$active = snmpget("$ip", $communit, "1.3.6.1.4.1.3320.101.10.1.1.26.$key");

$active = str_replace(" ", ":", strtolower(trim(str_replace("INTEGER: ", "", $active))));

 

 

$Array_ports="";

$Array_ports_="";

$Array_ports__="";

$Array_ports = snmprealwalk("$ip", $communit, "enterprises.3320.101.12.1.1.8.$key");

 

 

 

 

//print_r($Array_ports);

 

foreach($Array_ports as $key_ => $state)

{

//$Array_olt="";

 

$port = str_replace("SNMPv2-SMI::enterprises.3320.101.12.1.1.8.$key.", "", $key_);

$Array_state=explode(":", $state);

$state = trim($Array_state[1]);

 

if($state == 1 ){ $state="up"; }

if($state == 2 ){ $state="down"; }

$Array_ports__[]= $port." : ".$state;

}

 

if(count($Array_ports__)>0){

    $Array_olt[$olt][$mac_onu]['ports'] = implode("<br>", $Array_ports__);

}

 

$Array_olt[$olt][$mac_onu]['type'] = $type;

$Array_olt[$olt][$mac_onu]['level_up'] = $opt_level_up;

$Array_olt[$olt][$mac_onu]['active'] = $active;

}

}

 

 

ksort($Array_olt);

 

 

print("<br><br><center><table border='2' cellpadding='3' cellspacing='2'");

 

print("<tr class=head>

 <td ><strong>EPON №</strong></td>

 <td ><strong>Имя ONU</strong></td>

 <td ><strong>Адрес</strong></td>

 <td ><strong>Mac ONU</strong></td>

 <td ><strong>Уровень пр., db</strong></td>

 <td ><strong>Порты</strong></td>

 </tr>");

 

foreach($Array_olt as $key => $type)

{

$olt = $key;

$ports="";

 

foreach($type as $key1 => $type1)

{

 

$mac_onu = $key1;

$level_up = $type1['level_up'];

$type = $type1['type'];

$active = $type1['active'];

$ports = $type1['ports'];

 

$n++;

 

if(($olt!=$old_olt)&&($n!=1))

{

print("<tr class=head><td>Всего: $m</td><td></td><td></td><td></td><td></td><td></td></tr>");

$m=0;

print("<tr height=40><td colspan=5></td></tr>");

}

 

$m++;

 

$Row_device = mysql_fetch_array(mysql_query("SELECT id, address, group_oper FROM devices WHERE mac='$mac_onu'"));

 

if(($active=="1")||($active==3)){ $class="cell"; }else{ $class="marked"; }

 

print("

<tr class=$class>

<td>$olt</td>

<td>$type</td>

<td nowrap>$Row_device[address]</td>

<td><a  title='' href='#' onclick=\"window.open('devices.php?uid=$_REQUEST[uid]&selhid_devices_col_id=$Row_device[id]', 'devices', 'scrollbars, width=1024, height=450'); \">$mac_onu</a></td>

<td>$level_up</td>

<td nowrap align='left'>

");

 

if(($active=="1")||($active==3)){ print("$ports"); }else{}

 

print

("

</td>

</tr>

");

 

$old_olt=$olt;

}

}

 

print("<tr class=head><td>Всего: $m</td><td></td><td></td><td></td><td></td><td></td></tr>");

print("</table>");

}

 

?>

 

Не мое. Но работает. Строит таблицу с онушками и уровнями сигналов.

Share this post


Link to post
Share on other sites

 

 

Не мое. Но работает. Строит таблицу с онушками и уровнями сигналов.

Работает. Спасибо. А на файл devices.php можно взглянуть?

Share this post


Link to post
Share on other sites

Извините. Самому интересно.

Со мной поделились только этим.

devices.php попробую сам сделать.

По ссылке должно брать из базы данные о клиенте(ФИО итп), а из "головы" description и уровень сигнала.

Share this post


Link to post
Share on other sites
По ссылке должно брать из базы данные о клиенте(ФИО итп), а из "головы" description и уровень сигнала.

Спасибо, все что хотел знать. Просто интересно было какую информацию выдает по ONU devices.php

Edited by Darth Vader2

Share this post


Link to post
Share on other sites

 

Да, нет. Потискал тестовую онушку: таки состояния укладываются в 

authenticated(0),
registered(1),
deregistered(2),
auto_config(3)

lost(4)

Share this post


Link to post
Share on other sites

И всё-таки, кто-то разобрался как вытащить мак таблицу с ОНУ? аналог комманды show epon interface epON 0/1:10 onu mac address-table

Share this post


Link to post
Share on other sites

Name Full Name OID Type Access Indexes MIB Module Description fdbReadByPortEntry

 

.iso.org.dod.internet.private.enterprises.nms.mac.fdbReadByPortTable.fdbReadByPortEntry .1.3.6.1.4.1.3320.152.1.1 FdbReadByPortEntry not-accessible ifFdbReadByPortIndex, ifFdbReadByPortVlanID, ifFdbReadByPortMacAddress NMS-MAC-MIB "An fdb Read By Port entry containing objects at the subnetwork layer and below for a particular interface."""

 

ifFdbReadByPortIndex .iso.org.dod.internet.private.enterprises.nms.mac.fdbReadByPortTable.fdbReadByPortEntry.ifFdbReadByPortIndex .1.3.6.1.4.1.3320.152.1.1.1 INTEGER read-only   NMS-MAC-MIB "Indexs of interface. The same value as ifIndex in ifTable of RFC1213."

 

ifFdbReadByPortVlanID .iso.org.dod.internet.private.enterprises.nms.mac.fdbReadByPortTable.fdbReadByPortEntry.ifFdbReadByPortVlanID .1.3.6.1.4.1.3320.152.1.1.2 INTEGER read-write   NMS-MAC-MIB "Indexs of interface. VlanID of mac address. The range is 1-4094."

 

ifFdbReadByPortMacAddress .iso.org.dod.internet.private.enterprises.nms.mac.fdbReadByPortTable.fdbReadByPortEntry.ifFdbReadByPortMacAddress .1.3.6.1.4.1.3320.152.1.1.3 MacAddress read-write   NMS-MAC-MIB "Indexs of interface. Mac address."

Edited by Пэтро

Share this post


Link to post
Share on other sites

Добрый день!

 

Кто-нибудь смог реализовать мониторинг и рисование ОНУ-шек в cacti или nagios?

 

Готовых темплейтов, к сожалению, не нашёл, да и распарсить вывод затем сопоставить сигнал с конкретной ОНУшкой на графике в cacti - та еще задача...

Share this post


Link to post
Share on other sites

тухлая затея как минимум в какти

ибо нужно сделать количество запросов равное количеству зареганых онушек (если мониторить все онушки)

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

бдкомовские олты (3310b) довольно слабые на проц и снмп их может нагружать конкретно, так что лучше этого вовсе не делать такими методами

Share this post


Link to post
Share on other sites

Нарисовал шаблончик под zabbix 2.0.x, на более новых версиях шаблон не испытовался.

Что умеет:

-автоматически обнаруживает и дабавляет в мониториг EPON интерфейсы

-рисует графики по уровням сигналов на ОНУ

-предупреждает если сигнал ниже -29 дб

-предупреждает если ОНУ была неактивна более 14 суток.

-график cpu load 1/60/300 sec

-в "последних данных" показывает uptime ОЛТа

-в "последних данных" показывает MAC адреса EPON интерфейсов

 

 

расшерение файла сменить с zip на xml

zbx_export_templates.zip

Edited by Ромка

Share this post


Link to post
Share on other sites

Был бы очень презнателен если бы кто подсказал ОИДы

- температура

- номер активного БП (версия олта с двумя БП p3310-2ac)

Share this post


Link to post
Share on other sites

Был бы очень презнателен если бы кто подсказал ОИДы

- температура

- номер активного БП (версия олта с двумя БП p3310-2ac)

температура на сфп-шках?

Share this post


Link to post
Share on other sites

 

Был бы очень презнателен если бы кто подсказал ОИДы

- температура

- номер активного БП (версия олта с двумя БП p3310-2ac)

 

температура на сфп-шках?
температура олта.

Share this post


Link to post
Share on other sites

 

 

Был бы очень презнателен если бы кто подсказал ОИДы

- температура

- номер активного БП (версия олта с двумя БП p3310-2ac)

температура на сфп-шках?
температура олта.

 

а она вообще где-либо фигурирует?

Share this post


Link to post
Share on other sites

 

 

 

Был бы очень презнателен если бы кто подсказал ОИДы

- температура

- номер активного БП (версия олта с двумя БП p3310-2ac)

 

температура на сфп-шках?
температура олта.

а она вообще где-либо фигурирует?
та хз, обычно на свичах есть.

Share this post


Link to post
Share on other sites

Нарисовал шаблончик под zabbix 2.0.x, на более новых версиях шаблон не испытовался.

Что умеет:

-автоматически обнаруживает и дабавляет в мониториг EPON интерфейсы

-рисует графики по уровням сигналов на ОНУ

-предупреждает если сигнал ниже -29 дб

-предупреждает если ОНУ была неактивна более 14 суток.

-график cpu load 1/60/300 sec

-в "последних данных" показывает uptime ОЛТа

-в "последних данных" показывает MAC адреса EPON интерфейсов

 

 

расшерение файла сменить с zip на xml

Можете перезалить архив?

Share this post


Link to post
Share on other sites

 

Нарисовал шаблончик под zabbix 2.0.x, на более новых версиях шаблон не испытовался.

Что умеет:

-автоматически обнаруживает и дабавляет в мониториг EPON интерфейсы

-рисует графики по уровням сигналов на ОНУ

-предупреждает если сигнал ниже -29 дб

-предупреждает если ОНУ была неактивна более 14 суток.

-график cpu load 1/60/300 sec

-в "последних данных" показывает uptime ОЛТа

-в "последних данных" показывает MAC адреса EPON интерфейсов

 

 

расшерение файла сменить с zip на xml

Можете перезалить архив?

 

А это вовсе и не архив)  Движок форума не позволяет загружать xml файлы.

Edited by Ромка

Share this post


Link to post
Share on other sites

Нарисовал шаблончик под zabbix 2.0.x, на более новых версиях шаблон не испытовался.

Что умеет:

-автоматически обнаруживает и дабавляет в мониториг EPON интерфейсы

-рисует графики по уровням сигналов на ОНУ

-предупреждает если сигнал ниже -29 дб

-предупреждает если ОНУ была неактивна более 14 суток.

-график cpu load 1/60/300 sec

-в "последних данных" показывает uptime ОЛТа

-в "последних данных" показывает MAC адреса EPON интерфейсов

 

 

расшерение файла сменить с zip на xml

Внимание тем кто скачал мой шаблон! Обнаружилась ошибка в regexp, zabbix игнорировал некоторые номера EPON интерфейсов.

В шаблоне, в правиле низкоуровневого обнаружения измените в фильтре регулярное выражение с ^EPON0/[1-4]:[1-64] на ^EPON0/[1-4]:[[:digit:]]

 

UPD: Прикрепил исправленный шаблон. Расширение файла сменить с zip на xml

zbx_export_templates.zip

Edited by Ромка

Share this post


Link to post
Share on other sites

Добрый день!

 

Никто не знает OID чтобы по номеру влана вытянуть его имя?

 

Ну кактотак...

# snmpwalk -с fakecommunity  -v2c 10.0.0.1 .1.3.6.1.2.1.17.7.1.4.3.1.1
Q-BRIDGE-MIB::dot1qVlanStaticName.1 = STRING: Default
Q-BRIDGE-MIB::dot1qVlanStaticName.400 = STRING: VLAN0400
Q-BRIDGE-MIB::dot1qVlanStaticName.471 = STRING: VLAN0471
Q-BRIDGE-MIB::dot1qVlanStaticName.472 = STRING: VLAN0472

Share this post


Link to post
Share on other sites

Дополню.

 

Для Cisco-подобных

.1.3.6.1.4.1.9.9.46.1.3.1.1.4

 

Для джуниперов еще изучаем

.1.3.6.1.4.1.2636.3.40.1.5.1.5.1.5

Share this post


Link to post
Share on other sites
Нарисовал шаблончик под zabbix 2.0.x, на более новых версиях шаблон не испытовался.
Что умеет:
-автоматически обнаруживает и дабавляет в мониториг EPON интерфейсы
-рисует графики по уровням сигналов на ОНУ
-предупреждает если сигнал ниже -29 дб
-предупреждает если ОНУ была неактивна более 14 суток.
-график cpu load 1/60/300 sec
-в "последних данных" показывает uptime ОЛТа
-в "последних данных" показывает MAC адреса EPON интерфейсов 

это под какой  OLT темплейт?

делал ли кто для cacti+zte ?

Edited by Mechanik

Share this post


Link to post
Share on other sites

это под какой  OLT темплейт?

делал ли кто для cacti+zte ?

Вопрос кому?

Share this post


Link to post
Share on other sites

 

 

делал ли кто для cacti+zte ?
 

дык зте мибы - великая тайна, а в паблике не видел, что б кто-то выкладывал их

Share this post


Link to post
Share on other sites

 

 

Які міби для ZTE треба?

Ну как минимум интересуют ОИД-ы с MAC-ами поднятых ОНУ-шек и их сигнал, если оно умеет их возвращать.

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 Darth Vader2
      Понимаю, что старая песня, но все же возник вопрос. Собственный, самописный, легкий мониторинг под личные нужды. Результат опроса по snmp не стабилен. Со старта.Со второго опроса уже удаётся получить адекватный ответ относительно состояния медного порта ОНУ.
       
      SNMPv2-SMI::enterprises.3320.101.12.1.1.8. $port .1
      где $port идентификатор ону и дальше номер медного порта.
       
      Не обращал на это внимание, но последнее время что-то слишком часто такое получается. Есть наработки костылей по теме? Буду благодарен любой подсказке.
       
      Как выглядит в первом круге.
       

       
       
      А так во втором и далее.
       

       
       
    • By romanugli
      Куплю нерабочий ОЛТ BDCOM 3310 нужно корпус и плату, мой олт залило дождем и сгорели пон порты. Также куплю нерабочие Онушки, желательно BDCOM или Picotel.
    • By IvanG
      Продам плату MCUD1 Huawei 5608 10G
      630 дол.
       
      в наличии 2 шт. - новые!
      Оплата нал, б.н. ФОП.
    • By webstarter110
      Добрый день, коллеги.
       
      Возникла острая необходимость мониторить кол-во клиентов на точках доступа Ubiquiti Unifi. Зоопарк большой - AP/AP-LR/AP-AC-PRO и прочие...порядка 500+ шт. Проверять загруженность точек на контроллерах (коих порядка 60шт.) - естественно не комильфо.
      Рассматриваю вариант опроса точек по SNMP через заббикс (50+ клиентов/точка - алерт), но найти нужные IOD пока не удается. Имеющиеся в сети данные позволили снять только загрузку ЦП, памяти, и еще пары не нужных показателей. Метод научного тыка через snmpwalk пока не дал нужных результатов. 
      Решал ли кто-либо такой вопрос?
       
      Заранее спасибо. 
    • By gpon_huawei
      Продам б/у ону Huawei 8310M
      без б/п - 160 грн./шт.
      с б/п - 200 грн./шт.
      корпус в отличном состоянии
×