From 7c9f6d224d9bf66bc1c69b1baa066f98b9302999 Mon Sep 17 00:00:00 2001 From: Gabriel Filion Date: Tue, 14 Dec 2010 15:14:54 -0500 Subject: Add nagios IRC bot Koumbit is using an IRC bot that Micah provided. It is a pair of perl scripts that send Nagios notifications as messages in an IRC channel. Add a class to make installing this IRC bot easy. It also defines commands 'notify-by-irc' and 'host-notify-by-irc' that can be used with checks to send notifications via the bot. Signed-off-by: Gabriel Filion --- templates/irc_bot/nagios-nsa.sh.erb | 71 +++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 templates/irc_bot/nagios-nsa.sh.erb (limited to 'templates/irc_bot/nagios-nsa.sh.erb') diff --git a/templates/irc_bot/nagios-nsa.sh.erb b/templates/irc_bot/nagios-nsa.sh.erb new file mode 100644 index 0000000..61cc063 --- /dev/null +++ b/templates/irc_bot/nagios-nsa.sh.erb @@ -0,0 +1,71 @@ +#! /bin/sh + +### BEGIN INIT INFO +# Provides: nagios-nsa +# Required-Start: $remote_fs $syslog $nagios +# Required-Stop: $remote_fs $syslog $nagios +# Default-Start: 2 3 4 5 +# Default-Stop: 1 6 0 +# Short-Description: Nagios Simple IRC Agent +### END INIT INFO + +PIDFILE=<%= nagios_nsa_pidfile %> +SOCKFILE=<%= nagios_nsa_socket %> + +. /lib/lsb/init-functions + +start() { + log_daemon_msg "Starting nagios IRC bot" "nagios-nsa" + if start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE --user nagios --exec /usr/local/bin/riseup-nagios-server.pl; then + log_end_msg 0 + else + log_end_msg 1 + fi +} + +stop () { + log_daemon_msg "Stopping nagios IRC bot" "nagios-nsa" + if start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE; then + log_end_msg 0 + else + log_end_msg 1 + fi +} + +remove_socket() { + [ -e $SOCKFILE ] && rm $SOCKFILE +} + +cleanup() { + if [ -r $PIDFILE ]; then + ps -p `cat $PIDFILE` | grep -v 'PID' || { + echo "not running" + remove_socket + } + else + echo "no pid file" + remove_socket + fi +} + +case $1 +in + start) + start + ;; + stop) + stop + ;; + restart) + stop + cleanup + start + ;; + status) + status_of_proc -p $PIDFILE /usr/local/bin/riseup-nagios-server.pl && exit 0 || exit $? + ;; + *) + log_action_msg "Usage: /etc/init.d/nagios-nsa {start|stop|restart|status}" + exit 1 +esac + -- cgit v1.2.3 From 3de9b084b260a1625bfba803a4ff4d68f89d2260 Mon Sep 17 00:00:00 2001 From: Gabriel Filion Date: Wed, 26 Jan 2011 12:18:55 -0500 Subject: irc bot: Adjust arguments to start-stop-daemon The start method lacks a parameter that sets the daemon with the right uid: --chuid The stop method does not error out when trying to stop a daemon that does not run. Now the daemon should behave better. --- templates/irc_bot/nagios-nsa.sh.erb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'templates/irc_bot/nagios-nsa.sh.erb') diff --git a/templates/irc_bot/nagios-nsa.sh.erb b/templates/irc_bot/nagios-nsa.sh.erb index 61cc063..6e608db 100644 --- a/templates/irc_bot/nagios-nsa.sh.erb +++ b/templates/irc_bot/nagios-nsa.sh.erb @@ -16,7 +16,7 @@ SOCKFILE=<%= nagios_nsa_socket %> start() { log_daemon_msg "Starting nagios IRC bot" "nagios-nsa" - if start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE --user nagios --exec /usr/local/bin/riseup-nagios-server.pl; then + if start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE --user nagios --chuid nagios --exec /usr/local/bin/riseup-nagios-server.pl; then log_end_msg 0 else log_end_msg 1 @@ -25,7 +25,7 @@ start() { stop () { log_daemon_msg "Stopping nagios IRC bot" "nagios-nsa" - if start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE; then + if start-stop-daemon --stop --quiet --pidfile $PIDFILE; then log_end_msg 0 else log_end_msg 1 -- cgit v1.2.3