De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
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:
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ó
#####################################################################
# 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
###################################################
# 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