diff --git a/check_kibana/Makefile b/check_kibana/Makefile new file mode 100644 index 0000000..52de70c --- /dev/null +++ b/check_kibana/Makefile @@ -0,0 +1,4 @@ +#/usr/bin/make -f + +include ../common.mk + diff --git a/check_kibana/check_kibana b/check_kibana/check_kibana new file mode 100644 index 0000000..df26d55 --- /dev/null +++ b/check_kibana/check_kibana @@ -0,0 +1,207 @@ +#!/usr/bin/perl +############################################################################## +# +# Nagios check_kibana plugin +# +# License: GPL +# Copyright (c) 2013 Joerg Linge +# +# Description: +# +# This plugin is used to query kibana ( http://kibana.org ) +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +############################################################################## + +use strict; +use warnings; +use utf8; +use Encode qw( encode_utf8 ); +use URI::Escape; +use Data::Dumper; +use Nagios::Plugin; + +unless ( eval 'use JSON::XS;1' ){ + die "Perl Module JSON::XS not found"; +} +unless ( eval 'use LWP::Simple;1' ){ + die "Perl Module LWP::Simple not found"; +} +unless ( eval "use Nagios::Plugin;1" ){ + die "Perl Module Nagios::Plugin not found"; +} +unless ( eval "use MIME::Base64;1" ){ + die "Perl Module MIME::Base84 not found"; +} + +my $np = Nagios::Plugin->new( + usage => "Usage: %s [-t ] " . "[-U ]", + version => '0.1', + plugin => 'check_kibana', + timeout => 15, +); + +$np->add_arg( + spec => 'url|U=s', + help => + '-U, --url=. URL to Kibana Webinterface' +); + +$np->add_arg( + spec => 'query|q=s', + help => + '-q, --query=. Base64 encoded Query as shown in the Kibana UI' +); + +$np->add_arg( + spec => 'label|l=s', + help => + '-l, --label=