Перейти до

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


onihack

Рекомендованные сообщения

  • 3 months later...
  • Відповіді 273
  • Створено
  • Остання відповідь

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

BDCOM темплейт для cacti. В 36xx мониторит сигнал только со стороны OLT. gepon-signal-template.tar.gz

snmpwalk -v2c -Cc -c wcvbhytredcvbvgu 172.16.244.22 .1.3.6.1.4.1.3320.101.11.1.1.7 mac onu (в bin ) и  уровень в  /100 snmpwalk -v2c -Cc -c wcvbhytredcvbvgu 172.16.244.22 .1.3.6.1.4.1.3320.101.10.1.

Нашел, возможно кому то пригодится P3616-2TE anton@work-pc:~$ snmpget -v1 -c olt_snmp_community  olt_ip 1.3.6.1.4.1.3320.9.181.1.1.7.1 iso.3.6.1.4.1.3320.9.181.1.1.7.1 = INTEGER: 44 IF-BDCOM4#sh

Posted Images

Состояние медного порта ону, bdcom

 

snmpwalk   .1.3.6.1.4.1.3320.101.12.1.1.8

первый круг значение "2" - оффлайн

второй и последующие опросы snmpwalk значение "1" - онлайн

 

Ну не гонять же два круга, перед фактическим выводом.

Не могу побороть эту пургу. Есть наработки? Спасибо!

 

p.s. добавлю, указывать конкретный идентификатор при snmpget не помогает - такая же история с первым опросом, в 99% случаев всегда неправильное значение "2", следующий опрос уже корректный ответ.

Відредаговано Darth Vader2
  • Like 1
Ссылка на сообщение
Поделиться на других сайтах
  • 1 month later...

LLID & ONU binding last deregister reason SNMP

 

<?php
$session = new SNMP(SNMP::VERSION_2C, $ip, $ro);
    $ONUDereg = $session->walk("1.3.6.1.4.1.3320.101.11.1.1", TRUE);
$session->close();

    foreach($ONUDereg as $key => $value){
    $new_key = explode('.', $key, 2);
    $new_key = $new_key[1];
    $id=explode('.',$key);
    $id= $id[0];
    if($id=='3'){
    $value=explode(':', $value);
    $value=end($value);
    $value=trim($value);
    $value = str_replace (" ", ":", $value);
    }
    if($id=='11'){
    $value=explode(':', $value);
    $value=end($value);
    $value=trim($value);}
    $array[$new_key][$id]=$value;
}
    foreach($array as $key){
            $onu_mac=$key[3];
            $dereg_id=$key[11];
            $Last_dereg_reason[$onu_mac]=dereg_id;
    }
    
    var_export($dereg_reason);
?>

 

dereg_id:

normal(2)

mpcp-down(3)

oam-down(4)

firmware-download(5)

illegal-mac(6)

llid-admin-down(7)

wire-down(8)

power-off(9)

unknow(255)

 

 

Может кому пригодится...

  • Thanks 1
Ссылка на сообщение
Поделиться на других сайтах

так покрасивее )))

 

            // выборочно но забрать инфу об онухах
            function sel_get_nmsEponLlidOnuBindEntry($parent_ifIndex="", $mac_addr="", $function_list=array() ) {
                $strings = \common\strings::getInstance();
                $snmp_mac = "";

                if($mac_addr)  $snmp_mac = $strings->format_mac(bin2hex($mac_addr),"snmp");

                if( is_array($function_list) && count($function_list) ) {

                } else {
                    $function_list=array("1","2","3","4","5","6","7","8","9","10","11");
                }
                if( false === ( $result=self::SnmpSelectiveQueryAll(".1.3.6.1.4.1.3320.101.11.1.1", $function_list, $parent_ifIndex, $snmp_mac ) ) ) return false;
                return( self::parse_nmsEponLlidOnuBindEntry( $result, $parent_ifIndex, $mac_addr ) );
            }

            function get_nmsEponLlidOnuBindEntry() {
                if( false === ( $result = self::snmpQueryAll(".1.3.6.1.4.1.3320.101.11.1.1","") ) ) { return false; }
                return( self::parse_nmsEponLlidOnuBindEntry( $result ) );
            }


	protected static function parse_nmsEponLlidOnuBindEntry( $result, $__parent_ifIndex="", $__mac_addr="" ) {
                $strings = \common\strings::getInstance();
                $nest_array=array();
                foreach($result as $res_oid => $value) {
                    $key = self::subtok($res_oid,".", -8);
                    $index = explode('.', $key);
                    $func               = $index[0];
                    $parent_ifIndex     = $index[1];
                    $mac_addr           = sprintf("%02x:%02x:%02x:%02x:%02x:%02x", $index[2],$index[3],$index[4],$index[5],$index[6],$index[7]);
                    switch($func) {
                        case "1": $func="llidEponIfDiid"; break;
                        case "2": $func="llidSequenceNo"; break;
                        case "3": $func="onuMacAddressIndex"; $value = $strings->format_mac(bin2hex($value),"linux"); break;
                        case "4": $func="llidOnuBindDesc"; break;
                        case "5": $func="llidOnuBindType"; break;  // static(0), dynamic(1)
                        case "6": $func="llidOnuBindStatus"; break; // authenticated(0), registered(1), deregistered(2), discovered(3), lost(4), auto-configured(5), unknow
                        case "7": $func="llidOnuBindDistance"; break;
                        case "8": $func="llidOnuBindRTT"; break;
                        case "9": $func="LastRegTime"; $value = self::get_LastXregReason($value);  break;
                        case "10": $func="LastDeregTime"; $value = self::get_LastXregReason($value);  break;
                        case "11": $func="LastDeregReason";  break;  // 8 power-off 9 wire-down
                        default:  break;
                    }
                    $nest_array[$parent_ifIndex][$mac_addr][$func]=$value;
                }
                if($__parent_ifIndex!="") {
                    if($__mac_addr!="") {
                        if(isset($nest_array[$__parent_ifIndex][$__mac_addr]) )
                            return $nest_array[$__parent_ifIndex][$__mac_addr];
                        return false;
                    }
                    return $nest_array[$__parent_ifIndex];
                }
                return($nest_array);
            }

        static function get_LastXregReason($value) {
            $data = unpack( 'nYear/CMonth/CDay/CHour/CMin/CSec/Cp1/Cp2/Cp3/Cp4', $value );
            $result = sprintf("%04d-%02d-%02d %02d:%02d:%02d",$data["Year"],$data["Month"],$data["Day"],$data["Hour"],$data["Min"],$data["Sec"]);
            return($result);
        }

 

