fff-scripte/monitoring.sh
2018-03-05 22:30:05 +01:00

169 lines
3.4 KiB
Bash
Executable File

#!/bin/bash
#empfaenger="+491608271789"
#function send_message () {
# #echo "Message: $1"
# for telefon in $empfaenger
# do
# echo -e "$1" | signal-cli -u +4915223927526 send $telefon
## echo "echo -e \"$1\" \| signal-cli -u +4915223927526 send $telefon"
## echo "signal-cli -u +4915223927526 send -m \"$1\" $telefon"
# done
#}
function send_message() {
PUSHOVERMESSAGE="$1"
curl \
`#--silent# ` \
`#--insecure --proxy "$CURLPROXY" ` \
--form-string "token=a5ju5wf34goaqr4juzpeuf2v4iuf4b" \
--form-string "user=u44drxvefhqrehxid8f131d9v5nit4" \
--form-string "message=$PUSHOVERMESSAGE" \
--form-string "title=Gateway Status" \
--form-string "priority=" \
--form-string "device=" \
https://api.pushover.net/1/messages.json
}
fehlermeldung="$(hostname)"
########################################################
# ping-Tests
#Mullvad test
if ! ping -c 4 -I mullvad 8.8.8.8 > /dev/null 2>&1
then
echo "Mullvad-Tunnel broken"
fehler=1
fehlermeldung="$fehlermeldung\nMullvad-Tunnel broken"
else
echo "OK"
fi
#fff-has test
if ! ping -c 4 -I fff-has 10.50.252.158 > /dev/null 2>&1
then
echo "GRE fff-has broken"
fehler=1
fehlermeldung="$fehlermeldung\nGRE-Tunnel: fff-has broken"
else
echo "OK"
fi
if ! ping -c 4 -I fff-has2 10.50.252.160 > /dev/null 2>&1
then
echo "GRE fff-has2 broken"
fehler=1
fehlermeldung="$fehlermeldung\nGRE-Tunnel: fff-has2 broken"
else
echo "OK"
fi
if ! ping -c 4 -I fff-wue1 10.50.252.164 > /dev/null 2>&1
then
echo "GRE fff-wue1 broken"
fehler=1
fehlermeldung="$fehlermeldung\nGRE-Tunnel: fff-wue1 broken"
else
echo "OK"
fi
########################################################
# batctl Version test
if [ ! "$(batctl -v | awk '{print $2}')" = "2013.4.0" ]
then
echo "batctl: Version falsch"
fehler=1
fehlermeldung="$fehlermeldung\nbatctl: Version falsch"
else
echo "OK"
fi
########################################################
# Daemons test
if systemctl is-failed fastd.service > /dev/null 2>&1
then
echo "fastd läuft nicht"
fehler=1
fehlermeldung="$fehlermeldung\nfastd: not active"
else
echo "OK"
fi
if systemctl is-failed babeld.service > /dev/null 2>&1
then
echo "babeld läuft nicht"
fehler=1
fehlermeldung="$fehlermeldung\nbabeld: not active"
else
echo "OK"
fi
if systemctl is-failed babelweb.service > /dev/null 2>&1
then
echo "babelweb läuft nicht"
fehler=1
fehlermeldung="$fehlermeldung\nbabelweb: not active"
else
echo "OK"
fi
if systemctl is-failed vnstat.service > /dev/null 2>&1
then
echo "vnstat läuft nicht"
fehler=1
fehlermeldung="$fehlermeldung\nvnstat: not active"
else
echo "OK"
fi
if systemctl is-failed isc-dhcp-server.service > /dev/null 2>&1
then
echo "dhcp-Server läuft nicht"
fehler=1
fehlermeldung="$fehlermeldung\nisc-dhcp-server: not active"
else
echo "OK"
fi
if systemctl is-failed bind9.service > /dev/null 2>&1
then
echo "bind9 läuft nicht"
fehler=1
fehlermeldung="$fehlermeldung\nbind9: not active"
else
echo "OK"
fi
if systemctl is-failed apache2.service > /dev/null 2>&1
then
echo "apache2 läuft nicht"
fehler=1
fehlermeldung="$fehlermeldung\napache2: not active"
else
echo "OK"
fi
if systemctl is-failed openvpn.service > /dev/null 2>&1
then
echo "openvpn läuft nicht"
fehler=1
fehlermeldung="$fehlermeldung\nopenvpn: not active"
else
echo "OK"
fi
########################################################
# Auswertung und Benachrichtigung
if [ "$fehler" = "1" ]
then
send_message "$(echo -e $fehlermeldung)"
fi