Add scritps to monitor httpd

This commit is contained in:
Daniel Berteaud 2016-11-09 16:26:34 +01:00
parent c04a3cfcd7
commit 9058167a9e
3 changed files with 69 additions and 0 deletions

6
zabbix_conf/httpd.conf Normal file
View File

@ -0,0 +1,6 @@
# Discover if an httpd instance is running and has mod_status available on http://127.0.0.1/server-status
# Just return {#HTTPD_STATUS_AVAILABLE} => 'yes' if found
UserParameter=httpd.discovery,/var/lib/zabbix/bin/disco_httpd
# Stats to get
UserParameter=httpd[*],/var/lib/zabbix/bin/check_httpd -w $1

View File

@ -0,0 +1,45 @@
#!/usr/bin/env perl -w
use strict;
use warnings;
use LWP::Simple;
use Getopt::Long;
my $what = undef;
my $help = 0;
GetOptions(
"what=s" => \$what,
"help" => \$help
);
my %res = ();
my $status = get("http://127.0.0.1/server-status?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;
$val =~ s/^\s+|\s+$//g;
$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;

View File

@ -0,0 +1,18 @@
#!/usr/bin/env perl -w
use strict;
use warnings;
use LWP::Simple;
use JSON;
my $json;
@{$json->{data}} = ();
my $status = get('http://127.0.0.1/server-status?auto');
if ($status){
push @{$json->{data}}, {"{#HTTPD_STATUS_AVAILABLE}" => 'yes'};
}
print to_json($json);
exit(0);