blob: 8e47f4a196df2fed8ea2b311542c89bd8f9df3b4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
--- a/check_haproxy/check_haproxy
+++ b/check_haproxy/check_haproxy
@@ -31,7 +31,28 @@
use Time::HiRes qw(time); # get microtime
use POSIX qw(mktime);
-use Nagios::Plugin ;
+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;
+BEGIN {
+ $plugin_module = load_module( 'Monitoring::Plugin', 'Nagios::Plugin' );
+}
use LWP::UserAgent; # http client
use HTTP::Request; # used by LWP::UserAgent
@@ -53,7 +74,7 @@
textdomain('nagios-plugins-perl');
-my $np = Nagios::Plugin->new(
+my $np = $plugin_module->new(
version => $VERSION,
blurb => _gt('Plugin to check HAProxy stats url'),
usage => "Usage: %s [ -v|--verbose ] -u <url> [-t <timeout>] [-U <username>] [-P <password>] [ -c|--critical=<threshold> ] [ -w|--warning=<threshold> ]",
@@ -319,4 +340,4 @@
Stéphane Urbanovski <mail_redacted_for_web>
-=cut
\ No newline at end of file
+=cut
|