Add scritps to monitor httpd

tags/zabbix-agent-addons-0.2.20-1
Daniel Berteaud 8 years ago
parent c04a3cfcd7
commit 9058167a9e
  1. 6
      zabbix_conf/httpd.conf
  2. 45
      zabbix_scripts/check_httpd
  3. 18
      zabbix_scripts/disco_httpd

@ -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

@ -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;

@ -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);
Loading…
Cancel
Save