Revision bfa49cae
Added by Chris Buechler over 14 years ago
usr/local/bin/ping_hosts.sh | ||
---|---|---|
69 | 69 |
echo Processing $DSTIP |
70 | 70 |
# Look for a service being down |
71 | 71 |
ping -c $COUNT -S $SRCIP $DSTIP |
72 |
# if [ $? -eq 0 ]; then
|
|
73 |
# # Host is up
|
|
74 |
# # Read in previous status
|
|
75 |
# PREVIOUSSTATUS=`cat /var/db/pingstatus/$DSTIP`
|
|
76 |
# if [ "$PREVIOUSSTATUS" = "DOWN" ]; then
|
|
77 |
# # Service restored
|
|
78 |
# if [ "$SERVICERESTOREDSCRIPT" != "" ]; then
|
|
79 |
# echo "$DSTIP is UP, previous state was DOWN .. Running $SERVICERESTOREDSCRIPT"
|
|
80 |
# echo "$DSTIP is UP, previous state was DOWN .. Running $SERVICERESTOREDSCRIPT" | logger -p daemon.info -i -t PingMonitor
|
|
81 |
# sh -c $SERVICERESTOREDSCRIPT
|
|
82 |
# fi
|
|
83 |
# fi
|
|
84 |
# echo "UP" > /var/db/pingstatus/$DSTIP
|
|
85 |
# else
|
|
86 |
# # Host is down
|
|
87 |
# PREVIOUSSTATUS=`cat /var/db/pingstatus/$DSTIP`
|
|
88 |
# if [ "$PREVIOUSSTATUS" = "UP" ]; then
|
|
89 |
# # Service is down
|
|
90 |
# if [ "$FAILURESCRIPT" != "" ]; then
|
|
91 |
# echo "$DSTIP is DOWN, previous state was UP .. Running $FAILURESCRIPT"
|
|
92 |
# echo "$DSTIP is DOWN, previous state was UP .. Running $FAILURESCRIPT" | logger -p daemon.info -i -t PingMonitor
|
|
93 |
# sh -c $FAILURESCRIPT
|
|
94 |
# fi
|
|
95 |
# fi
|
|
96 |
# echo "DOWN" > /var/db/pingstatus/$DSTIP
|
|
97 |
# fi
|
|
98 |
# echo "Checking ping time $DSTIP"
|
|
99 |
# # Look at ping values themselves
|
|
100 |
# PINGTIME=`ping -c 1 -S $SRCIP $DSTIP | awk '{ print $7 }' | grep time | cut -d "=" -f2`
|
|
101 |
# echo "Ping returned $?"
|
|
102 |
# echo $PINGTIME > /var/db/pingmsstatus/$DSTIP
|
|
103 |
# if [ "$THRESHOLD" != "" ]; then
|
|
104 |
# if [ "$PINGTIME" -gt "$THRESHOLD" ]; then
|
|
105 |
# echo "$DSTIP has exceeded ping threshold $PINGTIME / $THRESHOLD .. Running $FAILURESCRIPT"
|
|
106 |
# echo "$DSTIP has exceeded ping threshold $PINGTIME / $THRESHOLD .. Running $FAILURESCRIPT" | logger -p daemon.info -i -t PingMonitor
|
|
107 |
# sh -c $FAILURESCRIPT
|
|
108 |
# fi
|
|
109 |
# fi
|
|
110 |
# # Wan ping time threshold
|
|
111 |
# WANTIME=`rrdtool fetch /var/db/rrd/wan-quality.rrd AVERAGE -r 120 -s -1min -e -1min | grep ":" | cut -f3 -d" " | cut -d"e" -f1`
|
|
112 |
# echo "Checking wan ping time $WANTIME"
|
|
113 |
# echo $WANTIME > /var/db/wanaverage
|
|
114 |
# if [ "$WANTHRESHOLD" != "" ]; then
|
|
115 |
# if [ "$WANTIME" -gt "$WANTHRESHOLD" ]; then
|
|
116 |
# echo "$DSTIP has exceeded wan ping threshold $WANTIME / $WANTHRESHOLD .. Running $FAILURESCRIPT"
|
|
117 |
# echo "$DSTIP has exceeded wan ping threshold $WANTIME / $WANTHRESHOLD .. Running $FAILURESCRIPT" | logger -p daemon.info -i -t PingMonitor
|
|
118 |
# sh -c $FAILURESCRIPT
|
|
119 |
# fi
|
|
120 |
# fi
|
|
121 |
# sleep 1
|
|
72 |
if [ $? -eq 0 ]; then |
|
73 |
# Host is up |
|
74 |
# Read in previous status |
|
75 |
PREVIOUSSTATUS=`cat /var/db/pingstatus/$DSTIP` |
|
76 |
if [ "$PREVIOUSSTATUS" = "DOWN" ]; then |
|
77 |
# Service restored |
|
78 |
if [ "$SERVICERESTOREDSCRIPT" != "" ]; then |
|
79 |
echo "$DSTIP is UP, previous state was DOWN .. Running $SERVICERESTOREDSCRIPT" |
|
80 |
echo "$DSTIP is UP, previous state was DOWN .. Running $SERVICERESTOREDSCRIPT" | logger -p daemon.info -i -t PingMonitor |
|
81 |
sh -c $SERVICERESTOREDSCRIPT |
|
82 |
fi |
|
83 |
fi |
|
84 |
echo "UP" > /var/db/pingstatus/$DSTIP |
|
85 |
else |
|
86 |
# Host is down |
|
87 |
PREVIOUSSTATUS=`cat /var/db/pingstatus/$DSTIP` |
|
88 |
if [ "$PREVIOUSSTATUS" = "UP" ]; then |
|
89 |
# Service is down |
|
90 |
if [ "$FAILURESCRIPT" != "" ]; then |
|
91 |
echo "$DSTIP is DOWN, previous state was UP .. Running $FAILURESCRIPT" |
|
92 |
echo "$DSTIP is DOWN, previous state was UP .. Running $FAILURESCRIPT" | logger -p daemon.info -i -t PingMonitor |
|
93 |
sh -c $FAILURESCRIPT |
|
94 |
fi |
|
95 |
fi |
|
96 |
echo "DOWN" > /var/db/pingstatus/$DSTIP |
|
97 |
fi |
|
98 |
echo "Checking ping time $DSTIP" |
|
99 |
# Look at ping values themselves |
|
100 |
PINGTIME=`ping -c 1 -S $SRCIP $DSTIP | awk '{ print $7 }' | grep time | cut -d "=" -f2` |
|
101 |
echo "Ping returned $?" |
|
102 |
echo $PINGTIME > /var/db/pingmsstatus/$DSTIP |
|
103 |
if [ "$THRESHOLD" != "" ]; then |
|
104 |
if [ "$PINGTIME" -gt "$THRESHOLD" ]; then |
|
105 |
echo "$DSTIP has exceeded ping threshold $PINGTIME / $THRESHOLD .. Running $FAILURESCRIPT" |
|
106 |
echo "$DSTIP has exceeded ping threshold $PINGTIME / $THRESHOLD .. Running $FAILURESCRIPT" | logger -p daemon.info -i -t PingMonitor |
|
107 |
sh -c $FAILURESCRIPT |
|
108 |
fi |
|
109 |
fi |
|
110 |
# Wan ping time threshold |
|
111 |
WANTIME=`rrdtool fetch /var/db/rrd/wan-quality.rrd AVERAGE -r 120 -s -1min -e -1min | grep ":" | cut -f3 -d" " | cut -d"e" -f1` |
|
112 |
echo "Checking wan ping time $WANTIME" |
|
113 |
echo $WANTIME > /var/db/wanaverage |
|
114 |
if [ "$WANTHRESHOLD" != "" ]; then |
|
115 |
if [ "$WANTIME" -gt "$WANTHRESHOLD" ]; then |
|
116 |
echo "$DSTIP has exceeded wan ping threshold $WANTIME / $WANTHRESHOLD .. Running $FAILURESCRIPT" |
|
117 |
echo "$DSTIP has exceeded wan ping threshold $WANTIME / $WANTHRESHOLD .. Running $FAILURESCRIPT" | logger -p daemon.info -i -t PingMonitor |
|
118 |
sh -c $FAILURESCRIPT |
|
119 |
fi |
|
120 |
fi |
|
121 |
sleep 1 |
|
122 | 122 |
done |
123 | 123 |
|
124 | 124 |
exit 0 |
Also available in: Unified diff
Revert "the only thing ping_hosts.sh is used for is pinging IPsec hosts. comment out all this complexity that makes it do way more than it needs to (and was throwing an error on rrd, it shouldn't be touching rrd)" this is used by at least the DNS server pkg
This reverts commit 9fcf15773caa87261314bfe6e8a33a3f0d1d18bd.