LINUX.ORG.RU

use SNMP (perl). Убрать вывод ошибок MiB

 , ,


0

1

В snmpwalk есть такой замечательный флаг -Ln. С помощью которого можно убрать ошибки вывода MiB по типу:

Unknown group (distantEndCDM625ObjectsGroup): At line 4503 in /usr/local/etc/MIB/cdm-625/FW-0000165N_MIB_2_3_1.mib
Unknown module (CDM-700): At line 3398 in /usr/local/etc/MIB/cdm-700/Fw10236-4E.mib
Undefined OBJECT-GROUP (ntpEntNotifPrefixGroup): At line 17069 in /usr/local/etc/MIB/QSW-2800/QTECH_private_2.1.1.mib
- (is a reserved word): At line 24 in /usr/local/etc/MIB/Paradise/PARADISE-IPOS-RBC.MIB
: (is a reserved word): At line 24 in /usr/local/etc/MIB/Paradise/PARADISE-IPOS-RBC.MIB
STATUS (is a reserved word): At line 25 in /usr/local/etc/MIB/Paradise/PARADISE-IPOS-RBC.MIB
DESCRIPTION (is a reserved word): At line 27 in /usr/local/etc/MIB/Paradise/PARADISE-IPOS-RBC.MIB
SYNTAX (is a reserved word): At line 28 in /usr/local/etc/MIB/Paradise/PARADISE-IPOS-RBC.MIB
{ (is a reserved word): At line 29 in /usr/local/etc/MIB/Paradise/PARADISE-IPOS-RBC.MIB
( (is a reserved word): At line 29 in /usr/local/etc/MIB/Paradise/PARADISE-IPOS-RBC.MIB
) (is a reserved word): At line 29 in /usr/local/etc/MIB/Paradise/PARADISE-IPOS-RBC.MIB
Bad operator ((): At line 30 in /usr/local/etc/MIB/Paradise/PARADISE-IPOS-RBC.MIB

Как используя перл и модуль SNMP добится того же?

★★

Последнее исправление: cetjs2 (всего исправлений: 1)

Решено:

use SNMP;
use IO::Handle;
use POSIX qw(strftime);
open ERROR,  '>', "/dev/null"  or die $!;
STDERR->fdopen( \*ERROR,  'w' ) or die $!;

nixit ★★
() автор топика
Ответ на: комментарий от nixit

Так вообще все ошибки не будет видно, а это полезно при отладке. Если модуль совсем никак не даёт менять поведение при ошибках, то можно переопределить $SIG{WARN}:

{
  local $SIG{WARN}=sub {
    ...
  };
  #тут выполняем код, который выводит ошибки
}
#тут снова будет видно ошибки

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