mirror of
https://github.com/ranl/monitor-utils.git
synced 2024-11-22 23:43:42 +01:00
Update check-netapp-ng.pl
Add option for script version
This commit is contained in:
parent
fc9c1902ab
commit
63f755f2e3
@ -53,7 +53,7 @@ my $stat = 0;
|
|||||||
my $msg;
|
my $msg;
|
||||||
my $perf;
|
my $perf;
|
||||||
my $script_name = basename($0);
|
my $script_name = basename($0);
|
||||||
my $script_version = 1.3;
|
my $script_version = '1.3.1';
|
||||||
|
|
||||||
my $counterFilePath="/tmp";
|
my $counterFilePath="/tmp";
|
||||||
my $counterFile;
|
my $counterFile;
|
||||||
@ -326,8 +326,8 @@ sub uniq(@) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sub _create_session(@) {
|
sub _create_session(@) {
|
||||||
my ($server, $comm, $version, $timeout) = @_;
|
my ($server, $comm, $snmp_version, $timeout) = @_;
|
||||||
my ($sess, $err) = Net::SNMP->session( -hostname => $server, -version => $version, -community => $comm, -timeout => $timeout);
|
my ($sess, $err) = Net::SNMP->session( -hostname => $server, -version => $snmp_version, -community => $comm, -timeout => $timeout);
|
||||||
if (!defined($sess)) {
|
if (!defined($sess)) {
|
||||||
print "Can't create SNMP session to $server\n";
|
print "Can't create SNMP session to $server\n";
|
||||||
exit(1);
|
exit(1);
|
||||||
@ -356,6 +356,7 @@ This is $script_name in version $script_version.
|
|||||||
-e <vol1[,vol2[,...]]> Exclude volumes from snap check (SNAPSHOT/SNAPSHOTAGE)
|
-e <vol1[,vol2[,...]]> Exclude volumes from snap check (SNAPSHOT/SNAPSHOTAGE)
|
||||||
-I Inform only, return OK every time (ignore -w and -c values)
|
-I Inform only, return OK every time (ignore -w and -c values)
|
||||||
-h This help
|
-h This help
|
||||||
|
--version Display : Date - Script_name - Script_version - no check performed.
|
||||||
|
|
||||||
Available check types:
|
Available check types:
|
||||||
TEMP - Temperature
|
TEMP - Temperature
|
||||||
@ -491,12 +492,12 @@ sub _ulong64(@) {
|
|||||||
#############################
|
#############################
|
||||||
$opt{'crit'} = 500;
|
$opt{'crit'} = 500;
|
||||||
$opt{'warn'} = 500;
|
$opt{'warn'} = 500;
|
||||||
$opt{'version'} = 2;
|
$opt{'snmp_version'} = 2;
|
||||||
$opt{'timeout'} = 60;
|
$opt{'timeout'} = 60;
|
||||||
my $result = GetOptions(\%opt,
|
my $result = GetOptions(\%opt,
|
||||||
'filer|H=s',
|
'filer|H=s',
|
||||||
'community|C=s',
|
'community|C=s',
|
||||||
'version|V=s',
|
'snmp_version|V=s',
|
||||||
'check_type|T=s',
|
'check_type|T=s',
|
||||||
'warn|w=i',
|
'warn|w=i',
|
||||||
'crit|c=i',
|
'crit|c=i',
|
||||||
@ -504,9 +505,16 @@ my $result = GetOptions(\%opt,
|
|||||||
'exclude|e=s',
|
'exclude|e=s',
|
||||||
'inform|I',
|
'inform|I',
|
||||||
'timeout|t=i',
|
'timeout|t=i',
|
||||||
"help|h",
|
'version!',
|
||||||
);
|
);
|
||||||
|
if(defined $opt{'version'}) {
|
||||||
|
$state = "OK";
|
||||||
|
my ($sec,$min,$hour,$day,$month,$yr19,@rest) = localtime(time);
|
||||||
|
my $DT=sprintf("%04d-%02d-%02d %02d:%02d:%02d", $yr19+1900, ($month+1), $day , $hour, $min, $sec);
|
||||||
|
$answer = "$DT - $script_name \$Revision: $script_version - no check performed.";
|
||||||
|
print "$state: $answer\n";
|
||||||
|
exit $ERRORS{$state};
|
||||||
|
}
|
||||||
FSyntaxError("") if defined $opt{'help'};
|
FSyntaxError("") if defined $opt{'help'};
|
||||||
FSyntaxError("Missing -H") unless defined $opt{'filer'};
|
FSyntaxError("Missing -H") unless defined $opt{'filer'};
|
||||||
FSyntaxError("Missing -C") unless defined $opt{'community'};
|
FSyntaxError("Missing -C") unless defined $opt{'community'};
|
||||||
@ -523,7 +531,7 @@ if($opt{'crit'} and $opt{'warn'}) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if( ($opt{'check_type'} eq 'ISCSIOPS') or ($opt{'check_type'} eq 'FCPOPS') ) {
|
if( ($opt{'check_type'} eq 'ISCSIOPS') or ($opt{'check_type'} eq 'FCPOPS') ) {
|
||||||
$opt{'version'} = '2c';
|
$opt{'snmp_version'} = '2c';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!defined($counterFilePath)) {
|
if (!defined($counterFilePath)) {
|
||||||
@ -541,7 +549,7 @@ if (!defined($counterFilePath)) {
|
|||||||
alarm($TIMEOUT);
|
alarm($TIMEOUT);
|
||||||
|
|
||||||
# Establish SNMP Session
|
# Establish SNMP Session
|
||||||
our $snmp_session = _create_session($opt{'filer'},$opt{'community'},$opt{'version'},$opt{'timeout'});
|
our $snmp_session = _create_session($opt{'filer'},$opt{'community'},$opt{'snmp_version'},$opt{'timeout'});
|
||||||
|
|
||||||
# setup counterFile now that we have host IP and check type
|
# setup counterFile now that we have host IP and check type
|
||||||
$counterFile = $counterFilePath."/".$opt{'filer'}.".check-netapp-ng.$opt{'check_type'}.nagioscache";
|
$counterFile = $counterFilePath."/".$opt{'filer'}.".check-netapp-ng.$opt{'check_type'}.nagioscache";
|
||||||
@ -752,7 +760,7 @@ if("$opt{'check_type'}" eq "TEMP") {
|
|||||||
my $oid = pop(@tmp_arr);
|
my $oid = pop(@tmp_arr);
|
||||||
my $used = "";
|
my $used = "";
|
||||||
my $capacity = "";
|
my $capacity = "";
|
||||||
if ($opt{'version'} eq '2c') {
|
if ($opt{'snmp_version'} eq '2c') {
|
||||||
$used = _get_oid_value($snmp_session,"$snmp_netapp_volume_id_table_df64_used.$oid");
|
$used = _get_oid_value($snmp_session,"$snmp_netapp_volume_id_table_df64_used.$oid");
|
||||||
$capacity = _get_oid_value($snmp_session,"$snmp_netapp_volume_id_table_df64_total.$oid");
|
$capacity = _get_oid_value($snmp_session,"$snmp_netapp_volume_id_table_df64_total.$oid");
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user