Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # pingmon.sh
- #
- # will enable you to not just monitor availability of a network target, but also
- # its network (ping) performance
- #
- # using this guide, I was able to keep a Google Sheet up-to-date automatically:
- # https://academy.datawrapper.de/article/288-how-to-set-up-automatic-updates-on-a-google-sheet
- #
- # then I use that google sheet as the datasource for a Google Data Studio dashboard, see here:
- # https://datastudio.google.com/reporting/95d8823c-2c9c-4a09-beee-4004207025e2
- #
- target=10.10.22.1
- logfile=/root/scripts/pingmon.log
- today=$(date '+%Y-%m-%d')
- currtime=$(date '+%H:%M:%S')
- msg=`ping -c 1 $target`
- # if ping successful, then find out the result
- #if [[ "$msg" =~ "100% packet loss" ]] ; then
- if echo $msg | grep -q "100% packet loss" ; then
- # device is unreachable
- # set speed to zero
- speed=0
- else
- # get the milisecond number
- speed=`echo $msg | grep icmp_seq | cut -d "=" -f 4 | cut -d " " -f 1`
- fi
- # write to log in CSV format
- echo $today,$currtime,$speed >> $logfile
- exit
- # just for debugging
- #if echo $msg | grep -q "100% packet loss" ; then echo LOSS ; else echo FINE ; fi
Advertisement
Add Comment
Please, Sign In to add comment