Build precise queries to find exactly what you need
Press ESC to close
@lucabert
Favorites0
Views
Projects0
Hi, Unfortunately your script has problems with Apache 2.4 and, since Apache 2.4.18, can't retrieve the right data. Here the patch: --- new/check_apache_auto.pl 2016-08-29 13:33:49.398437552 +0200 +++ orig/check_apache_auto.pl 2016-08-29 13:33:35.070152746 +0200 @@ -5,6 +5,8 @@ use LWP::UserAgent; use HTTP::Request; +# WARNING: This version of the script only works with Apache 2.4.13 or higher (changes to mod_status broke the script) +# See edits on lines 172ff sub help() { print timeout(10); @@ -167,6 +171,18 @@ @recolte = split(/n/,$htmlbrut); splice (@recolte, 0, $topnbr); splice (@recolte, -$endnbr); + @recolte = grep /S/, @recolte; + +# Only lines with key: value will be used + my $recolte_index = 0; + foreach (@recolte) { + if (@recolte[$recolte_index] =~ /^.+:.+$/) { + $recolte_index++; + } else { + # remove entry if it doesn't match + splice (@recolte, $recolte_index, 1); + } + } #Debugging # print "$reqn"; @@ -252,6 +268,10 @@ %data = apache_status($server); +if(!exists $data{$mon}) +{ + $data{$mon} = 0; +} #Debugging #print "uptime=$data{'Uptime'}n"; @@ -263,10 +283,3 @@ print_result; exit; Regards
Reviewed 9 years ago