add possibility to disable use of warning and critical in meta services.
git-svn-id: http://svn.centreon.com/trunk/plugins-2.x@6869 6bcd3966-0018-0410-8128-fd23d134de7e
This commit is contained in:
parent
135e2239a1
commit
60ed821f4e
|
@ -29,7 +29,7 @@ use DBI;
|
|||
use vars qw($PROGNAME);
|
||||
use Getopt::Long;
|
||||
use vars qw($opt_V $opt_H $opt_h $opt_i);
|
||||
use lib "@NAGIOS_PLUGINS@";
|
||||
use lib "/usr/local/nagios/libexec";
|
||||
use utils qw($TIMEOUT %ERRORS &print_revision &support);
|
||||
|
||||
## For Debug mode = 1
|
||||
|
@ -72,76 +72,73 @@ my $metric_id;
|
|||
sub return_value($$$$){
|
||||
|
||||
my $sth_output = $dbh->prepare("SELECT meta_display FROM `meta_service` WHERE `meta_id` = '".$_[3]."'");
|
||||
if (!$sth_output->execute) {
|
||||
die "Error:" . $sth_output->errstr . "\n";
|
||||
}
|
||||
if (!$sth_output->execute) {die "Error:" . $sth_output->errstr . "\n";}
|
||||
my $sth_output_data = $sth_output->fetchrow_hashref();
|
||||
my $output = $sth_output_data->{'meta_display'};
|
||||
if ($output) {
|
||||
if (defined($output) && $output) {
|
||||
$output =~ s/\%d/$result/g;
|
||||
}
|
||||
if (defined($warning) && defined($critical) && $warning ne $critical){
|
||||
if ($warning < $critical){ # Bon sens
|
||||
if ($result < $warning){
|
||||
if ($output) {
|
||||
print $output. "|value=" . $result . ";".$warning.";".$critical."\n";
|
||||
print $output. "|OMS=" . $result . ";".$warning.";".$critical."\n";
|
||||
}else {
|
||||
print "OK result : " . $result . "|value=" . $result . ";".$warning.";".$critical."\n";
|
||||
print "OK result : " . $result . "|OMS=" . $result . ";".$warning.";".$critical."\n";
|
||||
}
|
||||
exit $ERRORS{'OK'};
|
||||
} elsif (($result >= $warning) && ($result < $critical)){
|
||||
if ($output) {
|
||||
print $output. "|value=" . $result . ";".$warning.";".$critical."\n";
|
||||
print $output. "|OMS=" . $result . ";".$warning.";".$critical."\n";
|
||||
}else {
|
||||
print "WARNING result : " . $result . "|value=" . $result . ";".$warning.";".$critical."\n";
|
||||
print "WARNING result : " . $result . "|OMS=" . $result . ";".$warning.";".$critical."\n";
|
||||
}
|
||||
exit $ERRORS{'WARNING'};
|
||||
} elsif ($result >= $critical){
|
||||
if ($output) {
|
||||
print $output. "|value=" . $result . ";".$warning.";".$critical."\n";
|
||||
print $output. "|OMS=" . $result . ";".$warning.";".$critical."\n";
|
||||
}else {
|
||||
print "CRITICAL result : " . $result . "|value=" . $result . ";".$warning.";".$critical."\n";
|
||||
print "CRITICAL result : " . $result . "|OMS=" . $result . ";".$warning.";".$critical."\n";
|
||||
}
|
||||
exit $ERRORS{'CRITICAL'};
|
||||
}
|
||||
} else { # sens inverse
|
||||
if ($result < $critical){
|
||||
if ($output) {
|
||||
print $output. "|value=" . $result . ";".$warning.";".$critical."\n";
|
||||
print $output. "|OMS=" . $result . ";".$warning.";".$critical."\n";
|
||||
}else {
|
||||
print "CRITICAL result : " . $result . "|value=" . $result . ";".$warning.";".$critical."\n";
|
||||
print "CRITICAL result : " . $result . "|OMS=" . $result . ";".$warning.";".$critical."\n";
|
||||
}
|
||||
exit $ERRORS{'CRITICAL'};
|
||||
} elsif ($result >= $critical && $result < $warning){
|
||||
if ($output) {
|
||||
print $output. "|value=" . $result . ";".$warning.";".$critical."\n";
|
||||
print $output. "|OMS=" . $result . ";".$warning.";".$critical."\n";
|
||||
}else {
|
||||
print "WARNING result : " . $result . "|value=" . $result . ";".$warning.";".$critical."\n";
|
||||
print "WARNING result : " . $result . "|OMS=" . $result . ";".$warning.";".$critical."\n";
|
||||
}
|
||||
exit $ERRORS{'WARNING'};
|
||||
} elsif ($result >= $warning){
|
||||
if ($output) {
|
||||
print $output. "|value=" . $result . ";".$warning.";".$critical."\n";
|
||||
print $output. "|OMS=" . $result . ";".$warning.";".$critical."\n";
|
||||
}else {
|
||||
print "OK result : " . $result . "|value=" . $result . ";".$warning.";".$critical."\n";
|
||||
print "OK result : " . $result . "|OMS=" . $result . ";".$warning.";".$critical."\n";
|
||||
}
|
||||
exit $ERRORS{'OK'};
|
||||
} else{
|
||||
if ($output) {
|
||||
print $output. "|value=" . $result . ";".$warning.";".$critical."\n";
|
||||
print $output. "|OMS=" . $result . ";".$warning.";".$critical."\n";
|
||||
}else {
|
||||
print "OK result : " . $result . "|value=" . $result . ";".$warning.";".$critical."\n";
|
||||
print "OK result : " . $result . "|OMS=" . $result . ";".$warning.";".$critical."\n";
|
||||
}
|
||||
exit $ERRORS{'OK'};
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if ($output) {
|
||||
print $output. "|value=" . $result . "\n";
|
||||
} else {
|
||||
print "OK result : " . $result . "|value=".$result."\n";
|
||||
}
|
||||
} elsif (!defined($warning) || !defined($critical)) {
|
||||
print "Result : " . $result . "|OMS=" . $result . "\n";
|
||||
exit $ERRORS{'OK'};
|
||||
} else {
|
||||
print "ERROR : warnig level = critical level";
|
||||
exit $ERRORS{'CRITICAL'};
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -154,7 +151,7 @@ my $host_id;
|
|||
|
||||
sub get_value_in_database_metric_id($$$$){
|
||||
## Get last entry in perfparse database for this service
|
||||
my $str = "SELECT `value` FROM `data_bin` WHERE `id_metric` = '".$metric_id."' ORDER BY `ctime` DESC LIMIT 1";
|
||||
my $str = "SELECT value FROM data_bin WHERE id_metric = '".$metric_id."'";
|
||||
if ($debug) {print $str . "\n";}
|
||||
my $sth_deb2 = $dbh2->prepare($str);
|
||||
if (!$sth_deb2->execute) {die "Error:" . $sth_deb2->errstr . "\n";}
|
||||
|
|
Loading…
Reference in New Issue