Monitor de recursos do sistema
Publicado por DAVISON MARCEL PASQUALINI (última atualização em 19/10/2009)
[ Hits: 15.950 ]
Estive ajudando um colega da comunidade a fazer um script para verificar os recursos de CPU, DISCO e MEMÓRIA, a brincadeira ficou interessante e resolvi publicar aqui.
Recursos necessários para funcionamento do script: free, vmstat e df.
Testado em Debian.
#--------------------------------------------------------------- # MONITOR DE RECURSOS #--------------------------------------------------------------- cron="N" # Se for utilizar a crontab mudar para "S" assim o script # será executado apenas uma vez e a crontab fará o novo # start, quando necessário. delay="300" # Se for deixar o script executando pelo loop interno # indicar aqui o número de segundos entre as verificações. # ex: "300" que correponde a 5 minutos. ve_filesystem () { df -h | grep -v ^Filesystem | while read line do percent=`echo $line | awk '{ print $5 }' | sed 's/%//g'` if [ "$percent" -gt "70" ]; then echo "`date +"%Y-%m-%d %H:%M:%S"` - TIPO: FILESYSTEM - $percent % de Ulilizazao do Filesystem `echo $line | awk '{ print $1 }'`" >> centraldealertas.txt fi done } ve_memoria () { percent=`free -m | awk '/^Mem/{ print $3,"*100","/",$2}' | sed 's/ //g' | bc` if [ "$percent" -gt "70" ]; then echo "`date +"%Y-%m-%d %H:%M:%S"` - TIPO: MEMORIA - $percent % da Memoria utilizada" >> centraldealertas.txt fi } ve_cpu () { percent=`vmstat 1 2 | sed 1,3d | awk '{ print $('$locale') }'` if [ "$percent" -lt "30" ]; then echo "`date +"%Y-%m-%d %H:%M:%S"` - TIPO: CPU LOAD - `expr 100 - $percent` % de CPU Utilizada" >> centraldealertas.txt fi } start () { ve_filesystem ve_memoria ve_cpu case "$cron" in "N" | "n" ) sleep "$delay" start ;; esac } ve_vmstat () { cvstat=`vmstat | sed -e 1,1d -e 3,3d | sed 's/id.*//g' | wc -w` locale=`expr $cvstat + 1` } ve_vmstat start
Script simples com interação com o usuário
Limpar regras e compartilhar conexão
Bom treino para iniciados em Shell
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Não to conseguindo resolver este problemas ao instalar o playonelinux (1)
Excluir banco de dados no xampp (1)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta