Fixed the snmp remote plugin. But it is necesary to check.

(cherry picked from commit 9cb4e5d0e6)
This commit is contained in:
mdtrooper 2015-03-03 16:24:27 +01:00
parent dbae94b764
commit ec7eef681e
1 changed files with 56 additions and 39 deletions

View File

@ -74,21 +74,26 @@ if ($#ARGV == -1 ) {
print "\n"; print "\n";
print "Example of use \n"; print "Example of use \n";
print "perl snmp_remoto.pl -H host -c community -m (memuse|diskuse|process|cpuload) [-p process -d disk] \n"; print "perl snmp_remoto.pl -H host -c community -m (memuse|diskuse|process|cpuload) [-p process -d disk] \n";
print "Version=$VERSION"; print "\n";
print "Version=$VERSION\n";
exit; exit;
} }
my ($host,
$community, my (
$module, $host, # $opts{"H"}
$disk, $community, # $opts{"c"}
$process, $module, # $opts{"m"}
$version, $disk, # $opts{"d"}
$user, $process, # $opts{"p"}
$pass, $version, # $opts{"v"}
$auth_method, $user, # $opts{"u"}
$privacy_method, $pass, # $opts{"A"}
$privacy_pass ) = &options; $security_level, # $opts{"l"}
$auth_method, # $opts{"a"}
$privacy_method, # $opts{"x"}
$privacy_pass # $opts{"X"}
) = &options;
#----------------------------------------------------------------------- #-----------------------------------------------------------------------
# OPTIONS # OPTIONS
@ -106,25 +111,37 @@ sub options {
#~ ' -x ' . $snmp3_privacy_method . #~ ' -x ' . $snmp3_privacy_method .
#~ ' -X' $snmp3_privacy_pass; #~ ' -X' $snmp3_privacy_pass;
$opts{"H"} = 0 unless ( exists( $opts{"H"} ) ); # host
$opts{"c"} = 0 unless ( exists( $opts{"c"} ) ); $opts{"H"} = 0 unless ( exists( $opts{"H"} ) );
$opts{"m"} = 0 unless ( exists( $opts{"m"} ) ); # community
$opts{"d"} = "/" unless ( exists( $opts{"d"} ) ); $opts{"c"} = 0 unless ( exists( $opts{"c"} ) );
$opts{"p"} = 0 unless ( exists( $opts{"p"} ) ); # module
$opts{"p"} = 0 unless ( exists( $opts{"p"} ) ); $opts{"m"} = 0 unless ( exists( $opts{"m"} ) );
$opts{"v"} = 2 unless ( exists( $opts{"v"} ) ); # disk
$opts{"u"} = "" unless ( exists( $opts{"u"} ) ); $opts{"d"} = "/" unless ( exists( $opts{"d"} ) );
$opts{"A"} = "" unless ( exists( $opts{"A"} ) ); # process
$opts{"l"} = "noAuthNoPriv" unless ( exists( $opts{"l"} ) ); $opts{"p"} = 0 unless ( exists( $opts{"p"} ) );
$opts{"a"} = "" unless ( exists( $opts{"a"} ) ); # version
$opts{"x"} = "" unless ( exists( $opts{"x"} ) ); $opts{"v"} = 2 unless ( exists( $opts{"v"} ) );
$opts{"X"} = "" unless ( exists( $opts{"X"} ) ); # user
$opts{"u"} = "" unless ( exists( $opts{"u"} ) );
# auth_pass
$opts{"A"} = "" unless ( exists( $opts{"A"} ) );
# security level
$opts{"l"} = "noAuthNoPriv" unless ( exists( $opts{"l"} ) );
# auth method
$opts{"a"} = "" unless ( exists( $opts{"a"} ) );
# privacy method
$opts{"x"} = "" unless ( exists( $opts{"x"} ) );
# privacy pass
$opts{"X"} = "" unless ( exists( $opts{"X"} ) );
return ( $opts{"H"}, return (
$opts{"H"},
$opts{"c"}, $opts{"c"},
$opts{"m"}, $opts{"m"},
$opts{"d"}, $opts{"d"},
$opts {"p"}, $opts{"p"},
$opts{"v"}, $opts{"v"},
$opts{"u"}, $opts{"u"},
$opts{"A"}, $opts{"A"},
@ -143,13 +160,13 @@ if ($module eq "memuse") {
if ($version == 3) { if ($version == 3) {
if ($auth_method eq 'authNoPriv') { if ($auth_method eq 'authNoPriv') {
$command_line_parammeters = "-v 3 -u $user -a $privacy_method -A $pass -l $auth_method $host"; $command_line_parammeters = "-v 3 -u $user -a $auth_method -A $pass -l $security_level $host";
} }
elsif ($auth_method eq "noAuthNoPriv") { elsif ($auth_method eq "noAuthNoPriv") {
$command_line_parammeters = "-v 3 -u $user -l $auth_method $host"; $command_line_parammeters = "-v 3 -u $user -l $security_level $host";
} }
else { else {
$command_line_parammeters = "-v 3 -u $user -a $privacy_method -A $pass -l $auth_method -x $privacy_method -X $privacy_pass $host"; $command_line_parammeters = "-v 3 -u $user -a $auth_method -A $pass -l $security_level -x $privacy_method -X $privacy_pass $host";
} }
} }
else { else {
@ -176,13 +193,13 @@ if ($module eq "diskuse") {
if ($version == 3) { if ($version == 3) {
if ($auth_method eq 'authNoPriv') { if ($auth_method eq 'authNoPriv') {
$command_line_parammeters = "-v 3 -u $user -a $privacy_method -A $pass -l $auth_method $host"; $command_line_parammeters = "-v 3 -u $user -a $auth_method -A $pass -l $security_level $host";
} }
elsif ($auth_method eq "noAuthNoPriv") { elsif ($auth_method eq "noAuthNoPriv") {
$command_line_parammeters = "-v 3 -u $user -l $auth_method $host"; $command_line_parammeters = "-v 3 -u $user -l $security_level $host";
} }
else { else {
$command_line_parammeters = "-v 3 -u $user -a $privacy_method -A $pass -l $auth_method -x $privacy_method -X $privacy_pass $host"; $command_line_parammeters = "-v 3 -u $user -a $auth_method -A $pass -l $security_level -x $privacy_method -X $privacy_pass $host";
} }
} }
else { else {
@ -215,13 +232,13 @@ if ($module eq "process") {
if ($version == 3) { if ($version == 3) {
if ($auth_method eq 'authNoPriv') { if ($auth_method eq 'authNoPriv') {
$command_line_parammeters = "-v 3 -u $user -a $privacy_method -A $pass -l $auth_method $host"; $command_line_parammeters = "-v 3 -u $user -a $auth_method -A $pass -l $security_level $host";
} }
elsif ($auth_method eq "noAuthNoPriv") { elsif ($auth_method eq "noAuthNoPriv") {
$command_line_parammeters = "-v 3 -u $user -l $auth_method $host"; $command_line_parammeters = "-v 3 -u $user -l $security_level $host";
} }
else { else {
$command_line_parammeters = "-v 3 -u $user -a $privacy_method -A $pass -l $auth_method -x $privacy_method -X $privacy_pass $host"; $command_line_parammeters = "-v 3 -u $user -a $auth_method -A $pass -l $security_level -x $privacy_method -X $privacy_pass $host";
} }
} }
else { else {
@ -242,13 +259,13 @@ if ($module eq "cpuload") {
if ($version == 3) { if ($version == 3) {
if ($auth_method eq 'authNoPriv') { if ($auth_method eq 'authNoPriv') {
$command_line_parammeters = "-v 3 -u $user -a $privacy_method -A $pass -l $auth_method $host"; $command_line_parammeters = "-v 3 -u $user -a $auth_method -A $pass -l $security_level $host";
} }
elsif ($auth_method eq "noAuthNoPriv") { elsif ($auth_method eq "noAuthNoPriv") {
$command_line_parammeters = "-v 3 -u $user -l $auth_method $host"; $command_line_parammeters = "-v 3 -u $user -l $security_level $host";
} }
else { else {
$command_line_parammeters = "-v 3 -u $user -a $privacy_method -A $pass -l $auth_method -x $privacy_method -X $privacy_pass $host"; $command_line_parammeters = "-v 3 -u $user -a $auth_method -A $pass -l $security_level -x $privacy_method -X $privacy_pass $host";
} }
} }
else { else {