Відредаговано pashaumka
Ссылка на сообщение
Поделиться на других сайтах
  • 2 weeks later...

Товарищи, кому не лень, покажите пожалуйста вывод:

.1.3.6.1.4.1.3320.101.10.1.1.3

.1.3.6.1.2.1.2.2.1.2

1.3.6.1.4.1.3320.101.10.1.1.26

Ссылка на сообщение
Поделиться на других сайтах
В 19.12.2019 в 10:46, trsnah сказал:

Товарищи, кому не лень, покажите пожалуйста вывод:

.1.3.6.1.4.1.3320.101.10.1.1.3

.1.3.6.1.2.1.2.2.1.2

1.3.6.1.4.1.3320.101.10.1.1.26

1.3.6.1.4.1.3320.101.10.1.1.3
SNMPv2-SMI::enterprises.3320.101.10.1.1.3.13 = Hex-STRING: E0 67 B3 B1 5E A7
SNMPv2-SMI::enterprises.3320.101.10.1.1.3.14 = Hex-STRING: E0 67 B3 BB CE 03
SNMPv2-SMI::enterprises.3320.101.10.1.1.3.15 = Hex-STRING: E0 67 B3 B1 52 7C
SNMPv2-SMI::enterprises.3320.101.10.1.1.3.16 = Hex-STRING: E0 67 B3 93 39 74
SNMPv2-SMI::enterprises.3320.101.10.1.1.3.17 = Hex-STRING: E0 67 B3 B1 52 75
SNMPv2-SMI::enterprises.3320.101.10.1.1.3.18 = Hex-STRING: E0 67 B3 32 57 E8
SNMPv2-SMI::enterprises.3320.101.10.1.1.3.19 = Hex-STRING: E0 67 B3 B1 52 13

1.3.6.1.2.1.2.2.1.2
IF-MIB::ifDescr.1 = STRING: GigaEthernet0/5
IF-MIB::ifDescr.2 = STRING: GigaEthernet0/6
IF-MIB::ifDescr.3 = STRING: GigaEthernet0/4
IF-MIB::ifDescr.4 = STRING: GigaEthernet0/3
IF-MIB::ifDescr.5 = STRING: GigaEthernet0/1
IF-MIB::ifDescr.6 = STRING: GigaEthernet0/2
IF-MIB::ifDescr.7 = STRING: EPON0/1
IF-MIB::ifDescr.8 = STRING: EPON0/2
IF-MIB::ifDescr.9 = STRING: EPON0/3
IF-MIB::ifDescr.10 = STRING: EPON0/4
IF-MIB::ifDescr.11 = STRING: VLAN1
IF-MIB::ifDescr.12 = STRING: VLAN1000
IF-MIB::ifDescr.13 = STRING: EPON0/1:1
IF-MIB::ifDescr.14 = STRING: EPON0/1:2
IF-MIB::ifDescr.15 = STRING: EPON0/1:3
IF-MIB::ifDescr.16 = STRING: EPON0/3:1
IF-MIB::ifDescr.17 = STRING: EPON0/1:4
IF-MIB::ifDescr.18 = STRING: EPON0/1:5
IF-MIB::ifDescr.19 = STRING: EPON0/3:2

1.3.6.1.4.1.3320.101.10.1.1.26
SNMPv2-SMI::enterprises.3320.101.10.1.1.26.13 = INTEGER: 3
SNMPv2-SMI::enterprises.3320.101.10.1.1.26.14 = INTEGER: 3
SNMPv2-SMI::enterprises.3320.101.10.1.1.26.15 = INTEGER: 3
SNMPv2-SMI::enterprises.3320.101.10.1.1.26.16 = INTEGER: 3
SNMPv2-SMI::enterprises.3320.101.10.1.1.26.17 = INTEGER: 2
SNMPv2-SMI::enterprises.3320.101.10.1.1.26.18 = INTEGER: 3
SNMPv2-SMI::enterprises.3320.101.10.1.1.26.19 = INTEGER: 3

 

  • Thanks 1
Ссылка на сообщение
Поделиться на других сайтах

Спасибо!

snmpwalk -c public -v 2c 172.16.20.100 .1.3.6.1.2.1.17.7.1.2.2
SNMPv2-SMI::mib-2.17.7.1.2.2.1.1.2254.228.190.237.238.89.171 = STRING: "д?ноY<"
SNMPv2-SMI::mib-2.17.7.1.2.2.1.1.2251.80.100.43.31.202.48 = Hex-STRING: 50 64 2B 1F CA 30 Верный МАК адрес с Ethernet порта
Error: OID not increasing: SNMPv2-SMI::mib-2.17.7.1.2.2.1.1.2254.228.190.237.238.89.171
 >= SNMPv2-SMI::mib-2.17.7.1.2.2.1.1.2251.80.100.43.31.202.48
 

