#!/bin/bash # Fehlercodes #RET 0:ok 1:warn 2:crit # VPN LTG IPs erreichbar RET Str # 0|0 up up alle 0 alles ok # 1|0 up down alle 1 Ltg down, VPN up, alle IPs erreichbar # 2|0 down up alle 0 alles ok # 3|0 down down alle 2 Ltg down, VPN down, alle IPs erreichbar. !!! FEHLER im CHECK !!! Impossible !!! # 0|x up up nicht alle 2 IP xyz down # 1|x up down nicht alle 2 Ltg down, IP ... # 2|x down up nicht alle 2 VPN down, IP ... # 3|x down down nicht alle 2 Ltg down, VPN down, IP ... COUNT=0 ERR=0 ping -A -c3 -W1 -n 192.168.236.29 > /dev/null 2>&1 if [ "$?" == "1" ]; then ((ERR=$ERR+1)) fi snmpwalk -ccon -v2c 10.101.0.230 1.3.6.1.4.1.9.9.171.1.2.3.1.7 | grep 217.110.106.133 > /dev/null 2>&1 if [ "$?" == "1" ]; then ((ERR=$ERR+2)) fi ping -A -c3 -W1 -n 10.36.41.10 > /dev/null 2>&1 if [ "$?" == "1" ]; then ((COUNT=$COUNT+1)); IPSTR="IP 10.36.41.10 down! "; fi ping -A -c3 -W1 -n 10.36.12.41 > /dev/null 2>&1 if [ "$?" == "1" ]; then ((COUNT=$COUNT+2)); I2="IP 10.36.12.41 down! "; IPSTR=$IPSTR$I2; fi ping -A -c3 -W1 -n 10.36.1.19 > /dev/null 2>&1 if [ "$?" == "1" ]; then ((COUNT=$COUNT+4)); I3="IP 10.36.1.19 down! "; IPSTR=$IPSTR$I3; fi ping -A -c3 -W1 -n 10.36.1.20 > /dev/null 2>&1 if [ "$?" == "1" ]; then ((COUNT=$COUNT+8)); I4="IP 10.36.1.20 down! "; IPSTR=$IPSTR$I4; fi ping -A -c3 -W1 -n 10.36.1.21 > /dev/null 2>&1 if [ "$?" == "1" ]; then ((COUNT=$COUNT+16)); I5="IP 10.36.1.21 down! "; IPSTR=$IPSTR$I5; fi ping -A -c3 -W1 -n 10.36.1.22 > /dev/null 2>&1 if [ "$?" == "1" ]; then ((COUNT=$COUNT+32)); I6="IP 10.36.1.22 down!"; IPSTR=$IPSTR$I6; fi if [ "$ERR" == "0" ]; then if [ "$COUNT" == "0" ]; then echo "alles ok"; exit 0; fi if [ "$COUNT" != "0" ]; then echo "$IPSTR"; exit 2; fi fi if [ "$ERR" == "1" ]; then if [ "$COUNT" == "0" ]; then echo "Ltg down, VPN up, alle IPs erreichbar!" exit 1; fi if [ "$COUNT" != "0" ]; then echo "Ltg down, $IPSTR"; exit 2; fi fi if [ "$ERR" == "2" ]; then if [ "$COUNT" == "0" ]; then echo "alles ok" exit 0; fi if [ "$COUNT" != "0" ]; then echo "VPN down, $IPSTR"; exit 2; fi fi if [ "$ERR" == "3" ]; then if [ "$COUNT" == "0" ]; then echo "Ltg down, VPN down, alle IPs erreichbar !!! FEHLER im CHECK !!!" exit 2; fi if [ "$COUNT" != "0" ]; then echo "Ltg down, VPN down, $IPSTR"; exit 2; fi fi