summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--files/plugins/check_jabber_login30
-rw-r--r--manifests/base.pp3
-rw-r--r--manifests/defaults/plugins.pp6
-rw-r--r--manifests/plugin.pp2
-rw-r--r--manifests/plugin/deploy.pp6
5 files changed, 38 insertions, 9 deletions
diff --git a/files/plugins/check_jabber_login b/files/plugins/check_jabber_login
new file mode 100644
index 0000000..dac0e1f
--- /dev/null
+++ b/files/plugins/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/base.pp b/manifests/base.pp
index 8b96308..0068cd5 100644
--- a/manifests/base.pp
+++ b/manifests/base.pp
@@ -71,8 +71,6 @@ class nagios::base {
notify => Service['nagios'],
mode => '0750', owner => root, group => nagios;
}
- Package <<| tag == 'nagios::plugin::deploy::package' |>>
- File <<| tag == 'nagios::plugin::deploy::file' |>>
Nagios_command <<||>>
Nagios_contactgroup <<||>>
Nagios_contact <<||>>
@@ -87,7 +85,6 @@ class nagios::base {
Nagios_serviceextinfo <<||>>
Nagios_service <<||>>
Nagios_timeperiod <<||>>
- File <<| tag == 'nagios_plugin' |>>
Nagios_command <||> {
target => "${nagios::defaults::vars::int_nagios_cfgdir}/conf.d/nagios_command.cfg",
diff --git a/manifests/defaults/plugins.pp b/manifests/defaults/plugins.pp
index 18f8161..b713354 100644
--- a/manifests/defaults/plugins.pp
+++ b/manifests/defaults/plugins.pp
@@ -1,5 +1,4 @@
class nagios::defaults::plugins {
-
nagios::plugin {
'check_mysql_health':
source => 'nagios/plugins/check_mysql_health';
@@ -7,6 +6,9 @@ class nagios::defaults::plugins {
source => 'nagios/plugins/check_dns2';
'check_dnsbl':
source => 'nagios/plugins/check_dnsbl';
+ 'check_jabber_login':
+ source => 'nagios/plugins/check_jabber_login';
}
-
+ # for check_jabber_login
+ require rubygems::xmpp4r
}
diff --git a/manifests/plugin.pp b/manifests/plugin.pp
index abaa6e5..c2e7676 100644
--- a/manifests/plugin.pp
+++ b/manifests/plugin.pp
@@ -2,7 +2,7 @@ define nagios::plugin(
$source = 'absent',
$ensure = present
){
- @@file{$name:
+ file{$name:
path => $hardwaremodel ? {
'x86_64' => "/usr/lib64/nagios/plugins/$name",
default => "/usr/lib/nagios/plugins/$name",
diff --git a/manifests/plugin/deploy.pp b/manifests/plugin/deploy.pp
index 75f87d7..96fea41 100644
--- a/manifests/plugin/deploy.pp
+++ b/manifests/plugin/deploy.pp
@@ -10,14 +10,14 @@ define nagios::plugin::deploy($source = '', $ensure = 'present', $config = '', $
}
if !defined(Package[$require_package]) {
- @@package { $require_package:
+ package { $require_package:
ensure => installed,
tag => "nagios::plugin::deploy::package";
}
}
include nagios::plugin::scriptpaths
- @@file { "nagios_plugin_${name}":
+ file { "nagios_plugin_${name}":
path => "$nagios::plugin::scriptpaths::script_path/${name}",
source => "puppet://$server/modules/$real_source",
mode => 0755, owner => root, group => 0,
@@ -26,5 +26,5 @@ define nagios::plugin::deploy($source = '', $ensure = 'present', $config = '', $
}
# register the plugin
- @@nagios::plugin{$name: ensure => $ensure, require => Package['nagios-plugins'] }
+ nagios::plugin{$name: ensure => $ensure, require => Package['nagios-plugins'] }
}