Ir para conteúdo
  • Cadastre-se

Protetor De Load – Script Para Reiniciar O Apache E Mysql Automaticamente De Acordo Com Load


Posts Recomendados

Postado

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 esta no comando

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

Este comando funciona 100% tanto em servidores CENT OS como em CLOUDLINUX, no caso, todos os servidores Linux da InHosting são Cloud Linux.

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.

#!/bin/sh

#

# SCRIPT PARA PROTEÇÃO DE LOAD

# **** INHOSTING.COM.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

Créditos: http://inhosting.com...cordo-com-load/


Postado

Bastante Útil.

Embora não sei se é uma boa idéia resetar os serviços num Load exorbitante... pois se o mesmo está sendo causado pelo excesso de conexões, no segundo que voltar vai estourar de novo... Gostaria de ouviu uns comentários a essa idéia.

Mas parabéns pelo excelente trabalho.

Postado

As vezes o load está alto, mas a visita no site está pouca coisa lenta.

Não fica meio esqusito os visitantes dos sites de todo o servidor receber algum tipo de aviso de pagina fora do ar, não da impressão de instabilidade no servidor?

Se o load está alto não seria interessante procurar a causa do problema e tentar resolver de forma efetiva?

AtarWeb.com.br • Hospedagem de Site + SSL Grátis
█ Revenda de Hospedagem DirectAdmin SSD + SSL Grátis
Postado

Chuva, o ideal seria sim tentar descobrir e resolver o real problema, porem tem vezes que você não esta monitorando o servidor e isso ajuda bastante. Aqui já aconteceu do load chegar nas alturas as 05:00 da manha e claro não estava online.

WebChamp - Hospedagem de Sites, Revenda de Hospedagem, Revenda de VPS, Servidores Virtuais  (OpenVZ / KVM).

Postado

Neste caso:

if [ $ver -gt 100 ]

then

reboot

echo "Reboot" | sendmail -v seuemail@dominio.com.br

fi

Não seria:

if [ $ver -gt 100 ]

then

echo "Reboot" | sendmail -v seuemail@dominio.com.br

shutdown -r now

fi

?

Postado

Jordan, o comando Reboot já esta abaixo do comando then.

Duas coisas, não se usa mais o comando reboot, e a segunda, é que o servidor vai reiniciar e não vai enviar mensagem, já que o comando de reboot está acima do comando que envia o email rsrs.

Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...

Informação Importante

Concorda com os nossos termos?

-