initial commit

This commit is contained in:
sceox 2020-08-26 12:45:51 -07:00
commit a0f31b1439
3 changed files with 90 additions and 0 deletions

7
README.md Normal file
View File

@ -0,0 +1,7 @@
Simple nagios monitoring scripts.
`check_ircd` attempts to connect to an IRC server.
`check_senderscore` checks the senderscore (a metric for whether an IP address
tends to send spam email) of an IP address.

47
check_ircd Executable file
View File

@ -0,0 +1,47 @@
#!/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

36
check_senderscore Executable file
View File

@ -0,0 +1,36 @@
#!/bin/sh
# bare-bones check_senderscore plugin for nagios
# default thresholds
warn=95
crit=90
while getopts 'H:w:c:' opt
do
case "$opt" in
H) host="$OPTARG";;
w) warn="$OPTARG";;
c) crit="$OPTARG";;
esac
done
revip=`echo $host | awk -F . '{print $4"."$3"."$2"."$1".score.senderscore.com"}'`
score=`dig a $revip +short | awk -F . '{print $4""}'`
if [ -z "$score" ]; then
echo 'SenderScore OK:' "$host" '(no score yet)'
exit 0 # ok
elif [ "$score" -gt "$warn" ]; then
echo 'SenderScore OK:' "$host:" $score
exit 0 # ok
elif [ $score -gt $crit ]; then
echo 'SenderScore WARNING:' "$host:" $score
exit 1 # warning
elif [ $score -le $crit ]; then
echo 'SenderScore CRITICAL:' "$host:" $score
exit 2 # critical
else
echo 'SenderScore UNKNOWN'
exit 3 # unknown
fi