E aí, pessoal!
Seguindo os estudos, depois de a gente ralar para montar aquele comando complexo do 'top' para pegar o uso da CPU, agora é a hora de colocar ele para funcionar de verdade dentro do nosso script 'monitoramento-sistema.sh'.
Adicionando o Comando da CPU
O processo é simples: a gente precisa editar o script (com 'vim monitoramento-sistema.sh' ou outro editor) e adicionar aquela "tripa" de comando do 'top/grep/sed/awk' dentro da função 'monitorar_hardware()'.
É importante lembrar de usar o '>>' no final para adicionar (append) a saída no mesmo arquivo de log da memória, e não apagar o que já estava lá.
A função ficaria assim:
function monitorar_hardware() { echo "$(date)" >> $LOG_DIR/monitoramento_hardware.txt free -h | grep Mem | awk '{print "Total: " $2 ", Usada: " $3 ", Livre: " $4}' >> $LOG_DIR/monitoramento_hardware.txt
(LINHA NOVA ADICIONADA:)
top -bn1 | grep "Cpu(s)" | sed "s/.*, ([0-9.])% id./\1/" | awk '{print "Uso da CPU: " 100 - $1 "%"}' >> $LOG_DIR/monitoramento_hardware.txt
}
Melhorando o Log da RAM
Já que estamos mexendo nessa função, tem uma melhoria pequena que a aula sugere e que faz sentido: o nosso log da memória RAM estava saindo só como "Total: ...". Fica bem melhor se a gente especificar que é a memória RAM.
A gente só precisa mudar o texto dentro do 'print' do 'awk' do comando 'free'.
Antes era: ... | awk '{print "Total: " $2 ", Usada: " $3 ", Livre: " $4}' >> ... Agora fica: ... | awk '{print "Memoria RAM Total: " $2 ", Usada: " $3 ", Livre: " $4}' >> ...
A Função Completa e Atualizada
Juntando as duas mudanças, a função 'monitorar_hardware' final fica assim:
function monitorar_hardware() { echo "$(date)" >> $LOG_DIR/monitoramento_hardware.txt
(Linha da RAM atualizada para ser mais descritiva:)
free -h | grep Mem | awk '{print "Memoria RAM Total: " $2 ", Usada: " $3 ", Livre: " $4}' >> $LOG_DIR/monitoramento_hardware.txt
(Linha da CPU que acabamos de adicionar:)
top -bn1 | grep "Cpu(s)" | sed "s/.*, ([0-9.])% id./\1/" | awk '{print "Uso da CPU: " 100 - $1 "%"}' >> $LOG_DIR/monitoramento_hardware.txt
}
Testando o Script
Agora é só salvar o arquivo e sair do editor (no Vim: Esc e depois :wq).
Para rodar, o de sempre: ./monitoramento-sistema.sh
E para verificar se funcionou, a gente olha o arquivo de log: cat monitoramento_sistema/monitoramento_hardware.txt
O resultado esperado é que, no final do arquivo, apareça um novo bloco com a data, a linha da "Memoria RAM Total:" (com o texto novo) e a linha nova do "Uso da CPU:". As execuções antigas vão continuar lá, porque usamos o '>>' (append).
É isso! Agora o nosso log de hardware está monitorando RAM e CPU.
 
             
             Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!
   Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!