diff options
author | Alexander Sulfrian <alexander@sulfrian.net> | 2014-02-14 03:51:19 +0100 |
---|---|---|
committer | Alexander Sulfrian <alexander@sulfrian.net> | 2014-02-14 04:36:57 +0100 |
commit | 2388161afa4fed244b7333c7edab62c68ad7ec6c (patch) | |
tree | 40326819509b9b4ab07171f22f1a1cf34e6c0033 /check_load | |
parent | 6ccc388658b58bca0e89149c69bcc7bfa1cfed2f (diff) | |
download | vserver-monitoring-2388161afa4fed244b7333c7edab62c68ad7ec6c.tar.gz vserver-monitoring-2388161afa4fed244b7333c7edab62c68ad7ec6c.tar.bz2 vserver-monitoring-2388161afa4fed244b7333c7edab62c68ad7ec6c.zip |
use methods from new VServer.pm
Diffstat (limited to 'check_load')
-rwxr-xr-x | check_load | 48 |
1 files changed, 10 insertions, 38 deletions
@@ -58,31 +58,6 @@ sub parse_thresholds($) { return undef; } -sub get_load($$) { - my $n = shift; - my $context = shift; - - my $proc = VServer::get_proc_dir($context); - unless ($proc) { - $n->nagios_exit(UNKNOWN, "vserver not running"); - } - - open(my $cvirt, "<", "$proc/cvirt") || - $n->nagios_exit(UNKNOWN, "could not open '$proc/cvirt'"); - - my @load = undef; - while (<$cvirt>) { - if ($_ =~ m/^loadavg:\s*([0-9.]+)\s*([0-9.]+)\s*([0-9.]+)$/) { - @load = ($1, $2, $3); - last; - } - } - - close($cvirt); - - return @load; -} - # fix taint mode if ($0 =~ m/(\w[\w\/]*\w)/) { @@ -119,30 +94,27 @@ unless ($context) { $n->nagios_exit(UNKNOWN, "vserver '$vserver' not found"); } -my @load = get_load($n, $context); +my $load = VServer::get_loadavg($id); if (@load) { - my %values; - ($values{'load1'}, $values{'load5'}, $values{'load15'}) = @load; - my @status = [ UNKNOWN ]; my $output = ""; - for my $load (qw( load1 load5 load15 )) { - $n->add_perfdata(label => $load, - value => $values{$load}, - warning => $warn{$load}, - critical => $crit{$load}, + for my $key (qw( load1 load5 load15 )) { + $n->add_perfdata(label => $key, + value => $load->{$key}, + warning => $warn{$key}, + critical => $crit{$key}, min => 0, ); push(@status, - $n->check_threshold(check => $values{$load}, - warning => $warn{$load}, - critical => $crit{$load} + $n->check_threshold(check => $load->{$key}, + warning => $warn{$key}, + critical => $crit{$key} ) ); - $output .= " $values{$load}"; + $output .= " $load->{$key}"; } $n->nagios_exit($n->max_state(@status), "load average:$output"); |