Gera estatísticas de consumo de memória e cpu.
Publicado por Alessandro Dias 09/04/2007
[ Hits: 18.678 ]
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"
Avisos de segurança do espaço em uso!
Detecta e bloqueia tentativa de acesso ao SSH
Criação de unidades criptografadas
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Máquinas Virtuais com IP estático acessando Internet no Virtualbox
Criar entrada no GRUB para uma ISO Linux (7)
Open Suse não abre wi-fi automaticamente (3)
Ruído no Microfone (ALC287 - AMD Ryzen 5 7535HS) no Debian 12.9 (15)