Reading time: 15 – 24 minutes
Simple shell script based on bash which monitor a host with command line ping. Just bash and ping are the unique dependencies. Only state change are going to be printed:
#!/bin/bash IP="THE_IP_TO_MONITOR" STATE="offline" show_state() { echo "$(date '+%Y-%m-%dT%H:%M:%S') - " + $STATE; } while true; do ping -c 4 $IP > /dev/null 2>&1 if [ "$?" = "0" ]; then if [ "$STATE" = "offline" ]; then STATE="online" show_state fi else if [ "$STATE" = "online" ]; then STATE="offline" show_state fi fi sleep 10 done