Gera estatísticas de consumo de memória e cpu.
Publicado por Alessandro Dias 09/04/2007
[ Hits: 18.721 ]
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"
Script para construção de VPN-SSL
Screenshot de menus??!! Script com temporizador popup!
Enviar via FTP todos as pastas / sub-pastas e arquivos, a partir do diretorio de origem inclusive
Script de compilação do Xorg 7.2 otimizado para Slackware 64 bits (Slamd64)
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Alguém já usou o framework Avalonia para desenvolver interfaces de usu... (4)
Ajuda Pra Melhoria do NFTABLES. (8)
Sinto uma leve lentidão ao arrastar, miniminizar e restauras as janela... (2)
Pastas da raiz foram para a área de trabalho [RESOLVIDO] (7)