diff --git a/check_apache_balancer_members/Makefile b/check_apache_balancer_members/Makefile
new file mode 100644
index 0000000..52de70c
--- /dev/null
+++ b/check_apache_balancer_members/Makefile
@@ -0,0 +1,4 @@
+#/usr/bin/make -f
+
+include ../common.mk
+
diff --git a/check_apache_balancer_members/check_apache_balancer_members b/check_apache_balancer_members/check_apache_balancer_members
new file mode 100644
index 0000000..e83ff68
--- /dev/null
+++ b/check_apache_balancer_members/check_apache_balancer_members
@@ -0,0 +1,55 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+use LWP::Simple;
+use Data::Dump qw(dump); #libdata-dump-perl
+use Nagios::Plugin; #libnagios-plugin-perl
+use Web::Scraper; #libweb-scraper-perl
+
+my $np = Nagios::Plugin->new(
+ usage => '',
+ plugin => $0,
+ shortname => "Balancer Members",
+ blurb => 'Apache 2 Load Balancer Manager Members',
+ timeout => 10
+);
+
+$np->add_arg(
+ spec => 'hostname|h=s',
+ help => 'hostname of the apache server',
+ required => 1
+);
+
+$np->add_arg(
+ spec => 'path|p=s',
+ help => 'path to the balancer url',
+ required => 1
+);
+
+$np->getopts;
+
+my $response = get("http://".$np->opts->hostname."/".$np->opts->path);
+my $s = scraper {
+ process 'table:nth-of-type(2) tr:not(:first-child)', 'members[]' => scraper {
+ process 'td:nth-of-type(1)', 'worker' => 'TEXT';
+ process 'td:nth-of-type(6)', 'status' => 'TEXT';
+ process 'td:nth-of-type(7)', 'elected' => 'TEXT';
+ process 'td:nth-of-type(8)', 'to' => 'TEXT';
+ process 'td:nth-of-type(9)', 'from' => 'TEXT';
+ }
+};
+
+my $results = $s->scrape($response);
+
+my @problemMembers = ();
+my $at_least_one_is_ok = 0;
+
+foreach my $member (@{$results->{'members'}})
+{
+ push @problemMembers, $member->{'worker'} if $member->{'status'} =~ /Err/i;
+ $at_least_one_is_ok = 1 if $member->{'status'} =~ /Ok\s?$/;
+}
+
+$np->nagios_exit('CRITICAL', "No members are Ok; there is a problem") unless $at_least_one_is_ok;
+$np->nagios_exit('CRITICAL', "Members have errors: " . join (", ", @problemMembers)) if (@problemMembers > 0);
+$np->nagios_exit('OK', "All members functioning correctly");
diff --git a/check_apache_balancer_members/control b/check_apache_balancer_members/control
new file mode 100644
index 0000000..a7fa8aa
--- /dev/null
+++ b/check_apache_balancer_members/control
@@ -0,0 +1,6 @@
+Homepage: https://raw.github.com/mintsoft/check_apache_balancer_members/master/check_apache_balancer_members.pl
+Watch: https://github.com/mintsoft/check_apache_balancer_members ]*>\s+([0-9a-f]+)\s+
+Recommends: libdata-dump-perl, libweb-scraper-perl, libmonitoring-plugin-perl | libnagios-plugin-perl
+Version: a9827f1
+Uploaders: Jan Wagner
+Description: plugin to monitor Apache2 balancer_manager
diff --git a/check_apache_balancer_members/copyright b/check_apache_balancer_members/copyright
new file mode 100644
index 0000000..6e1ac54
--- /dev/null
+++ b/check_apache_balancer_members/copyright
@@ -0,0 +1,15 @@
+Copyright Copyright 2015 Robert Emery/Codeweavers Ltd
+
+License: Apache-2.0
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/debian/patches/check_apache_balancer_members/MonitoringPlugin b/debian/patches/check_apache_balancer_members/MonitoringPlugin
new file mode 100644
index 0000000..32627f0
--- /dev/null
+++ b/debian/patches/check_apache_balancer_members/MonitoringPlugin
@@ -0,0 +1,47 @@
+From a9a62a4c646acac9a2db826c529efcc599786a93 Mon Sep 17 00:00:00 2001
+From: Jan Wagner
+Date: Mon, 29 May 2017 12:37:12 +0200
+Subject: [PATCH] Adding support for Monitoring::Plugin
+
+---
+ check_apache_balancer_members.pl | 25 +++++++++++++++++++++++--
+ 1 file changed, 23 insertions(+), 2 deletions(-)
+
+diff --git a/check_apache_balancer_members/check_apache_balancer_members b/check_apache_balancer_members/check_apache_balancer_members
+index e83ff68..3c811fd 100644
+--- a/check_apache_balancer_members/check_apache_balancer_members
++++ b/check_apache_balancer_members/check_apache_balancer_members
+@@ -3,10 +3,31 @@
+ use warnings;
+ use LWP::Simple;
+ use Data::Dump qw(dump); #libdata-dump-perl
+-use Nagios::Plugin; #libnagios-plugin-perl
+ use Web::Scraper; #libweb-scraper-perl
+
+-my $np = Nagios::Plugin->new(
++sub load_module {
++ my @names = @_;
++ my $module;
++ for my $name (@names) {
++ my $file = $name;
++ # requires need either a bare word or a file name
++ $file =~ s{::}{/}gsxm;
++ $file .= '.pm';
++ eval {
++ require $file;
++ $name->import();
++ $module = $name;
++ };
++ last if $module;
++ }
++ return $module;
++}
++
++my $plugin_module;
++
++$plugin_module = load_module( 'Monitoring::Plugin', 'Nagios::Plugin' ); #libmonitoring-plugin-perl or libnagios-plugin-perl
++
++my $np = $plugin_module->new(
+ usage => '',
+ plugin => $0,
+ shortname => "Balancer Members",
diff --git a/debian/patches/check_apache_balancer_members/epn b/debian/patches/check_apache_balancer_members/epn
new file mode 100644
index 0000000..019644d
--- /dev/null
+++ b/debian/patches/check_apache_balancer_members/epn
@@ -0,0 +1,10 @@
+diff --git a/check_apache_balancer_members/check_apache_balancer_members b/check_apache_balancer_members/check_apache_balancer_members
+index e83ff68..1cb63da 100644
+--- a/check_apache_balancer_members/check_apache_balancer_members
++++ b/check_apache_balancer_members/check_apache_balancer_members
+@@ -1,4 +1,5 @@
+ #!/usr/bin/perl
++# nagios: -epn
+ use strict;
+ use warnings;
+ use LWP::Simple;
diff --git a/debian/patches/series b/debian/patches/series
index a21cfb0..6501d9f 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,5 @@
+check_apache_balancer_members/MonitoringPlugin
+check_apache_balancer_members/epn
check_ipsec/10_pathes
check_ipsec/15_fix_syntax
check_ipsec/20_remove_gateway