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 # anderson.oliveira178@etec.sp.gov.br # 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 seuemail@dominio.com.br 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 seuemail@dominio.com.br fi# load acima de 100 reboota o servidor if [ $ver -gt 100 ] then reboot echo "Reboot" | sendmail -v seuemail@dominio.com.br 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.