-
Notifications
You must be signed in to change notification settings - Fork 0
/
synopsis.pl
41 lines (35 loc) · 986 Bytes
/
synopsis.pl
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
# A simple 'check_nrpe' version 2 clone
use strict;
use POE qw(Component::Client::NRPE);
use Getopt::Long;
$|=1;
my $command;
my $hostname;
my $return_code;
GetOptions("host=s", \$hostname, "command=s", \$command);
unless ( $hostname ) {
$! = 3;
die "No hostname specified\n";
}
POE::Session->create(
inline_states => {
_start =>
sub {
POE::Component::Client::NRPE->check_nrpe(
host => $hostname,
command => $command,
event => '_result',
);
return;
},
_result =>
sub {
my $result = $_[ARG0];
print STDOUT $result->{data}, "\n";
$return_code = $result->{result};
return;
},
}
);
$poe_kernel->run();
exit($return_code);