zabbix-agent-addons/zabbix_scripts/check_httpd
2016-11-09 17:41:55 +01:00

51 lines
804 B
Perl

#!/usr/bin/perl -w
use strict;
use warnings;
use LWP::Simple;
use Getopt::Long;
my $uri = 'http://127.0.0.1/server-status';
my $what = undef;
my $help = 0;
GetOptions(
"uri=s" => \$uri,
"what=s" => \$what,
"help" => \$help
);
my %res = ();
my $status = get($uri . '?auto');
unless ($status){
print 'ZBX_UNSUPPOTED';
exit 1;
}
foreach my $line (split(/\n/, $status)){
my ($key, $val) = split(/:/, $line);
$key =~ s/\s/_/g;
$key = lc $key;
# Remove leading and trailing spaces
$val =~ s/^\s+|\s+$//g;
# Add 0 before the . when needed
$val =~ s/^(\.\d+)$/0$1/;
$res{$key} = $val;
}
if ($help || !$what){
print "Valid keys are:\n\n";
print "$_\n" for keys %res;
exit 0;
}
if (defined $res{$what}){
print $res{$what};
}
else{
print 'ZBX_UNSUPPOTED';
}
exit 0;