50 64 2B 1F CA 30 Верный МАК адрес с Ethernet порта, но при этом запросе всегда ОЛТ присылает одно и тоже.

Задача, снять только МАКи со всех Ethernet  портов ОНУшек.

Я вообще не пойму, что делать!

Ссылка на сообщение
Поделиться на других сайтах
  • 1 month later...
  • 2 weeks later...

Народ підкажіть

є такий девайс свіженький

BDCOM P3608B Software, Version 10.1.0F Build 58197

ось такий oid

1.3.6.1.4.1.3320.152.1.1.3.<llid>

на 3310C(D) та P3608-2TE показує MAC за ONU

а у цій голові знову щось змінилося, може у кого є свженькі MIB, або ж oid для отримання mac таблиці onu

Дякую

Ссылка на сообщение
Поделиться на других сайтах
В 02.01.2020 в 13:04, trsnah сказал:

Спасибо!

snmpwalk -c public -v 2c 172.16.20.100 .1.3.6.1.2.1.17.7.1.2.2
SNMPv2-SMI::mib-2.17.7.1.2.2.1.1.2254.228.190.237.238.89.171 = STRING: "д?ноY<"
SNMPv2-SMI::mib-2.17.7.1.2.2.1.1.2251.80.100.43.31.202.48 = Hex-STRING: 50 64 2B 1F CA 30 Верный МАК адрес с Ethernet порта
Error: OID not increasing: SNMPv2-SMI::mib-2.17.7.1.2.2.1.1.2254.228.190.237.238.89.171
 >= SNMPv2-SMI::mib-2.17.7.1.2.2.1.1.2251.80.100.43.31.202.48
 

50 64 2B 1F CA 30 Верный МАК адрес с Ethernet порта, но при этом запросе всегда ОЛТ присылает одно и тоже.

Задача, снять только МАКи со всех Ethernet  портов ОНУшек.

Я вообще не пойму, что делать!

 

 я так понимаю, что вас смущает

SNMPv2-SMI::mib-2.17.7.1.2.2.1.1.2254.228.190.237.238.89.171 = STRING: "д?ноY<"

Часть выводится в формате Hex-STRING: - все ок , а часть в STRING

если так то нужно

тут обсуждалось

  • Thanks 1
Ссылка на сообщение
Поделиться на других сайтах
  • 1 month later...
  • 2 weeks later...

Вдруг кому надо:

получение FDB с ону на P3608B:

snmpwalk .1.3.6.1.4.1.3320.152.1.1.3.<ifaceID> не работает.

Саппорт Депс помог таким способом:

 

1) set ifindex of the port you want check
Name: llidMacSearchIfIndex
OID: 1.3.6.1.4.1.3320.101.9.2.1

snmpset -v 2c -c writecommuniti 192.168.40.81 1.3.6.1.4.1.3320.101.9.2.1.0 i <ifaceID>

 

2) read result
Name: llidMacSearchResultTable
OID: 1.3.6.1.4.1.3320.101.9.2.3

snmpwalk -v 2c -c readcommuniti 192.168.40.81 .1.3.6.1.4.1.3320.101.9.2.3

SNMPv2-SMI::enterprises.3320.101.9.2.3.1.1.1 = INTEGER: 1
SNMPv2-SMI::enterprises.3320.101.9.2.3.1.1.2 = INTEGER: 2
SNMPv2-SMI::enterprises.3320.101.9.2.3.1.1.3 = INTEGER: 3
SNMPv2-SMI::enterprises.3320.101.9.2.3.1.1.4 = INTEGER: 4
SNMPv2-SMI::enterprises.3320.101.9.2.3.1.1.5 = INTEGER: 5
SNMPv2-SMI::enterprises.3320.101.9.2.3.1.1.6 = INTEGER: 6
SNMPv2-SMI::enterprises.3320.101.9.2.3.1.2.1 = INTEGER: 197
SNMPv2-SMI::enterprises.3320.101.9.2.3.1.2.2 = INTEGER: 197
SNMPv2-SMI::enterprises.3320.101.9.2.3.1.2.3 = INTEGER: 197
SNMPv2-SMI::enterprises.3320.101.9.2.3.1.2.4 = INTEGER: 197
SNMPv2-SMI::enterprises.3320.101.9.2.3.1.2.5 = INTEGER: 197
SNMPv2-SMI::enterprises.3320.101.9.2.3.1.2.6 = INTEGER: 197
SNMPv2-SMI::enterprises.3320.101.9.2.3.1.3.1 = Hex-STRING: AA BB CC DD EE F1
SNMPv2-SMI::enterprises.3320.101.9.2.3.1.3.2 = Hex-STRING: AA BB CC DD EE F2
SNMPv2-SMI::enterprises.3320.101.9.2.3.1.3.3 = Hex-STRING: AA BB CC DD EE F3
SNMPv2-SMI::enterprises.3320.101.9.2.3.1.3.4 = Hex-STRING: AA BB CC DD EE F4
SNMPv2-SMI::enterprises.3320.101.9.2.3.1.3.5 = Hex-STRING: AA BB CC DD EE F5
SNMPv2-SMI::enterprises.3320.101.9.2.3.1.3.6 = Hex-STRING: AA BB CC DD EE F6

 

197 - это номер влана

 

 

Ссылка на сообщение
Поделиться на других сайтах
  • 7 months later...

Здравствуйте, подскажите OID для получения onu-status-count

