나는 perl을 처음 사용하지만, nagios 용 플러그인을 작성하려고합니다. 내가 실패하는 간단한 요청을 가지고 있지만, 내가 snmpwalk와 동일한 요청을 시도하면 작동합니다.Perl Net :: SNMP는 snmpwalk 작동시 noSuchName을 반환합니다.
내 코드는 다음과 같습니다
#!/usr/bin/perl -w
use strict;
use Net::SNMP;
my $host = '10.10.10.203';
my $community = 'myComm';
my $session;
my $error;
my $response = undef;
($session, $error) = Net::SNMP->session(
-hostname => $host,
-version => 2,
-community =>$community,
-port => 161,
-timeout => 20
);
my $uptimeOID = '1.3.6.1.2.1.1.3.0';
my $myOID = '1.3.6.1.4.1.7933';
if(!defined($response = $session->get_request($myOID)))
{
if($session->error_status == 2)
{
my $sessionError = $session->error;
print ("($sessionError) OID not supported ($myOID).\n");
}
}
else
{
print ("$response");
}
나는 그것이 noSuchName 말을 실패합니다이 스크립트를 실행하지만, 실행하는 경우 경우 :
snmpwalk -v 2c -c myComm 10.10.10.203 1.3.6.1.4.1.7933
내가 원하는 응답을 얻을. 아무도 이것이 왜 효과가 없는지 아십니까?
이 스크립트로 가동 시간 OID를 확인하면 정상적으로 작동합니다.