Add scritps to monitor httpd
This commit is contained in:
parent
c04a3cfcd7
commit
9058167a9e
|
@ -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…
Reference in New Issue