Search Exchange
Search All Sites
Nagios Live Webinars
Let our experts show you how Nagios can help your organization.Login
Directory Tree
Directory
lucabert
bylucabert, August 29, 2016
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 "$req\n";
@@ -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
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 "$req\n";
@@ -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