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 vars qw($PROGNAME);
|
||||||
use Getopt::Long;
|
use Getopt::Long;
|
||||||
use vars qw($opt_V $opt_H $opt_h $opt_i);
|
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);
|
use utils qw($TIMEOUT %ERRORS &print_revision &support);
|
||||||
|
|
||||||
## For Debug mode = 1
|
## For Debug mode = 1
|
||||||
|
@ -72,76 +72,73 @@ my $metric_id;
|
||||||
sub return_value($$$$){
|
sub return_value($$$$){
|
||||||
|
|
||||||
my $sth_output = $dbh->prepare("SELECT meta_display FROM `meta_service` WHERE `meta_id` = '".$_[3]."'");
|
my $sth_output = $dbh->prepare("SELECT meta_display FROM `meta_service` WHERE `meta_id` = '".$_[3]."'");
|
||||||
if (!$sth_output->execute) {
|
if (!$sth_output->execute) {die "Error:" . $sth_output->errstr . "\n";}
|
||||||
die "Error:" . $sth_output->errstr . "\n";
|
|
||||||
}
|
|
||||||
my $sth_output_data = $sth_output->fetchrow_hashref();
|
my $sth_output_data = $sth_output->fetchrow_hashref();
|
||||||
my $output = $sth_output_data->{'meta_display'};
|
my $output = $sth_output_data->{'meta_display'};
|
||||||
if ($output) {
|
if (defined($output) && $output) {
|
||||||
$output =~ s/\%d/$result/g;
|
$output =~ s/\%d/$result/g;
|
||||||
}
|
}
|
||||||
if (defined($warning) && defined($critical) && $warning ne $critical){
|
if (defined($warning) && defined($critical) && $warning ne $critical){
|
||||||
if ($warning < $critical){ # Bon sens
|
if ($warning < $critical){ # Bon sens
|
||||||
if ($result < $warning){
|
if ($result < $warning){
|
||||||
if ($output) {
|
if ($output) {
|
||||||
print $output. "|value=" . $result . ";".$warning.";".$critical."\n";
|
print $output. "|OMS=" . $result . ";".$warning.";".$critical."\n";
|
||||||
}else {
|
}else {
|
||||||
print "OK result : " . $result . "|value=" . $result . ";".$warning.";".$critical."\n";
|
print "OK result : " . $result . "|OMS=" . $result . ";".$warning.";".$critical."\n";
|
||||||
}
|
}
|
||||||
exit $ERRORS{'OK'};
|
exit $ERRORS{'OK'};
|
||||||
} elsif (($result >= $warning) && ($result < $critical)){
|
} elsif (($result >= $warning) && ($result < $critical)){
|
||||||
if ($output) {
|
if ($output) {
|
||||||
print $output. "|value=" . $result . ";".$warning.";".$critical."\n";
|
print $output. "|OMS=" . $result . ";".$warning.";".$critical."\n";
|
||||||
}else {
|
}else {
|
||||||
print "WARNING result : " . $result . "|value=" . $result . ";".$warning.";".$critical."\n";
|
print "WARNING result : " . $result . "|OMS=" . $result . ";".$warning.";".$critical."\n";
|
||||||
}
|
}
|
||||||
exit $ERRORS{'WARNING'};
|
exit $ERRORS{'WARNING'};
|
||||||
} elsif ($result >= $critical){
|
} elsif ($result >= $critical){
|
||||||
if ($output) {
|
if ($output) {
|
||||||
print $output. "|value=" . $result . ";".$warning.";".$critical."\n";
|
print $output. "|OMS=" . $result . ";".$warning.";".$critical."\n";
|
||||||
}else {
|
}else {
|
||||||
print "CRITICAL result : " . $result . "|value=" . $result . ";".$warning.";".$critical."\n";
|
print "CRITICAL result : " . $result . "|OMS=" . $result . ";".$warning.";".$critical."\n";
|
||||||
}
|
}
|
||||||
exit $ERRORS{'CRITICAL'};
|
exit $ERRORS{'CRITICAL'};
|
||||||
}
|
}
|
||||||
} else { # sens inverse
|
} else { # sens inverse
|
||||||
if ($result < $critical){
|
if ($result < $critical){
|
||||||
if ($output) {
|
if ($output) {
|
||||||
print $output. "|value=" . $result . ";".$warning.";".$critical."\n";
|
print $output. "|OMS=" . $result . ";".$warning.";".$critical."\n";
|
||||||
}else {
|
}else {
|
||||||
print "CRITICAL result : " . $result . "|value=" . $result . ";".$warning.";".$critical."\n";
|
print "CRITICAL result : " . $result . "|OMS=" . $result . ";".$warning.";".$critical."\n";
|
||||||
}
|
}
|
||||||
exit $ERRORS{'CRITICAL'};
|
exit $ERRORS{'CRITICAL'};
|
||||||
} elsif ($result >= $critical && $result < $warning){
|
} elsif ($result >= $critical && $result < $warning){
|
||||||
if ($output) {
|
if ($output) {
|
||||||
print $output. "|value=" . $result . ";".$warning.";".$critical."\n";
|
print $output. "|OMS=" . $result . ";".$warning.";".$critical."\n";
|
||||||
}else {
|
}else {
|
||||||
print "WARNING result : " . $result . "|value=" . $result . ";".$warning.";".$critical."\n";
|
print "WARNING result : " . $result . "|OMS=" . $result . ";".$warning.";".$critical."\n";
|
||||||
}
|
}
|
||||||
exit $ERRORS{'WARNING'};
|
exit $ERRORS{'WARNING'};
|
||||||
} elsif ($result >= $warning){
|
} elsif ($result >= $warning){
|
||||||
if ($output) {
|
if ($output) {
|
||||||
print $output. "|value=" . $result . ";".$warning.";".$critical."\n";
|
print $output. "|OMS=" . $result . ";".$warning.";".$critical."\n";
|
||||||
}else {
|
}else {
|
||||||
print "OK result : " . $result . "|value=" . $result . ";".$warning.";".$critical."\n";
|
print "OK result : " . $result . "|OMS=" . $result . ";".$warning.";".$critical."\n";
|
||||||
}
|
}
|
||||||
exit $ERRORS{'OK'};
|
exit $ERRORS{'OK'};
|
||||||
} else{
|
} else{
|
||||||
if ($output) {
|
if ($output) {
|
||||||
print $output. "|value=" . $result . ";".$warning.";".$critical."\n";
|
print $output. "|OMS=" . $result . ";".$warning.";".$critical."\n";
|
||||||
}else {
|
}else {
|
||||||
print "OK result : " . $result . "|value=" . $result . ";".$warning.";".$critical."\n";
|
print "OK result : " . $result . "|OMS=" . $result . ";".$warning.";".$critical."\n";
|
||||||
}
|
}
|
||||||
exit $ERRORS{'OK'};
|
exit $ERRORS{'OK'};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} elsif (!defined($warning) || !defined($critical)) {
|
||||||
if ($output) {
|
print "Result : " . $result . "|OMS=" . $result . "\n";
|
||||||
print $output. "|value=" . $result . "\n";
|
|
||||||
} else {
|
|
||||||
print "OK result : " . $result . "|value=".$result."\n";
|
|
||||||
}
|
|
||||||
exit $ERRORS{'OK'};
|
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($$$$){
|
sub get_value_in_database_metric_id($$$$){
|
||||||
## Get last entry in perfparse database for this service
|
## 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";}
|
if ($debug) {print $str . "\n";}
|
||||||
my $sth_deb2 = $dbh2->prepare($str);
|
my $sth_deb2 = $dbh2->prepare($str);
|
||||||
if (!$sth_deb2->execute) {die "Error:" . $sth_deb2->errstr . "\n";}
|
if (!$sth_deb2->execute) {die "Error:" . $sth_deb2->errstr . "\n";}
|
||||||
|
|
Loading…
Reference in New Issue