MC-BDCOM5#sh gpon onu-status-count 
ONU STATUS COUNT
-------------------------
Offline:            0
Inactive:           0
Disable:            0
Active:             7
MibReady:           7
ConfigSucess:       7
Unknow:             0


GP3600-16B Software, Version 10.3.0D Build 75260

Ссылка на сообщение
Поделиться на других сайтах
  • 1 month later...
В 29.04.2020 в 15:29, VitalyMoiseev сказал:

Вдруг кому надо:

получение FDB с ону на P3608B:

snmpwalk .1.3.6.1.4.1.3320.152.1.1.3.<ifaceID> не работает.

Саппорт Депс помог таким способом:

 

я нашел более универсальное решение.

берем маки из стандартного OID

$dot1dTpFdbPort = ".1.3.6.1.2.1.17.4.3.1.2";

 

    [.1.3.6.1.2.1.17.4.3.1.2.228.141.140.96.46.142] => INTEGER: 33
    [.1.3.6.1.2.1.17.4.3.1.2.96.227.39.213.188.29] => INTEGER: 38

где в OID спрятан MAC а результат LLID

 

 

$a_dot1dTpFdbPort = $session->walk($dot1dTpFdbPort);
			foreach ($a_dot1dTpFdbPort as $fdb_mac=>$fdb_mac_port) {	
				$a_fdb_mac = explode ('.',str_replace($dot1dTpFdbPort.".", "", $fdb_mac));
				$fdb_mac_port= str_replace("INTEGER: ", "", $fdb_mac_port);
				$mac='';
			//Превратить snmp представление mac в обычное
				foreach ($a_fdb_mac as $mackey){
						$mac.=str_pad(dechex($mackey),2,0, STR_PAD_LEFT);
				}
				$a_ifFdbReadByPortMacAddress[$fdb_mac_port][]=$mac;
			}

 

 

 

 

 

 

 

Ссылка на сообщение
Поделиться на других сайтах
  • 10 months later...
В 10.12.2019 в 19:08, Wassabi сказал:

LLID & ONU binding last deregister reason SNMP

 

<?php
$session = new SNMP(SNMP::VERSION_2C, $ip, $ro);
    $ONUDereg = $session->walk("1.3.6.1.4.1.3320.101.11.1.1", TRUE);
$session->close();

    foreach($ONUDereg as $key => $value){
    $new_key = explode('.', $key, 2);
    $new_key = $new_key[1];
    $id=explode('.',$key);
    $id= $id[0];
    if($id=='3'){
    $value=explode(':', $value);
    $value=end($value);
    $value=trim($value);
    $value = str_replace (" ", ":", $value);
    }
    if($id=='11'){
    $value=explode(':', $value);
    $value=end($value);
    $value=trim($value);}
    $array[$new_key][$id]=$value;
}
    foreach($array as $key){
            $onu_mac=$key[3];
            $dereg_id=$key[11];
            $Last_dereg_reason[$onu_mac]=dereg_id;
    }
    
    var_export($dereg_reason);
?>

 

dereg_id:

normal(2)

mpcp-down(3)

oam-down(4)

firmware-download(5)

illegal-mac(6)

llid-admin-down(7)

wire-down(8)

power-off(9)

unknow(255)

Пригодилось спасибо! На P3608B 10.1.0F Build 75351 отрабатывает нормально. Теперь видно - задели ли криворукие монтажники чтото в боксе или нет)

