#!/bin/bash
# ____ ____ ____________
# / __ \/ __ \/_ __/ ____/
# / /_/ / /_/ / / / / / __
# / ____/ _, _/ / / / /_/ /
#/_/ /_/ |_| /_/ \____/
# NETWORK MONITOR
#-------------------
#(c) 2016 Dariusz Gorka, Paessler AG
#
#This script checks if a certain service is running.
#The script also tries to restart the service if it is not started.
#
#Enter the correct process name. (ps -e)
service=$1
#Enter the server address of your PRTG, including HTTPS/HTTP and the sensor port.
prtghost=$2
#Enter the Identification Token of the HTTP Push Data Advanced sensor.
identtoken=$3
#Check if process is running
if (( $(pgrep -x $service | wc -l) > 0 ))
then
#Send response to PRTG that the service is running.
wget -O/dev/null "$prtghost/$identtoken?content=$service status1Service: $service is running!"
else
#Send response to PRTG that the service is not started.
wget -O/dev/null "$prtghost/$identtoken?content=$service status0Service: $service is down, but will restart!"
#Try to restart the service
/etc/init.d/$service start
#Check if restart was successfully
if (( $(ps -ef | grep -v grep | grep $service | wc -l) > 0 ))
then
#Send response to PRTG that the restart was successfully
wget -O/dev/null "$prtghost/$identtoken?content=$service status1Service: $service restarted properly!"
else
#Send response to PRTG that the restart was not successful
wget -O/dev/null "$prtghost/$identtoken?content=$service status0Service: $service can't restart properly! Please take action!"
fi
fi