Gera estatísticas de consumo de memória e cpu.
Publicado por Alessandro Dias 09/04/2007
[ Hits: 18.635 ]
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"
Instalador de Código Fonte - Linha de Comando
pptd - Simples daemon para controle de conexões pptp.
Front-end para administração do Samba
Filtrando processos facilmente com psaux ( ps aux + grep + wc -l)
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
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
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI