Table of Contents

Check High Memory usage and restart Apache

Script to check memory usage and take the following actions if memory is high. Uses nagios plugin to get check memory usage.

#!/bin/bash
#
/usr/lib/nagios/plugins/check_mem.pl -u -C -w 80 -c 90 > /dev/null 2>&1
if [ $? -gt 0 ]; then
  NOW=$(date +"%Y-%m-%d-%H-%M-%S")
  LFILE=/tmp/mem_${NOW}.txt
  #echo "Restaring Apach on `hostname`"
  LMSG="Restaring Apache on `hostname`"
  LSUB="High Memory on `hostname`"
  ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem > $LFILE
  #echo "$LMSG" | mailx -s "$LSUB" system@snathan.org
  cat $LFILE | mailx -s "$LSUB" system@snathan.org
  sudo /bin/systemctl stop apache2.service
  sleep 60
  sudo /bin/systemctl start apache2.service
fi