Notificação para problema de escassez de espaço em disco no servidor

3

Eu tenho um servidor Ubuntu, e enfrentando problemas de espaço freqüente, ou seja, os logs estão ocupando muito espaço em disco. Portanto, quero que uma verificação seja aplicada, de modo que, sempre que houver menos de 5 GB de espaço livre em disco, eu receba uma notificação por e-mail, para que eu possa excluir os logs. Como posso configurar isso? Preciso de alguma outra aplicação?

    
por tanmayghosh2507 18.04.2016 / 11:09

3 respostas

2

No meu servidor Ubuntu, eu tenho o seguinte script em /etc/cron.daily que me alerta por e-mail sempre que /dev/sdc (minha /srv partição) tem menos que 200MB de espaço livre.

ALERT=200
UNIT=M
PARTITION=/dev/sdc

df -B$UNIT | grep "^$PARTITION" |
while read partition size used free perc mnt ;
do
        free_space=$(echo $free | tr -d $UNIT )
        if [ $free_space -le $ALERT ]; then
                echo "Partition $partition ($mnt) running out of space ($free) on $(hostname) as on $(date)" |
                mail -s "Alert: $mnt almost out of disk space on $(hostname) - $free" root
        fi
done

Inicialmente foi tirado e adaptado deste post no nixCraft . Salve isso em um arquivo em /etc/cron.hourly como root, modifique as 3 primeiras linhas de acordo com seu servidor e necessidades, e torne o arquivo executável. Se você quiser executá-lo com mais frequência, salve-o como um script e crie um cron job regular.

Observe que você precisará de algo fornecendo o comando mail , normalmente dos pacotes qmail-run ou courier-mta .

    
por 18.04.2016 / 14:51
9

Você pode usar Nagios para monitorar e enviar e-mails. Mas, antes de configurar o monitoramento, eu começaria configurando o logrotate para periodicamente girar os arquivos de log.

O sistema apropriado depende de onde você hospeda seu servidor. Por exemplo, se ele estiver hospedado na AWS, você poderá configurar o CloudWatch monitorar sua saúde em vez de implantar uma nova solução de monitoramento.

    
por 18.04.2016 / 11:17
3

Você pode adotar duas estratégias diferentes:

Para um único servidor, a solução n.1 é certamente o caminho mais rápido. No entanto, para vários servidores e / ou para verificar vários pontos de dados (por exemplo: uso de memória RAM, carga da CPU, etc), o segundo é preferível, de longe.

    
por 18.04.2016 / 11:14