summaryrefslogtreecommitdiffstats
path: root/check_load
diff options
context:
space:
mode:
Diffstat (limited to 'check_load')
-rwxr-xr-xcheck_load14
1 files changed, 7 insertions, 7 deletions
diff --git a/check_load b/check_load
index 9f76b78..802839c 100755
--- a/check_load
+++ b/check_load
@@ -42,20 +42,20 @@ sub parse_thresholds($) {
my $arg = shift;
if ($arg) {
- if ($arg =~ m/([0-9]+),([0-9]+),([0-9]+)/) {
+ if ($arg =~ m/^([0-9]*),([0-9]*),([0-9]*)$/) {
return ($1, $2, $3);
}
- if ($arg =~ m/([0-9]+),([0-9]+)/) {
+ if ($arg =~ m/^([0-9]*),([0-9]*)$/) {
return ($1, $2, $2);
}
- if ($arg =~ m/([0-9]+)/) {
+ if ($arg =~ m/^([0-9]*)$/) {
return ($1, $1, $1);
}
}
- return (0, 0, 0);
+ return undef;
}
sub get_load($$) {
@@ -98,9 +98,9 @@ my (%warn, %crit);
($crit{'load1'}, $crit{'load5'}, $crit{'load15'}) = parse_thresholds($n->opts->c);
for my $load (qw( load1 load5 load15 )) {
- if ($crit{$load} < $warn{$load}) {
- $n->nagios_exit(UNKNOWN, "Parameter inconsistency: warning load" .
- "is greater than critical load for '$load'");
+ if (defined $crit{$load} && defined $warn{$load} && $crit{$load} < $warn{$load}) {
+ die("Parameter inconsistency: warning load is greater " .
+ "than critical load for '$load'");
}
}