All pastes #1533492 Raw Edit

snmp plugin

public text v1 · immutable
#1533492 ·published 2009-08-18 07:21 UTC
rendered paste body
use strict;
use warnings;

use SNMP;
use Data::Dumper;

$ENV{'MIBS'}="ALL";  #Load all available MIBs
my $SNMP_TARGET = "192.168.0.1";
my $SNMP_COMMUNITY = "public";

my $session;
my $error;

#my $UNAME = '.iso.org.dod.internet.mgmt.mib-2.system.sysDescr';
my $TRAFFIC_IN =    'ifInOctets.2';
my $TRAFFIC_OUT = 'ifOutOctets.2';
my $UPTIME = 'sysUpTime.0';
my $SYSTEM = 'sysDescr.0';
my $SYSNAME = 'sysName.0';
my $STORAGE = 'hrStorage.0';

my $PROCESSES = 'hrSystemProcesses.0';

sub get_processes
{
	connectSNMP() if not $session;
	return $session->get($PROCESSES);
}
sub get_storage
{
	connectSNMP() if not $session;
	return $session->get($STORAGE);
}

sub get_traffic_in
{
	connectSNMP() if not $session;
	return $session->get($TRAFFIC_IN);
}

sub get_uptime
{
	connectSNMP() if not $session;
	return $session->get($UPTIME);
}

sub get_system
{
	connectSNMP() if not $session;
	return $session->get($SYSTEM);
}

sub get_sysname
{
	connectSNMP() if not $session;
	return $session->get($SYSNAME);
}

sub get_traffic_out
{
	connectSNMP() if not $session;
	return $session->get($TRAFFIC_OUT);
}

sub connectSNMP
{
	$session = new SNMP::Session (DestHost => $SNMP_TARGET, Community => $SNMP_COMMUNITY, Version => 1);
}


connectSNMP();
print "IFOUT:".get_traffic_out()."\n";
print "IFIN:".get_traffic_in()."\n";
print "UPTIME:".get_uptime()."\n";
print "SYSTEM:".get_system()."\n";
print "NAME:".get_sysname()."\n";
print "HDD:".get_storage()."\n";
print "NUM_PROC:".get_processes()."\n";