summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorTon Voon <tonvoon@gmail.com>2011-12-22 16:56:08 (GMT)
committerTon Voon <tonvoon@gmail.com>2011-12-22 16:56:08 (GMT)
commitcce4fccf608b3e4accf7cbf2f11da23b3d627f15 (patch)
tree95eab212877fef34e132c1ee4d33055611e3bb4d /lib
parent95426817f66bbc7a1e4ad998fe10f327f0096257 (diff)
downloadmonitoring-plugin-perl-cce4fccf608b3e4accf7cbf2f11da23b3d627f15.tar.gz
check_threshold to check multiple values at once
Diffstat (limited to 'lib')
-rw-r--r--lib/Nagios/Plugin.pm5
-rw-r--r--lib/Nagios/Plugin/Threshold.pm13
2 files changed, 13 insertions, 5 deletions
diff --git a/lib/Nagios/Plugin.pm b/lib/Nagios/Plugin.pm
index d2a5145..8950477 100644
--- a/lib/Nagios/Plugin.pm
+++ b/lib/Nagios/Plugin.pm
@@ -110,7 +110,7 @@ sub check_threshold {
110 110
111 my %args; 111 my %args;
112 112
113 if ( $#_ == 0 && ! ref $_[0]) { # one positional param 113 if ( $#_ == 0 && (! ref $_[0] || ref $_[0] eq "ARRAY" )) { # one positional param
114 %args = (check => shift); 114 %args = (check => shift);
115 } 115 }
116 else { 116 else {
@@ -509,6 +509,9 @@ WARNING constant. The thresholds may be:
5093. implicitly set by command-line parameters -w, -c, --critical or 5093. implicitly set by command-line parameters -w, -c, --critical or
510 --warning, if you have run C<< $plugin->getopts() >>. 510 --warning, if you have run C<< $plugin->getopts() >>.
511 511
512You can specify $value as an array of values and each will be checked against
513the thresholds.
514
512The return value is ready to pass to C <nagios_exit>, e . g ., 515The return value is ready to pass to C <nagios_exit>, e . g .,
513 516
514 $p->nagios_exit( 517 $p->nagios_exit(
diff --git a/lib/Nagios/Plugin/Threshold.pm b/lib/Nagios/Plugin/Threshold.pm
index 73fce53..95a089b 100644
--- a/lib/Nagios/Plugin/Threshold.pm
+++ b/lib/Nagios/Plugin/Threshold.pm
@@ -16,11 +16,16 @@ sub get_status
16{ 16{
17 my ($self, $value) = @_; 17 my ($self, $value) = @_;
18 18
19 if ($self->critical->is_set) { 19 $value = [ $value ] if (ref $value eq "");
20 return CRITICAL if $self->critical->check_range($value); 20 foreach my $v (@$value) {
21 if ($self->critical->is_set) {
22 return CRITICAL if $self->critical->check_range($v);
23 }
21 } 24 }
22 if ($self->warning->is_set) { 25 foreach my $v (@$value) {
23 return WARNING if $self->warning->check_range($value); 26 if ($self->warning->is_set) {
27 return WARNING if $self->warning->check_range($v);
28 }
24 } 29 }
25 return OK; 30 return OK;
26} 31}