Gera estatísticas de tráfego de pacotes nas interfaces de um servidor linux via SNMPv3.
Publicado por Alessandro Dias 09/04/2007
[ Hits: 4.811 ]
Download gera_estatistica_trafego_serv-01.sh
Gera estatísticas de tráfego de pacotes nas interfaces de um servidor linux, registrando os pontos em um arquivo.
Pode-se fazer um script PHP para plotar em um gráfico.
Antes de aplicar esse script verifique as senhas utilizadas no SNMPv3.
#!/bin/bash # ############################################################################### # Script GERA_ESTATISTICAS DIARIAS v1.0 # # # # Autor: Alessandro Dias # ############################################################################### # IP="192.168.0.1" BASEDIR=/var/www/html/estatisticas/trafego clear echo "*********************************************************************************************" echo "* Programa GERA_ESTATISTICAS V1.0 *" echo "*********************************************************************************************" echo "Autor: Alessandro Dias" echo "---------------------------------------------------------------------------------------------" if [ "$IP" != "" -a "$IP" != " " ]; then IFINOCTETS=`snmpget -v 3 -u alessandro -l authPriv -a MD5 -A senhaauth -x DES -X senhapriv $IP "ifInOctets.2" |cut -d "=" -f 2 |cut -d ":" -f 2 |cut -d " " -f 2` IFOUTOCTETS=`snmpget -v 3 -u alessandro -l authPriv -a MD5 -A senhaauth -x DES -X senhapriv $IP "ifOutOctets.2" |cut -d "=" -f 2 |cut -d ":" -f 2 |cut -d " " -f 2` echo -e "ip=\"$IP\"\n" echo "ifInOctets=$IFINOCTETS bytes" echo "ifOutOctets=$IFOUTOCTETS bytes" DIA=`date +%d` DIA_SEM=`date +%a` MES=`date +%b` ANO=`date +%Y` HORA=`date +%k` SEC=`date +%s` if [ ! -d $BASEDIR/$IP/$DIA ]; then mkdir -p $BASEDIR/$IP/$DIA fi if [ ! -f $BASEDIR/$IP/$DIA/pts_in ]; then touch $BASEDIR/$IP/$DIA/pts_in chown apache $BASEDIR/$IP/$DIA/pts_in else if [ "$HORA" == "0" -o "$HORA" == "00" -o "$HORA" == "24" ]; then rm -f $BASEDIR/$IP/$DIA/pts_in touch $BASEDIR/$IP/$DIA/pts_in chown apache $BASEDIR/$IP/$DIA/pts_in fi fi if [ ! -f $BASEDIR/$IP/$DIA/pts_out ]; then touch $BASEDIR/$IP/$DIA/pts_out chown apache $BASEDIR/$IP/$DIA/pts_out else if [ "$HORA" == "0" -o "$HORA" == "00" -o "$HORA" == "24" ]; then rm -f $BASEDIR/$IP/$DIA/pts_out touch $BASEDIR/$IP/$DIA/pts_out chown apache $BASEDIR/$IP/$DIA/pts_out fi fi echo "$HORA,$SEC,$IFINOCTETS" >> $BASEDIR/$IP/$DIA/pts_in echo "$HORA,$SEC,$IFOUTOCTETS" >> $BASEDIR/$IP/$DIA/pts_out if [ ! -f $BASEDIR/$IP/$DIA/rangex ]; then echo "24,18,12,12,100,100,1,1,/,$IP,$DIA/$MES/$ANO ($DIA_SEM)" > $BASEDIR/$IP/$DIA/rangex chown apache $BASEDIR/$IP/$DIA/rangex else if [ "$HORA" == "0" -o "$HORA" == "00" -o "$HORA" == "24" ]; then rm -f $BASEDIR/$IP/$DIA/rangex touch $BASEDIR/$IP/$DIA/rangex chown apache $BASEDIR/$IP/$DIA/rangex fi fi if [ ! -f $BASEDIR/$IP/$DIA/graph.php ]; then cp -f $BASEDIR/graph.php $BASEDIR/$IP/$DIA/ else if [ "$HORA" == "1" -o "$HORA" == "01" ]; then cp -f $BASEDIR/graph.php $BASEDIR/$IP/$DIA/ fi fi # mostra arquivos criados echo -e "\n--------IN------------" cat $BASEDIR/$IP/$DIA/pts_in echo "--------OUT-----------" cat $BASEDIR/$IP/$DIA/pts_out echo "----------------------" else echo -e "\nSINTAXE CORRETA: \n ./gera_estatisticas.sh <IP>\n" fi echo -e "---------------------------------------------------------------------------------------------\n"
Iniciar firewall quando houver rede habilitada (Internet)
Inserção de máquinas no banco de dados para controle interno
Exemplos de scripts com dialog
Instalando o SIESTA no Linux automaticamente
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - APAGA AS MSG <.APAGADAS> GERADAS PELO SCRIPT delete_all_u
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
Erro no upgrade: Sub-process /usr/bin/dpkg returned an error code (1) (0)
Enzo quer programar mas não faz código pra não bugar (4)