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.892 ]
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"
Backup com TAR em LOG usando FITA LTO/DLT com filtro de arquivos
Automatizando a instalação do BLAS/LAPACK no Linux
Atualizando páginas automaticamente com Lynx
Como aprovar Pull Requests em seu repositório Github via linha de comando
Como gerar um podcast a partir de um livro em PDF
Automatizando digitação de códigos 2FA no browser
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Resolvendo o erro "libQt6Widgets.so.6: cannot open shared object file" no Linux
Como instalar protetores de tela (Debian e derivados)
Conheça a 4Devs, caixa de ferramentas online para desenvolvedores
Como converter um vídeo MP4 para um GIF para publicar no README.md do seu repositório Github
Driver de rede realtek 8821ce bugado (1)
Problemas de compartilhame... de impressora no Ubuntu 24.04 (3)