Como monitorar a memória e o correio usados quando está acima do limite?

1

Eu tenho um servidor Linux. Eu gostaria de monitorar a quantidade de uso de memória e, se estiver acima de certo limite (digamos, 512 MB), envie um e-mail para o administrador automaticamente.

Como posso fazer isso?

    
por Roger W. 26.12.2013 / 22:22

1 resposta

1

Você pode obter o uso da memória através do comando free . Uma pequena análise de sua saída fornecerá a memória usada atualmente:

free -m | awk '/buffers\/cache/ {print $3}'

Em seguida, você pode enviar um e-mail usando o comando mail (supondo que a cadeia de e-mails já esteja configurada no seu servidor):

echo -e "Mail content." | mail -s "Subject" "[email protected]"

Com isso, você pode escrever um pequeno script sh para verificar o uso da memória e enviar e-mails, se necessário:

#!/bin/sh
memuse=$(free -m | awk '/buffers\/cache/ {print $3}')
if [ $memuse -ge 512 ]; then
    message="RAM limit exceeded in server alpha.\nCurrent use is $memuse MiB."
    echo -e "$message" | mail -s "RAM monitoring" "[email protected]"
fi

Agora, você só precisa executar esse script periodicamente. Podemos, por exemplo, usar cron para executá-lo a cada minuto, adicionando a /etc/crontab :

* * * * * /root/ram_monitoring.sh

(supondo que você salvou o script em /root/ram_monitoring.sh e você tem um deamon cron em funcionamento.)

    
por 29.12.2013 / 13:40

Tags