initial commit
This commit is contained in:
104
api/perl/examples/dump.pl
Executable file
104
api/perl/examples/dump.pl
Executable file
@@ -0,0 +1,104 @@
|
||||
#!/usr/bin/env perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
dump.pl - print some information from a socket
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
./dump.pl [ -h ] [ -v ] <socket|server>
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
this script print some information from a given livestatus socket or server
|
||||
|
||||
=head1 ARGUMENTS
|
||||
|
||||
script has the following arguments
|
||||
|
||||
=over 4
|
||||
|
||||
=item help
|
||||
|
||||
-h
|
||||
|
||||
print help and exit
|
||||
|
||||
=item verbose
|
||||
|
||||
-v
|
||||
|
||||
verbose output
|
||||
|
||||
=item socket/server
|
||||
|
||||
server local socket file or
|
||||
|
||||
server remote address of livestatus
|
||||
|
||||
=back
|
||||
|
||||
=head1 EXAMPLE
|
||||
|
||||
./dump.pl /tmp/live.sock
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
2009, Sven Nierlein, <nierlein@cpan.org>
|
||||
|
||||
=cut
|
||||
|
||||
use warnings;
|
||||
use strict;
|
||||
use Data::Dumper;
|
||||
use Getopt::Long;
|
||||
use Pod::Usage;
|
||||
use lib 'lib';
|
||||
use lib '../lib';
|
||||
use Monitoring::Livestatus;
|
||||
|
||||
$Data::Dumper::Sortkeys = 1;
|
||||
|
||||
#########################################################################
|
||||
# parse and check cmd line arguments
|
||||
my ($opt_h, $opt_v, $opt_f);
|
||||
Getopt::Long::Configure('no_ignore_case');
|
||||
if(!GetOptions (
|
||||
"h" => \$opt_h,
|
||||
"v" => \$opt_v,
|
||||
"<>" => \&add_file,
|
||||
)) {
|
||||
pod2usage( { -verbose => 1, -message => 'error in options' } );
|
||||
exit 3;
|
||||
}
|
||||
|
||||
if(defined $opt_h) {
|
||||
pod2usage( { -verbose => 1 } );
|
||||
exit 3;
|
||||
}
|
||||
my $verbose = 0;
|
||||
if(defined $opt_v) {
|
||||
$verbose = 1;
|
||||
}
|
||||
|
||||
if(!defined $opt_f) {
|
||||
pod2usage( { -verbose => 1, -message => 'socket/server is a required option' } );
|
||||
exit 3;
|
||||
}
|
||||
|
||||
#########################################################################
|
||||
my $nl = Monitoring::Livestatus->new( peer => $opt_f, verbose => $opt_v );
|
||||
|
||||
#########################################################################
|
||||
#my $hosts = $nl->selectall_hashref('GET hosts', 'name');
|
||||
#print Dumper($hosts);
|
||||
|
||||
#########################################################################
|
||||
my $services = $nl->selectall_arrayref("GET services\nColumns: description host_name state\nLimit: 2", { Slice => {}});
|
||||
print Dumper($services);
|
||||
|
||||
#########################################################################
|
||||
sub add_file {
|
||||
my $file = shift;
|
||||
$opt_f = $file;
|
||||
}
|
||||
Reference in New Issue
Block a user