Random Project

Patch for Apache 2.4

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