Задача стоит следующая: определить границу нагрузки, после которой сигнализировать ответственным лицам. И при возможности постараться выяснить какие процессы создают нагрузку.
mytop=`uptime | grep -o 'load average.*' | cut -c 15-18`
if [ $mytop -ge $top_report ]; then
echo "==== ВНИМАНИЕ ====\nНагрузка на сервер выше нормы: $mytop">>$mailfile
topprocs=`ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10`
echo "\nНагружают процессор: $topprocs\n===================\n">>$mailfile
// проверка списка выполняемых запросов апачем
echo "\nApache\n===================\n">>$mailfile
lynx -dump http://127.0.0.1/server-status>>$mailfile
// проверка списка выполняемых запросов php-fpm
echo "\nPHP-FPM\n===================\n">>$mailfile
top -i -n 1 -b | grep -w php-fpm>>$mailfile
// проверка списка выполняемых запросов nginx
echo "\nNginx info\n===================\n">>$mailfile
lynx -dump http://$nginx_status_host/nginx_status>>$mailfile
// проверка списка выполняемых запросов mysql
// проверка количества сообщений в mailq
fi