This repository has been archived on 2025-03-03. You can view files and clone it, but cannot push or open issues or pull requests.
nagios-scripts/check_ircd
2020-08-26 12:45:51 -07:00

48 lines
897 B
Bash
Executable File

#!/bin/bash
botname=nagiosbot
host=localhost
port=6667
warn=10
crit=15
while getopts 'H:p:w:c:' opt
do
case "$opt" in
H) host="$OPTARG";;
p) port="$OPTARG";;
w) warn="$OPTARG";;
c) crit="$OPTARG";;
esac
done
# if your netcat does not have the -i <interval> flag, modify the script below,
# putting this function in the pipeline between echo and nc
function delay {
while read line
do
sleep 1
echo $line
done
}
SECONDS=0
echo "NICK $botname
USER $botname 8 * : $botname" | nc -i 1 -q $crit -w $crit $host $port 2>&1 > /dev/null
exit=$?
if [ ! "$exit" == 0 ]; then
echo "IRCd CRITICAL: $host: connection failed"
exit $exit
fi
if [ "$SECONDS" -ge "$crit" ]; then
echo "IRCd CRITICAL: $host: check took $SECONDS"
exit 2
elif [ "$SECONDS" -ge "$warn" ]; then
echo "IRCd WARNING: $host: check took $SECONDS"
exit 1
else
echo "IRCd OK: $host: check took $SECONDS"
exit 0
fi