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

×