Нашол немного ошибок (опечаток), подправил немного. И считаю нет смысл выводить кучу информации ненужной. Для себя оставил только вывод "wire-down". Тут кстати вопрос. У меня с этим статусом было две ONU. Одна статус свой в "LastDeregReason" изменила на нормальный - но в результат работы вашего скрипта все равно почему-то попадает((( . Может кто подскажет почему?

 

Вот такой вывод я у себя получаю:

array ( 'ХХ:ХХ:ХХ:DD:D6:D8' => '8', 'ХХ:ХХ:ХХ:DD:E3:88' => '8', )

Меня устраивает вполне.


<?php
#$session = new SNMP(SNMP::VERSION_2C, $ip, $ro);
$session = new SNMP(SNMP::VERSION_2C, 'Х.Х.Х.Х', 'public');

    $ONUDereg = $session->walk("1.3.6.1.4.1.3320.101.11.1.1", TRUE);
$session->close();

    foreach($ONUDereg as $key => $value){
<------>$new_key = explode('.', $key, 2);
<------>$new_key = $new_key[1];
<------>$id=explode('.',$key);
<------>$id= $id[0];

<------>if($id=='3'){
<------>    $value=explode(':', $value);
<------>    $value=end($value);
<------>    $value=trim($value);
<------>    $value = str_replace (" ", ":", $value);
<------>}

<------>if($id=='11'){
<------>    $value=explode(':', $value);
<------>    $value=end($value);
<------>    $value=trim($value);
<------>}
<------>$array[$new_key][$id]=$value;
    }
    foreach($array as $key){
        $onu_mac=$key[3];
        $dereg_id=$key[11];
        if ($dereg_id=='8'){
    <-->    $Last_dereg_reason[$onu_mac]=$dereg_id;
    <-->}
    }
    var_export($Last_dereg_reason);
?>

 

 

Ссылка на сообщение
Поделиться на других сайтах
  • 6 months later...
В 10.11.2017 в 11:01, CoUL сказал:

Доробив все, що хотів по моніторингу BDCOM P3608-2TE в The Dude

 

 

post-37800-0-61235500-1510304386_thumb.png

post-37800-0-16839300-1510304398_thumb.png

post-37800-0-33935900-1510304410_thumb.png

 

 

Привіт а є десь напрацювання, мануал як це реалізувати іншим бажачим?

Ссылка на сообщение
Поделиться на других сайтах
  • 4 months later...
  • 1 year later...
  • 3 weeks later...
  • 2 weeks later...

snmp ZTE C220 (meyby c300/320) EPON:

 

Цитата

UPLOAD:
iso.3.6.1.4.1.3902.1015.1010.1.7.7.1.2 <-Assured speed ONU minimal
iso.3.6.1.4.1.3902.1015.1010.1.7.7.1.3 <-max speed up
iso.3.6.1.4.1.3902.1015.1010.1.7.7.1.4 <-max burst
Download:
iso.3.6.1.4.1.3902.1015.1010.1.7.8.1.2 -< download assured

iso.3.6.1.4.1.3902.1015.1010.1.7.16.1.1 <- description port epon-olt_
iso.3.6.1.4.1.3902.1015.1010.1.7.16.1.7 <- podpiete onu

Max rtt
iso.3.6.1.4.1.3902.1015.1010.1.7.23.1.1

List sla-profile:
iso.3.6.1.4.1.3902.1015.1010.1.7.30

unath mac:
1.3.6.1.4.1.3902.1015.1010.1.7.14.1.2.1.1

show remote onu uni-statistic epon-onu_
1.3.6.1.4.1.3902.1015.1010.1.1.7.1.1


firmware ver onu
1.3.6.1.4.1.3902.1015.1010.1.7.8.1.2

IP set onu:
1.3.6.1.4.1.3902.1015.1010.5.9.1.1

Distance:
1.3.6.1.4.1.3902.1015.1010.1.1.1.30.1.1
1.3.6.1.4.1.3902.1015.1010.1.2.1.1.10

bytes send
1.3.6.1.4.1.3902.1015.1010.5.5.1.2.$idonu
1.3.6.1.4.1.3902.1015.1010.5.5.1.17.$idonu

speed lan onu:
1.3.6.1.4.1.3902.1015.1010.1.1.3.2.1.6.$idonu.1

on/off status:
1.3.6.1.4.1.3902.1015.1010.1.7.4.1.17.$idonu

utylization sla:
1.3.6.1.4.1.3902.1015.1010.5.5.1.14.$idonu

mac onu:
1.3.6.1.4.1.3902.1015.1010.1.1.1.1.1.4.$idonu

model onu:
1.3.6.1.4.1.3902.1015.1010.1.1.1.1.1.3.$idonu

vendor onu:
1.3.6.1.4.1.3902.1015.1010.1.1.1.1.1.2.$idonu

Actually I want :

 

show mac epon onu epon-onu_0/1/1:2 snmp ?

 

 

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

  • Схожий контент

    • Від legenda vols
      Всем привет, заезженная тема но приходиться искать по всем уголкам интернета - А именно OID и как их использовать.
      Начнём. 
      для новичков.
      bash 
      set_olt_oids() {
          # Общие для EPON (BDCOM)
          if [[ "$1" =~ ^(P3310|P3310B|P3310C|P3608|P3608B|P3316|P3600-16E|P3608-2TE|P3616-2TE|IEP3310)$ ]]; then
              OID_GET_MAC="1.3.6.1.4.1.3320.101.10.4.1.1"
              OID_VENDOR_ONU="1.3.6.1.4.1.3320.101.10.1.1.1"
              OID_MODEL_ONU="1.3.6.1.4.1.3320.101.10.1.1.2"
              OID_TEMP_ONU="1.3.6.1.4.1.3320.101.10.5.1.2"
              OID_AUNT_ONU_STATUS="SNMPv2-SMI::enterprises.3320.101.10.1.1.26"
              OID_UPTIME_ONU="1.3.6.1.4.1.3320.101.10.1.1.80"
              OID_DIST="1.3.6.1.4.1.3320.101.10.1.1.27"
              OID_IF_MAC10="1.3.6.1.4.1.3320.101.11.1.1.3"
              OID_IFindexmac10="1.3.6.1.4.1.3320.101.11.1.1.1"
              LASTREG_DATE="1.3.6.1.4.1.3320.101.11.1.1.9"
              LASTDEREG_DATE="1.3.6.1.4.1.3320.101.11.1.1.10"
              LASTDEREG_REASON="1.3.6.1.4.1.3320.101.11.1.1.11" 
              OID_ONU_ETH="1.3.6.1.4.1.3320.101.12.1.1.8"
              OID_PORT_INDEX="1.3.6.1.4.1.3320.101.107.1.1" # oid возвращает все индексы ПОН портов, работает не везде
              OID_GEPORT_COUNT="1.3.6.1.4.1.3320.101.10.1.1.12"
              OID_FEPORT_COUNT="1.3.6.1.4.1.3320.101.10.1.1.14"
              OID_REBOOT_ONU="1.3.6.1.4.1.3320.101.10.1.1.29" # snmpset -v2c -c RW IP OID.onuIndex i 0 reboot
              OID_DEL_ONU="SNMPv2-SMI::enterprises.3320.101.11.1.1.2" #.$portID.$mac10" i 0 #mac decimal onu
          fi
          # Общие для GPON
          if [[ "$1" =~ ^(GP3600-08|GP3600-16B|GP3600-08B)$ ]]; then
              ETH_STATUS="1.3.6.1.2.1.2.2.1.8" # статус порта 1 портовая ону
              ETH_STATUS4="1.3.6.1.4.1.3320.10.4.1.1.4" # статус портов 4х портовая ону
              OID_VENDOR_ONU="1.3.6.1.4.1.3320.10.3.1.1.2"
              OID_ADMIN_STATUS="1.3.6.1.4.1.3320.10.4.1.1.3"
              OID_DOWN_REASON="1.3.6.1.4.1.3320.10.3.1.1.35"
              OID_DIST="1.3.6.1.4.1.3320.10.3.1.1.33"
              OID_MODEL_ONU="1.3.6.1.4.1.3320.10.3.1.1.9"
              OID_VENDOR_ONU="1.3.6.1.4.1.3320.10.3.1.1.2"
              OID_REBOOT_ONU="1.3.6.1.4.1.3320.10.3.2.1.4" #snmpset -v2c -c RW IP OID.onuIndex i 1 reboot
              
          fi
          # Уникальные параметры для моделей
          case "$1" in
              # EPON модели
              P3310 | P3310B)
                  OID_RX_ONU="1.3.6.1.4.1.3320.101.10.5.1.6"
                  OID_RX_OLT="1.3.6.1.4.1.3320.9.183.1.1.5"
                  OID_PORT_LIST="1.3.6.1.4.1.3320.101.107.1.1"
                  ;;
              IEP3310)
                  OID_RX_ONU="1.3.6.1.4.1.3320.101.10.5.1.5"
                  OID_RX_OLT="1.3.6.1.4.1.3320.9.183.1.1.5"
                  OID_TX_ONU="1.3.6.1.4.1.3320.101.10.5.1.6"
                  ;;
              P3608 | P3608B | P3310C | P3316 | P3600-16E | P3608-2TE | P3616-2TE)
                  OID_RX_ONU="1.3.6.1.4.1.3320.101.10.5.1.5"
                  OID_RX_OLT="1.3.6.1.4.1.3320.101.108.1.3"
                  OID_TX_ONU="1.3.6.1.4.1.3320.101.10.5.1.6"
                  OID_PORT_LIST="1.3.6.1.4.1.3320.101.107.1.1"
                  ;;
              # GPON модели
              GP3600-08 | GP3600-16B | GP3600-08B | P3600-08E)
                  OID_RX_ONU="1.3.6.1.4.1.3320.10.3.4.1.2"
                  OID_RX_OLT="1.3.6.1.4.1.3320.10.2.3.1.3"
                  OID_TX_ONU="1.3.6.1.4.1.3320.10.3.4.1.3"
                  OID_GET_MAC="1.3.6.1.4.1.3320.10.3.1.1.4"
                  ;;
              *)
                  echo -e "\e[1;91mНеизвестный режим OLT: $1\e[0m"
                  return 1
                  ;;
          esac
          return 0
      }
      что бы было понятно в дальнейшем что за переменные 
      snmp1="snmpwalk -v2c -c паблик стринг"
      snmp2="snmpwalk -v2c -Ouqv -c паблик стринг"
      snmp3="snmpget -v2c -c паблик стринг"
      snmp3q="snmpget -v2c -Ouqv -c паблик стринг"
      snmp4="snmpget -v2c -Ouqv -c приват стринг"
      snmp5="snmpset -v2c -c приват стринг"

      EPON GEPON
      1- OID_GET_MAC="1.3.6.1.4.1.3320.101.10.4.1.1" на бдкомах епон 
      = SNMPv2-SMI::enterprises.3320.101.10.4.1.1.96 = Hex-STRING: A0 94 6A 97 CC 50
      snmp_response=$($snmp3 "$IP" "$OID_GET_MAC.$1" 2>/dev/null | awk -F'Hex-STRING: ' '{print tolower($2)}' | tr -d ' ')
          onu_mac=$(echo "$snmp_response" | sed 's/\(..\)/\1:/g;s/:$//') #Переводим в человеческий вид
          mac10=$(echo "$snmp_response" | awk '{    # Переводим в mac10 дада способов есть миллиард.
              for (i=1; i<=length; i+=2) {
                  printf "%d", strtonum("0x" substr($0, i, 2))
                  if (i + 2 <= length) printf "."
              }
              print ""
          }')

      лучший способ сделать функцию для форматирования снмп запросов в зависимости от типов STRING / HEX-STRING / COUNTER32 и тд тп.

      ifID=$($snmp1 "$IP" "$OID_IF_MAC10" 2>/dev/null | awk -v mac="$mac10" '$0 ~ mac {split($1, arr, "."); print arr[length(arr)-6]; exit}') 


      2 - OID_VENDOR_ONU="1.3.6.1.4.1.3320.101.10.1.1.1"
      тут без лишних слов возвращает вендор онушек 
      SNMPv2-SMI::enterprises.3320.101.10.1.1.1.97 = STRING: "XPON"   если укажем параметр -Oqv  или -Ouqv получим просто "XPON" и надо будет лишь сделать | tr -d ' " '    что бы удалить лапки.

      3 - OID_MODEL_ONU="1.3.6.1.4.1.3320.101.10.1.1.2" аналогично вендорам, получаем модель.

      4- OID_TEMP_ONU="1.3.6.1.4.1.3320.101.10.5.1.2"  - температура ону делим на / 256
      SNMPv2-SMI::enterprises.3320.101.10.5.1.2.17 = INTEGER: 7027  
      temp_onu=$($snmp3q $IP 1.3.6.1.4.1.3320.101.10.5.1.2.$INDEX | awk '{printf "%.2f", $1/265}' 2>/dev/null)

      5 - OID_AUNT_ONU_STATUS="1.3.6.1.4.1.3320.101.10.1.1.26"
      SNMPv2-SMI::enterprises.3320.101.10.1.1.26.276 = INTEGER: 3

      onuAunt_type=$($snmp3q $IP "$OID_AUNT_ONU_STATUS.$INDEX" 2>/dev/null)
          case "$onuAunt_type" in
              0) onuAunt_type_txt="authenticated" ;;
              1) onuAunt_type_txt="registered" ;;
              2) onuAunt_type_txt="deregistered" ;;
              3) onuAunt_type_txt="auto_config" ;;
              4) onuAunt_type_txt="lost" ;;
              *) onuAunt_type_txt="unknown" ;;
          esac

      6 - OID_UPTIME_ONU="1.3.6.1.4.1.3320.101.10.1.1.80" uptime
      SNMPv2-SMI::enterprises.3320.101.10.1.1.80.207 = INTEGER: 290907
      timetick 
      | awk '{h=int($1/3600); m=int(($1%3600)/60); s=$1%60; printf "AliveTime: %dч %dмин %dсек\n", h, m, s}')${reset}"

      7 - OID_DIST="1.3.6.1.4.1.3320.101.10.1.1.27"
      SNMPv2-SMI::enterprises.3320.101.10.1.1.27.149 = INTEGER: 1600
      на епоне в метрах  на гпоне делим на 10

      8 - OID_IF_MAC10="1.3.6.1.4.1.3320.101.11.1.1.3"
      SNMPv2-SMI::enterprises.3320.101.11.1.1.3.14.60.21.18.8.130.175 = Hex-STRING: 3C 15 12 08 82 AF  
      SNMPv2-SMI::enterprises.3320.101.11.1.1.3      .14-PORTINDEX     60.21.18.8.130.175  - MAC10                = Hex-STRING: MAC HEX

      9- OID_IFindexmac10="1.3.6.1.4.1.3320.101.11.1.1.1"
      SNMPv2-SMI::enterprises.3320.101.11.1.1.1.125.60.21.18.6.227.186 = INTEGER: 125
      SNMPv2-SMI::enterprises.3320.101.11.1.1.1.125.60.21.18.6.247.136 = INTEGER: 125
      возвращает PORT INDEX и можно грепнуть по mac10 найти индекс и можно грепнуть через мак10

      10 - LASTREG_DATE="1.3.6.1.4.1.3320.101.11.1.1.9"
      дату отдаёт в хексе. надо декодировать это дело.
      вызов snmp + IP + oid + PORTINDEX + MAC10 
      date_hex=$($snmp1 $IP "$LASTREG_DATE.$IF_INDEX.$mac10" 2>/dev/null | awk -F': ' '{print $2}' | tr -d ' ')
      if [[ -n "$date_hex" ]]; then
              # Преобразуем дату из hex в числовое представление
              data=($(echo "$date_hex" | sed 's/../0x& /g'))
              local year=$((data[0] * 256 + data[1]))
              local month=${data[2]}
              local day=${data[3]}
              local hour=${data[4]}
              local minute=${data[5]}
              local second=${data[6]}


      local formatted_date=$(printf "%04d-%02d-%02d %02d:%02d:%02d" "$year" "$month" "$day" "$hour" "$minute" "$second")


      10 - LASTDEREG_DATE="1.3.6.1.4.1.3320.101.11.1.1.10"
      аналогично 9му оиду.

      11 - LASTDEREG_REASON="1.3.6.1.4.1.3320.101.11.1.1.11" 
      DEREG_STATUS=$($snmp3 $IP "$LASTDEREG_REASON.$IF_INDEX.$mac10" -Oqv 2>/dev/null)
          case "$DEREG_STATUS" in
              2) dereg_status_text="normal";;
              3) dereg_status_text="mpcp-down";;
              4) dereg_status_text="oam-down";;
              5) dereg_status_text="firmware-download";;
              6) dereg_status_text="illegal-mac";;
              7) dereg_status_text="llid-admin-down";;
              😎 dereg_status_text="wire-down";;
              9) dereg_status_text="power-off";;
              255) dereg_status_text="unknown";;
              0) dereg_status_text="Нет данных.";;
              *) dereg_status_text="not found";;
          esac

      есть прикол если онушка autoconfig статус 3 / authenticated статус 0
      там инвертируються 7 и 8  может и от моделей ону зависеть.... 
      7) dereg_status_text="llid-admin-down";;
      😎 dereg_status_text="wire-down";;
      это уже тестами )


      12  -  OID_ONU_ETH="1.3.6.1.4.1.3320.101.12.1.1.8" статус езернет ничего не обычного кроме того что может верно отдать данные с 2-3го раза )
      2 down 1 up 
      там же есть прикол с authenticated autoconfig инвертируется...
      local PORT_COUNT=$($snmp2 "$IP" "$OID_ONU_ETH.$INDEX" | wc -l)
      local ETH_STATUS=$($snmp2 "$IP" "$OID_ONU_ETH.$INDEX.$port" 2>/dev/null)
              [[ "$ETH_STATUS" =~ ^[0-9]+$ ]] || continue  # Проверяем, что ETH_STATUS - это число
              if [[ "$onuAunt_type" == "0" ]]; then
                  STATUS_COLOR=$( [[ "$ETH_STATUS" -eq 2 ]] && echo "UP" || echo "DOWN" )
              else
                  STATUS_COLOR=$( [[ "$ETH_STATUS" -eq 1 ]] && echo "UP" || echo "DOWN" )
              fi

      13 - OID_PORT_INDEX="1.3.6.1.4.1.3320.101.107.1.1" # oid возвращает все индексы ПОН портов, работает не везде.
      14 - OID_GEPORT_COUNT="1.3.6.1.4.1.3320.101.10.1.1.12"   гигабит езернет порты на онушках (кол-во)
      15 - OID_FEPORT_COUNT="1.3.6.1.4.1.3320.101.10.1.1.14"   ФастЕзернет 100мбит аналогично. 
      INTEGER 

      16 - OID_REBOOT_ONU="1.3.6.1.4.1.3320.101.10.1.1.29" # snmpset -v2c -c RW IP OID.onuIndex i 0                                  reboot REBOOT ONU epon snmp
      $snmp5 "$IP" "$OID_REBOOT_ONU.$INDEX" i 0 >/dev/null 2>&1

      17 - delete onu epon  удалить ону бдком снмп 
      OID_DEL_ONU="SNMPv2-SMI::enterprises.3320.101.11.1.1.2"
      $snmp5 "$IP" "$OID_DEL_ONU.$ifID.$mac10" i 0 > /dev/null 2>&1    oid.PORTINDEX.mac10 i 0 
      остальные есть выше там думаю всё понятно.

      SIGNAL LEVELS в зависимости от моделей плат и олтов расписаны 
      все везде одинаково 
      $snmp2 "$IP" "$OID_RX_OLT.$INDEX" 2>/dev/null | awk '{print $NF / 10}')   результат делим на 10.

      epon пакеты, ошибки по портам на онушке.
      broadcasts=$($snmp4 "$IP" "1.3.6.1.4.1.3320.101.12.2.1.16.$INDEX.$port" 2>/dev/null)
      multicasts=$($snmp4 "$IP" "1.3.6.1.4.1.3320.101.12.2.1.17.$INDEX.$port" 2>/dev/null)
      unicasts=$($snmp4 "$IP" "1.3.6.1.4.1.3320.101.12.2.1.18.$INDEX.$port" 2>/dev/null)
      pause=$($snmp4 "$IP" "1.3.6.1.4.1.3320.101.12.2.1.19.$INDEX.$port" 2>/dev/null)
      fcserrs=$($snmp4 "$IP" "1.3.6.1.4.1.3320.101.12.2.1.20.$INDEX.$port" 2>/dev/null )
      oversize=$($snmp4 "$IP" "1.3.6.1.4.1.3320.101.12.2.1.13.$INDEX.$port" 2>/dev/null)
      jabber=$($snmp4 "$IP" "1.3.6.1.4.1.3320.101.12.2.1.14.$INDEX.$port" 2>/dev/null)

      мне бы такое помогло.. а не искать на тонне форумов и сайтов и неделю тыкая snmpwalk и выясняя что и для чего. остального и в инете полно. 
    • Від grapefruit
      Доброго вечора, спільното!
      Можливо хтось стикався з завданням,коли потрібно на OLT BDCOM GP3600 по oid визначити час розреєстрування ону. В неті нічого знайти не вдалося, через MIB браузер тоже ніц.
      Якщо підкажете буде дуже вдячний, або хоч підкажіть де шукати.
      Всім гарного вечора)
    • Від alexeya
      Продам OLT ZTE C320. OLT укомплектован блоком живлення PRAM, двома платами GTGH(K00), платою керування SMXA(A31).

      Кожна GTGH-плата, це 16 GPON портів, 16 GPON модулів C++.
      SMXA-плата, це SFP+ (10G) порт, 1 гігабітний комбо порт.

      В наявності 2 одиниці. Один новий, один був у використанні (стан близький до нового)

      Ціна нового - 120000 грн
      Ціна вживаного - 105000 грн

      BDCOM GP-3600-08B куплявся в ДЕПСі в вересні 23 року. В ньому використовувались тільки 3 порти (тобто є тільки 3 GPON SFP модулі). 48к разом з модулями

      ОЛТИ без модулів:
      3310B-2AC - 1штука - 8000
      3310B - 2 штуки - 7500
      3310B + Proline UPS - 1 штука - 8500
      3310D + Proline UPS - 1 штука - 12500
      BDCOM P3600-04 + Proline UPS - 1 штука - 16500
      3616-2TE - 3 штуки - 53к

      Додам вживані EPON С++ модулі по 400 грн за штуку. Або нові по 750 грн за штуку
    • Від jaroslav2r
      Добрий день,
      Виникла проблема з DHCP snooping на одному з наших OLT DASAN V5808. При його увімкненні клієнти перестають отримувати IP-адреси через DHCP. Оновлення прошивки до версії V5808 NOS 1.12p1 не допомогло. На інших OLT така проблема не спостерігається.
      DHCP snooping налаштовано за допомогою наступних команд, де uplink — порт 15:
      Copy code
      ip dhcp snooping
      ip dhcp snooping vlan 665
      ip dhcp snooping trust 15
      Хтось стикався з подібною проблемою і знайшов рішення?
       
      We’re experiencing an issue with DHCP snooping on one of our DASAN V5808 OLTs. When DHCP snooping is enabled, clients stop receiving DHCP offers. Updating the firmware to version V5808 NOS 1.12p1 didn’t resolve the problem. Other OLTs don’t seem to have this issue.
      The DHCP snooping configuration was done with the following commands:

      ip dhcp snooping
      ip dhcp snooping vlan 665
      ip dhcp snooping trust 15
       
      uplink —  15 port
       
      Has anyone encountered this problem and managed to fix it?
    • Від Rico3110
      ПРОДАМ НОВІ OLT
      нова C-DATA EPON FD1204S-R2-DAP - 1шт
      нова C-DATA GPON FD1604S-2AC - 1шт
       
      Блоки живлення нові EF9012 і EF6012
       

       
       
      UP!!!  По ціні, та наявності, уточнюйте в приватних повідомленнях!
       

×
×
  • Створити нове...