Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Curso de Inglês Online

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Plugin do Nagios para detecção de Erros nas interfaces do Switch 3Com via SNMP.

Colaboração: Jhony Maseto

Data de Publicação: 16 de maio de 2008

Para otimização da rede e melhoria na monitoração proativa, criamos um shell script que captura da MIB dos switchs da 3Com e retorna quais portas estão com problema, assim se você tiver uma placa de rede com problema ligada a um switch gerenciável da 3com é possível descobrir o erro sem precisar acessar a interface WEB do switch. Pode ser útil para quem administra redes com muitos equipamentos como no nosso caso e não tem tempo para ficar olhando de equipamento em equipamento.

Funciona bem com os switches de modelo:

  • 3c17300: neste modelo ele captura os erros de CRC Error e colisões no mesmo trap.
  • 3c17300A: se o firmware estiver atualizado captura só os CRC Errors.

Segue o código fonte do plugin:

  #!/bin/sh
  # este plugin faz um teste nos switchs listados
  # buscando por erros de colisão e erros físicos nas interfaces "CRC error".
  # Autores: Jhony Maseto, Sergio tschá Wanderley.
  # Redes - Unochapecó
  < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>#
  #    Copyright (C) 2008  Jhony Maseto, Sergio Wanderley
  #
  #    This program is free software: you can redistribute it and/or modify
  #    it under the terms of the GNU General Public License as published by
  #    the Free Software Foundation, either version 3 of the License, or
  #   (at your option) any later version.
  #
  #    This program is distributed in the hope that it will be useful,
  #    but WITHOUT ANY WARRANTY; without even the implied warranty of
  #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  #    GNU General Public License for more details.
  #    You should have received a copy of the GNU General Public License
  #    along with this program.  If not, see 
  #    < http://www.gnu.org/licenses/>. 
  #    For contacting us send mail to redes@unochapeco.edu.br.
  
  help() {
  	echo " Este plugin utiliza o snmpwallk para recuperar erros na portas dos switchs da 3com, 	funciona bem com o modelo 3c17300 e 3c17300A "
  	echo " Para efetuar o teste chame o plugin e o IP do equipamento desejado, 	exemplo: ./check_switch 192.168.0.10 "
  }
  Version(){
  	echo " Check Switch - versão 1.0 "
  }
  
  while getopts "hV:" opt;
  do
  	case $opt in
  		h) help;;
  		V) Version ;;
  		*) echo Utilize -h para ajuda ou --help para comandos ;;
  	esac
  done
  
  < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>###
  # verifica se o que foi digitado é mesmo um ip IPV4
  
  ip=`echo $1 |egrep '^([0-9]{1,3}\.){3}[0-9]{1,3}$'`
  
  if [ "$ip" == "" ]
  	then
  		echo " digite um endereço de IP válido, ou -h para ajuda!!! "
  		exit 3
  else
  	#verifica se o switch aceita comandos snmp.
  	/usr/bin/snmpwalk -v1 -c public $1 info &> /dev/null
  	#testa o retorno do comando para ver se consegue. 
  	retcode=$?
  	# busca no switch por erros na MIB e compara se é menor que 100.
  	uso=`/usr/bin/snmpwalk -v1 -c public $1 inErrors | cut -d. -f2 |awk ' $4 > 100 {printf " - 	Porta: " $1 " Erros: " $4}'`
  	#retorna os erros para o Nagios recuperar
  	if [ "$uso" != "" ]
  		then
  			echo "WARNING: $uso"
  		exit 1
  	elif [ "$uso" = "" -a $retcode -eq 0 ]
  		then
  		echo "OK: testei o bagulho, sem erros "
  		exit 0
  	elif [ "$uso" = "" -a $retcode -ne 0 ]
  		then
  			echo "UNKNOWN: nao consegui testar o bagulho"
  			exit 3
  	fi
  fi

Veja a relação completa dos artigos de Jhony Maseto

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 2.99/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1310 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script

Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

Objective-C Fundamental