LINUX.ORG.RU

perl, net-snmp и get_table


0

0

всем привет.

у меня не очень с перлом.

кусок скрипта ниже выводит таблицу.

в первом столбце имена интерфейсов - interfaces.ifTable.ifEntry.ifDescr.1,

а во втором я хочу получать соответствующий OID - ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifAlias.1

$sess = Net::SNMP->session(-hostname => $host, -community => $community, -version => 2);

my $val1 = $sess->get_table('1.3.6.1.2.1.2.2.1.2');
my $val2 = $sess->get_table('1.3.6.1.2.1.31.1.1.1.18');

print "<table border='1' align='center'><tr><th>Interface</th><th>Descr</th></tr>";

for my $int (keys %$val1) 
{
 print "<tr><td height='25'>$val1->{$int}</td>";
 print "<td> вот тут хочу получить соответствующий $val2 </td>";
 print "</tr>";
}

print "</table>";

Вопрос, как выводить для каждого 1.3.6.1.2.1.2.2.1.2.x соответствующий 1.3.6.1.2.1.31.1.1.1.18.y во втором столбике?

Я пробовал по всякому, но моих познаний что-то совсем не хватает.

Спасибо.

Сначала через snmpgetnext проходишь по таблице интерфесов и запоминаешь номер интерфейса в хэше, затем элементарно foreach по хешу.

sdio ★★★★★
()
Ответ на: комментарий от zup-rk27

поройся на exchange.nagios.org там полно перловых скриптов исп. SNMP

sdio ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.