Gera estatísticas de consumo de memória e cpu.
Publicado por Alessandro Dias 09/04/2007
[ Hits: 18.625 ]
Download gera_estatistica_serv-01.sh
Gera estatísticas de consumo de memória e cpu, registrando em um arquivo.
Pode-se fazer um script para plotar esses pontos em um gráfico. Em breve publicarei um script PHP para fazer isso.
#!/bin/bash # ############################################################################### # Script GERA_ESTATISTICAS DIARIAS v1.0 # # # # Autor: Alessandro Dias # ############################################################################### # IP="192.168.0.1" BASEDIR=/var/www/html/estatisticas clear echo "*********************************************************************************************" echo "* Programa GERA_ESTATISTICAS V1.0 *" echo "*********************************************************************************************" echo "Autor: Alessandro Dias" echo "---------------------------------------------------------------------------------------------" if [ "$IP" != "" -a "$IP" != " " ]; then CPUIDLE=`snmpget -v 3 -u alessandro -l authPriv -a MD5 -A senhaauth -x DES -X senhapriv $IP "ssCpuIdle.0" |cut -d "=" -f 2 |cut -d ":" -f 2` CPUUSER=`snmpget -v 3 -u alessandro -l authPriv -a MD5 -A senhaauth -x DES -X senhapriv $IP "ssCpuUser.0" |cut -d "=" -f 2 |cut -d ":" -f 2` CPUSYS=`snmpget -v 3 -u alessandro -l authPriv -a MD5 -A senhaauth -x DES -X senhapriv $IP "ssCpuSystem.0" |cut -d "=" -f 2 |cut -d ":" -f 2` CPUUSED=`expr 100 \- $CPUIDLE` echo -e "ip=\"$IP\"\n" echo "cpu.idle=$CPUIDLE %" echo "cpu.user=$CPUUSER %" echo "cpu.sys=$CPUSYS %" echo -e "cpu.used=$CPUUSED %\n" MEMTOT=`snmpget -v 3 -u alessandro -l authPriv -a MD5 -A senhaauth -x DES -X senhapriv $IP "memTotalReal.0" |cut -d "=" -f 2 |cut -d ":" -f 2` MEMFREE=`snmpget -v 3 -u alessandro -l authPriv -a MD5 -A senhaauth -x DES -X senhapriv $IP "memAvailReal.0" |cut -d "=" -f 2 |cut -d ":" -f 2` MEMUSED=`expr $MEMTOT \- $MEMFREE` MEMUSED_PERC=`expr $MEMUSED \* 100 \/ $MEMTOT` MEMSHARED=`snmpget -v 3 -u alessandro -l authPriv -a MD5 -A senhaauth -x DES -X senhapriv $IP "memShared.0" |cut -d "=" -f 2 |cut -d ":" -f 2` MEMBUFFER=`snmpget -v 3 -u alessandro -l authPriv -a MD5 -A senhaauth -x DES -X senhapriv $IP "memBuffer.0" |cut -d "=" -f 2 |cut -d ":" -f 2` MEMCACHED=`snmpget -v 3 -u alessandro -l authPriv -a MD5 -A senhaauth -x DES -X senhapriv $IP "memCached.0" |cut -d "=" -f 2 |cut -d ":" -f 2` MEMUSED_BUF=`expr $MEMUSED \- $MEMSHARED \- $MEMBUFFER \- $MEMCACHED` MEMUSED_BUF_PERC=`expr $MEMUSED_BUF \* 100 \/ $MEMTOT` echo "mem.tot=$MEMTOT KB" echo "mem.free=$MEMFREE KB" echo "mem.used=$MEMUSED KB" echo "mem.used.perc=$MEMUSED_PERC %" echo "mem.shared=$MEMSHARED KB" echo "mem.buffer=$MEMBUFFER KB" echo "mem.cached=$MEMCACHED KB" echo "mem.used-buf/cache=$MEMUSED_BUF KB" echo "mem.used-buf/cache.perc=$MEMUSED_BUF_PERC %" DIA=`date +%d` DIA_SEM=`date +%a` MES=`date +%b` ANO=`date +%Y` HORA=`date +%k` if [ "$HORA" == "0" -o "$HORA" == "00" -o "$HORA" == "24" ]; then rm -f $BASEDIR/diaria/$IP/$DIA/pts_cpu rm -f $BASEDIR/diaria/$IP/$DIA/pts_mem rm -f $BASEDIR/diaria/$IP/$DIA/pts_mem_buf rm -f $BASEDIR/diaria/$IP/$DIA/rangex rm -f $BASEDIR/diaria/$IP/$DIA/graph.php fi if [ ! -d $BASEDIR/diaria/$IP/$DIA ]; then mkdir -p $BASEDIR/diaria/$IP/$DIA chmod 777 $BASEDIR/diaria/$IP/$DIA fi if [ ! -f $BASEDIR/diaria/$IP/$DIA/pts_cpu ]; then touch $BASEDIR/diaria/$IP/$DIA/pts_cpu chmod 666 $BASEDIR/diaria/$IP/$DIA/pts_cpu fi if [ ! -f $BASEDIR/diaria/$IP/$DIA/pts_mem ]; then touch $BASEDIR/diaria/$IP/$DIA/pts_mem chmod 666 $BASEDIR/diaria/$IP/$DIA/pts_mem fi if [ ! -f $BASEDIR/diaria/$IP/$DIA/pts_mem_buf ]; then touch $BASEDIR/diaria/$IP/$DIA/pts_mem_buf chmod 666 $BASEDIR/diaria/$IP/$DIA/pts_mem_buf fi echo "$HORA,$CPUUSED" >> $BASEDIR/diaria/$IP/$DIA/pts_cpu echo "$HORA,$MEMUSED_PERC" >> $BASEDIR/diaria/$IP/$DIA/pts_mem echo "$HORA,$MEMUSED_BUF_PERC" >> $BASEDIR/diaria/$IP/$DIA/pts_mem_buf if [ ! -f $BASEDIR/diaria/$IP/$DIA/rangex ]; then echo "24,18,12,12,100,100,1,1,/,$IP,$DIA/$MES/$ANO ($DIA_SEM)" > $BASEDIR/diaria/$IP/$DIA/rangex chmod 666 $BASEDIR/diaria/$IP/$DIA/rangex fi if [ ! -f $BASEDIR/diaria/$IP/$DIA/graph.php ]; then cp -f $BASEDIR/diaria/graph.php $BASEDIR/diaria/$IP/$DIA/ chmod 666 $BASEDIR/diaria/$IP/$DIA/graph.php fi else echo -e "\nSINTAXE CORRETA: \n ./gera_estatisticas.sh <IP>\n" fi echo -e "---------------------------------------------------------------------------------------------\n"
Jftp Script - Script para automação de um processo FTP
Gerenciador de Usuários com dialog (Active Directory + Dialog)
Script recolher log's servidor
Adicionando "automagicamente" usuários
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
SysAdmin ou DevOps: Qual curso inicial pra essa área? (3)
É cada coisa que me aparece! - não é só 3% (3)
Melhorando a precisão de valores flutuantes em python[AJUDA] (5)
[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