faq обучение настройка
Текущее время: Пт июл 25, 2025 04:12

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Проблемма в MIB
СообщениеДобавлено: Чт май 12, 2011 09:35 
Не в сети

Зарегистрирован: Ср май 04, 2011 13:23
Сообщений: 23
я понял, надо указать конкретный порт
1.3.6.1.2.1.2.2.1.8.1 - 1 порт
1.3.6.1.2.1.2.2.1.8.2 - 2 порт
и т.д.
Код:
#!/usr/bin/perl -w
use Net::SNMP;

$session = Net::SNMP->session( -hostname  => '10.0.0.9', -version => '2', -community => 'public',);
$ifAdminStatus = '1.3.6.1.2.1.2.2.1.8';

$result = $session->get_request( -varbindlist => [$ifAdminStatus] );
print $result->{$ifAdminStatus};


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Проблемма в MIB
СообщениеДобавлено: Чт май 12, 2011 09:45 
Не в сети

Зарегистрирован: Чт май 12, 2011 06:58
Сообщений: 26
dik-m писал(а):
я понял, надо указать конкретный порт
1.3.6.1.2.1.2.2.1.8.1 - 1 порт
1.3.6.1.2.1.2.2.1.8.2 - 2 порт
и т.д.
Код:
#!/usr/bin/perl -w
use Net::SNMP;

$session = Net::SNMP->session( -hostname  => '10.0.0.9', -version => '2', -community => 'public',);
$ifAdminStatus = '1.3.6.1.2.1.2.2.1.8';

$result = $session->get_request( -varbindlist => [$ifAdminStatus] );
print $result->{$ifAdminStatus};

Ага, ты прав .. надо цыклу писать :D


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Проблемма в MIB
СообщениеДобавлено: Чт май 12, 2011 09:51 
Не в сети

Зарегистрирован: Ср май 04, 2011 13:23
Сообщений: 23
Код:
#!/usr/bin/perl -w
use Net::SNMP;

$session = Net::SNMP->session( -hostname  => '10.0.0.9', -version => '2', -community => 'public',);
$ifStatus = '1.3.6.1.2.1.2.2.1';
# указываем сколько портов на комутаторе
$IF_max = 24;
for($i = 1; $i < $IF_max + 1; $i++){
$snmp_MIB = $ifStatus . ".8." . $i;
$result = $session->get_request("$snmp_MIB");
# выводим результат
print $result->{"$snmp_MIB"};
}


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Проблемма в MIB
СообщениеДобавлено: Чт май 12, 2011 09:55 
Не в сети

Зарегистрирован: Чт май 12, 2011 06:58
Сообщений: 26
эт я ужо написал Большое тебе Спасибо!

но тут немного задачка изменилась подскажи как посчитать количество портов на коммутаторе?
чтобы скрипт автоматически узнавал сколько портов на коммутаторе и подставлял нужное значение $IF_max
предполагается сьем статистики и с 3028 и с 3026, апишник я буду с базы.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Проблемма в MIB
СообщениеДобавлено: Чт май 12, 2011 10:12 
Не в сети

Зарегистрирован: Ср май 04, 2011 13:23
Сообщений: 23
TEPMuT писал(а):
эт я ужо написал Большое тебе Спасибо!

но тут немного задачка изменилась подскажи как посчитать количество портов на коммутаторе?
чтобы скрипт автоматически узнавал сколько портов на коммутаторе и подставлял нужное значение $IF_max
предполагается сьем статистики и с 3028 и с 3026, апишник я буду с базы.


ну автоматически хз как сделать никаких идей не возникает тем более что некоторые коммутаторы бывают стекированы и портов может быть много.
как вариант можно узнать по snmp модель коммутатора и для определённой модели выставлять своё значение.
я нечто подобное для себя делал, но я делал на shell


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Проблемма в MIB
СообщениеДобавлено: Чт май 12, 2011 10:31 
Не в сети

Зарегистрирован: Ср май 04, 2011 13:23
Сообщений: 23
придумал
Код:
#!/usr/bin/perl -w
use Net::SNMP;
use Net::SNMP::Interfaces;

$session = Net::SNMP->session( -hostname  => '10.0.0.9', -version => '2', -community => 'public',);
$ifStatus = '1.3.6.1.2.1.2.2.1.8.';
my $interfaces = Net::SNMP::Interfaces->new( Hostname=> 10.0.0.9', Community => 'public' );
my @ifnames = $interfaces->all_interfaces();
#   запускаем цикл по перебору всех доступных сетевых интерфейсов устройства
for(@ifnames)
{
my $i=$_->index();
$snmp_MIB = $ifStatus . $i;
$result = $session->get_request("$snmp_MIB");
$result = $result->{"$snmp_MIB"};
if($i > 30){
}else{
# все порты по очереди(но не превышающие 30)
print $result;
# все порты без сортировки по номеру порта(но не превышающие 30) (номер порта - состояние)
#print $i ." " . $result . "\n\r";
}
}


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Проблемма в MIB
СообщениеДобавлено: Чт май 12, 2011 11:27 
Не в сети

Зарегистрирован: Чт май 12, 2011 06:58
Сообщений: 26
dik-m писал(а):
придумал
Код:
#!/usr/bin/perl -w
use Net::SNMP;
use Net::SNMP::Interfaces;

$session = Net::SNMP->session( -hostname  => '10.0.0.9', -version => '2', -community => 'public',);
$ifStatus = '1.3.6.1.2.1.2.2.1.8.';
my $interfaces = Net::SNMP::Interfaces->new( Hostname=> 10.0.0.9', Community => 'public' );
my @ifnames = $interfaces->all_interfaces();
#   запускаем цикл по перебору всех доступных сетевых интерфейсов устройства
for(@ifnames)
{
my $i=$_->index();
$snmp_MIB = $ifStatus . $i;
$result = $session->get_request("$snmp_MIB");
$result = $result->{"$snmp_MIB"};
if($i > 30){
}else{
# все порты по очереди(но не превышающие 30)
print $result;
# все порты без сортировки по номеру порта(но не превышающие 30) (номер порта - состояние)
#print $i ." " . $result . "\n\r";
}
}


Спасибо тебе большое пребольшое! Все заработало!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Проблемма в MIB
СообщениеДобавлено: Чт май 12, 2011 11:32 
Не в сети

Зарегистрирован: Ср май 04, 2011 13:23
Сообщений: 23
самое интересное что в перле я вообще не рабираюсь


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Проблемма в MIB
СообщениеДобавлено: Чт май 12, 2011 11:57 
Не в сети

Зарегистрирован: Чт май 12, 2011 06:58
Сообщений: 26
dik-m писал(а):
самое интересное что в перле я вообще не рабираюсь

А я только вчера вечером за него сел)) и вообще программер из меня на 2+)
Еще раз Спасибо Большое!


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB