Page 1 of 1

SNMP Perl Plugin use custom MIB

Posted: Wed Oct 25, 2017 1:51 pm
by DeathDream
I'm building a custom perl plugin for SNMP that heavily depends on the MIB that I uploaded. How do I build the plugin to use this specific MIB?

Code: Select all

my ($session, $error) = Net::SNMP->session(
-hostname 		=> $Hostname,
-community 		=> $Community,
#-miblist 		=> 'F5-BIGIP-LOCAL-MIB',
#Above did not work
-port 			=> 161,
-version 		=> 'snmpv2c',
-nonblocking 	=> 0
);
If that cannot be done, how can I convert ASCII ($PoolName) entered variable to decimal value to make that an OID within perl? (Kinda outside a nagios related question but figured I'd ask here as well)

If I can use the MIB this would be how I pool

Code: Select all

my($PoolName) 	= 	$ARGV[1];
my($OIDPoolStatus) 		= 	"ltmPoolStatusAvailState.\\\"$PoolName\\\"";
my $polled_oids_1 = $session->get_request(-varbindlist => [$$OIDPoolStatus]);

Re: SNMP Perl Plugin use custom MIB

Posted: Wed Oct 25, 2017 1:56 pm
by tmcdonald
Definitely something that would be best asked in a forum dedicated to Perl, as it does not seem to pertain to anything Nagios-specific.

Regarding the string -> int conversion, I don't think you need to do that since what you are building is itself a string. And I also seem to recall Perl handling string -> int conversion nicely anyway:

https://stackoverflow.com/questions/288 ... er-in-perl

Re: SNMP Perl Plugin use custom MIB

Posted: Wed Oct 25, 2017 2:24 pm
by DeathDream
The main question in this post was about how can I get the plugin to be forced to use a MIB. I couldn't find anything in Net::SNMP about doing this.

I'm actually on stackoverflow now looking at the conversion process as well lol however what I found was exactly the opposite of what I was wanting: https://stackoverflow.com/questions/714 ... conversion
I'll give your link a shot if the MIB isn't an option.

Re: SNMP Perl Plugin use custom MIB

Posted: Wed Oct 25, 2017 3:33 pm
by kyang
Sounds good, let us know if you have any more questions

Or if you are okay to close this thread.