diff options
author | mh <mh@immerda.ch> | 2011-02-06 23:58:46 +0100 |
---|---|---|
committer | mh <mh@immerda.ch> | 2011-02-06 23:58:46 +0100 |
commit | af846ae596b65be991b1648fcb3b8da02e9aeb1d (patch) | |
tree | fbfe33e6d7cd8eb545793ea86d79c9b2eb0288f7 | |
parent | 1c67b54b5df53f3cb07338729181e8fd22ca24f0 (diff) |
centosify irc_bot
-rw-r--r-- | manifests/irc_bot.pp | 28 | ||||
-rw-r--r-- | templates/irc_bot/CentOS/nagios-nsa.sh.erb | 102 | ||||
-rw-r--r-- | templates/irc_bot/Debian/nagios-nsa.sh.erb (renamed from templates/irc_bot/nagios-nsa.sh.erb) | 0 |
3 files changed, 122 insertions, 8 deletions
diff --git a/manifests/irc_bot.pp b/manifests/irc_bot.pp index 4092e67..46cea0c 100644 --- a/manifests/irc_bot.pp +++ b/manifests/irc_bot.pp @@ -34,7 +34,7 @@ class nagios::irc_bot { } file { "/etc/init.d/nagios-nsa": owner => root, group => root, mode => 0755, - content => template('nagios/irc_bot/nagios-nsa.sh.erb'), + content => template("nagios/irc_bot/${operatingsystem}/nagios-nsa.sh.erb"), require => File["/usr/local/bin/riseup-nagios-server.pl"], } file { "/etc/nagios_nsa.cfg": @@ -47,21 +47,33 @@ class nagios::irc_bot { ensure => present, } - exec { "nagios_nsa_init_script": - command => "/usr/sbin/update-rc.d nagios-nsa defaults", - unless => "/bin/ls /etc/rc3.d/ | /bin/grep nagios-nsa", - require => File["/etc/init.d/nagios-nsa"], - } service { "nagios-nsa": ensure => "running", - pattern => "riseup-nagios-server.pl", hasstatus => true, require => [File["/etc/nagios_nsa.cfg"], - Exec["nagios_nsa_init_script"], Package["libnet-irc-perl"], Service['nagios'] ], } + case $operatingsystem { + centos: { + Package['libnet-irc-perl']{ + name => 'perl-Net-IRC', + } + Service['nagios-nsa']{ + enable => true, + } + } + debian,ubuntu: { + exec { "nagios_nsa_init_script": + command => "/usr/sbin/update-rc.d nagios-nsa defaults", + unless => "/bin/ls /etc/rc3.d/ | /bin/grep nagios-nsa", + require => File["/etc/init.d/nagios-nsa"], + before => Service['nagios-nsa'], + } + } + } + nagios_command { "notify-by-irc": command_line => '/usr/local/bin/riseup-nagios-client.pl "$HOSTNAME$ ($SERVICEDESC$) $NOTIFICATIONTYPE$ n.$SERVICEATTEMPT$ $SERVICESTATETYPE$ $SERVICEEXECUTIONTIME$s $SERVICELATENCY$s $SERVICEOUTPUT$ $SERVICEPERFDATA$"'; diff --git a/templates/irc_bot/CentOS/nagios-nsa.sh.erb b/templates/irc_bot/CentOS/nagios-nsa.sh.erb new file mode 100644 index 0000000..a6cee66 --- /dev/null +++ b/templates/irc_bot/CentOS/nagios-nsa.sh.erb @@ -0,0 +1,102 @@ +#!/bin/sh +# +# nagios-nsa - manage nagios irc bot +# +# chkconfig: - 99 01 +# description: Nagios Simple IRC Agent + +### BEGIN INIT INFO +# Provides: nagios-nsa +# Required-Start: $nagios +# Required-Stop: $nagios +# Default-Start: 2 3 4 5 +# Default-Stop: 1 6 0 +# Short-Description: Nagios Simple IRC Agent +### END INIT INFO + +# Source function library. +. /etc/rc.d/init.d/functions + +exec="/usr/local/bin/riseup-nagios-server.pl" +prog="nsa" +PIDFILE=<%= nagios_nsa_pidfile %> +SOCKFILE=<%= nagios_nsa_socket %> + +[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog + +lockfile=/var/lock/subsys/$prog + +start() { + [ -x $exec ] || exit 5 + [ -f $config ] || exit 6 + echo -n $"Starting $prog: " + daemon --pidfile $PIDFILE --user nagios /usr/local/bin/riseup-nagios-server.pl + retval=$? + echo + [ $retval -eq 0 ] && touch $lockfile + return $retval +} + +stop() { + echo -n $"Stopping $prog: " + killproc -p $PIDFILE $prog + retval=$? + echo + [ $retval -eq 0 ] && rm -f $lockfile + return $retval +} + +restart() { + stop + start +} + +reload() { + restart +} + +force_reload() { + restart +} + +rh_status() { + # run checks to determine if the service is running or use generic status + status -p $PIDFILE $prog +} + +rh_status_q() { + rh_status >/dev/null 2>&1 +} + + +case "$1" in + start) + rh_status_q && exit 0 + $1 + ;; + stop) + rh_status_q || exit 0 + $1 + ;; + restart) + $1 + ;; + reload) + rh_status_q || exit 7 + $1 + ;; + force-reload) + force_reload + ;; + status) + rh_status + ;; + condrestart|try-restart) + rh_status_q || exit 0 + restart + ;; + *) + echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" + exit 2 +esac +exit $? diff --git a/templates/irc_bot/nagios-nsa.sh.erb b/templates/irc_bot/Debian/nagios-nsa.sh.erb index 6e608db..6e608db 100644 --- a/templates/irc_bot/nagios-nsa.sh.erb +++ b/templates/irc_bot/Debian/nagios-nsa.sh.erb |