Não há como as ferramentas de controle e monitoramento do EC2 fornecerem esses dados, porque o sistema de arquivos de suas instâncias é SOMENTE acessível pela própria instância . Tanto a arquitetura básica do hardware quanto o modelo de segurança exigem essa limitação. Pense em como seria ruim se um software fora do seu computador pudesse vasculhar os arquivos nos seus discos rígidos!
Aqui está uma maneira discreta de fazer com que o cron (instalado na maioria dos sistemas de qualquer maneira) verifique esses dados periodicamente. Seus sistemas devem ter os requisitos mínimos para lidar com as notificações de email raiz de qualquer maneira. Eu recomendo ter pelo menos um agente de correio de saída materialista e configurar o alias raiz ou administrador para encaminhar a você em todos os sistemas que você administra. Muitos programas, inclusive, cron
esperam essa configuração.
Você pode adicionar isso ao seu crontab:
0 0 * * * test $(df / | grep ^/ | awk '{print $4}') -lt 1048576 && echo "Warning: Free disk space is less than 1G on /"
Para quebrar isso, isso
- Cria um trabalho que é executado uma vez por dia às 00:00.
- O Cron manipula automaticamente o e-mail do administrador do sistema com a saída dos trabalhos. Este trabalho só produz saída se houver um erro ou se o espaço em disco estiver baixo
- O
test
comando configura uma comparação simples do shell usando o -lt
operador less than e um valor fixo equivalente ao espaço livre de 1Gb.
- O
df
comando testa espaço livre no /
sistema de arquivos
- A
grep
você fica apenas a linha de saída que você precisa, em vez dos cabeçalhos df
inclui.
- O
awk
get é apenas a quarta coluna na saída, o número do espaço livre.
- O
&&
comando diz para executar o próximo comando somente se o primeiro (o test x -lt y
) retornar verdadeiro.