From 36f40d47f3c583ec302a192f9940a32bfe66ae3f Mon Sep 17 00:00:00 2001 From: mh Date: Mon, 28 Jun 2010 22:36:41 +0200 Subject: deploy nagios plugin and define command --- files/nagios/check_jabber_login | 30 ++++++++++++++++++++++++++++++ manifests/nagios.pp | 10 ++++++++++ 2 files changed, 40 insertions(+) create mode 100644 files/nagios/check_jabber_login diff --git a/files/nagios/check_jabber_login b/files/nagios/check_jabber_login new file mode 100644 index 0000000..dac0e1f --- /dev/null +++ b/files/nagios/check_jabber_login @@ -0,0 +1,30 @@ +#!/usr/bin/env ruby +require 'rubygems' +require 'xmpp4r' + + +def usage + puts "#{$0} jabberid password" + exit 3 +end + +usage unless ARGV.size == 2 + +begin + my_client = Jabber::Client.new(ARGV[0]) + my_client.connect + my_client.auth(ARGV[1]) +rescue Jabber::ClientAuthenticationFailure => detail + puts "CRITICAL: Login Error" + exit 2 +rescue Errno::ECONNREFUSED => detail + puts "CRITICAL: Connection refused" + exit 2 +rescue SocketError => detail + puts "CRITICAL: Socket Error" + exit 2 +#rescue +# puts "CRITICAL: Unknown Error" +# exit 2 +end +puts "OK: Login for #{ARGV[0]} successfull" diff --git a/manifests/nagios.pp b/manifests/nagios.pp index 05874dd..eafcb1f 100644 --- a/manifests/nagios.pp +++ b/manifests/nagios.pp @@ -10,6 +10,16 @@ class ejabberd::nagios { '': { $jabber_nagios_user = 'nagios' } } + @@nagios::plugin{'check_jabber_login': + source => 'ejabberd/nagios/check_jabber_login'; + } + + @@nagios_command{ + 'check_jabber_login': + command_line => '$USER1$/check_jabber_login $ARG1$ $ARG2$', + require => Nagios::Plugin['check_jabber_login']; + } + case $jabber_nagios_pwd { '': { info("no \$jabber_nagios_pwd supplied for ${fqdn}! Can't test jabber login") } default: { -- cgit v1.2.3