Protetor de Load – Script para reiniciar o Apache e MySQL automaticamente de acordo com load

asf_logo

Este é um script simples ssh que pode ser adicionado ao cron de seu servidor dedicado ou VPS muito útil em caso de problemas de load ou quando não é possível monitorar em tempo real.

Cada ocorrência de load envia um e-mail definido no script.

Basicamente toda a mágica está no seguinte comando:

cat /proc/loadavg | sed ‘s/\./ /’ | awk ‘{print $1}

Este comando funciona 100% tanto em servidores CENT OS como em CLOUDLINUX. Tente digitar ele no prompt do seu ssh e verá que ele retorna exatamente o load avarage atual referente a média dos 5 últimos minutos do seu servidor.

A partir deste comando, criei o seguinte script para monitorar os meus servidores:

#!/bin/sh
#
#  SCRIPT PARA PROTEÇÃO DE LOAD
#  ANDERSON LUIZ DE OLIVEIRA
#  [email protected]
#

ver=`cat /proc/loadavg | sed 's/\./ /' | awk '{print $1}'`;
# echo $ver;

# load acima de 10 reseta o apache
if [ $ver -gt 10 ]
then
service httpd restart
echo "Apache Resetado" | sendmail -v [email protected]
fi

# load acima de 35 para apache e mysql
if [ $ver -gt 35 ]
then
service httpd stop
service mysql stop
echo "Load Critico" | sendmail -v [email protected]
fi

# load acima de 100 reboota o servidor
if [ $ver -gt 100 ]
then
reboot
echo "Reboot" | sendmail -v [email protected]
fi

 

Salve o script em seu diretório /root como restart.sh, coloque o arquivo com as permissões 777

Agora é só configurar cron pelo arquivo etc/crontab, no exemplo o protetor de load é executado a cada 5 minutos.

*/5 * * * * root /restart.sh >/dev/null 2>&1

Se copiar, por favor, mantenha os créditos! Este script foi desenvolvido por mim.

Deixe seu comentário