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