Artigo 15 – Monitorando Hardware do Switch com SNMP

Olá a todos, hoje estou aqui para escrever sobre como monitorar Hardware de equipamentos, como Roteadores e Switches. Como? através do Protocolo SNMP (Simple Network Management Protocol – Protocolo Simples de Gerência de Redes), pois é pessoal este protocolo é universal, podemos dizer assim, este vem por padrão em tudo que é equipamento de rede Roteadores, Switches, Impressoras, Servidores e etc.

Quando você precisar saber sobre o hardware do equipamento procure saber se o mesmo tem suporte ao protocolo SNMP ok? Pessoal me desculpem não me aprofundar no mesmo, afinal aqui é apenas uma idéia prática de como se utilizar as coisas 😉

Para fazer com que o Nagios consiga checar através do protocolo SNMP é necessário ter um plugin capaz de entender o SNMP e para isso existe diversos plugins, como no meu caso tenho Switch Cisco então utilizo este plugin:

nagios-plugin-cisco-snmp.tar.gz

Bem vamos a prática 🙂

## Baixar os plugins do projeto

cd /usr/src/
wget –no-check-certificate https://www.monitoringexchange.org/attachment/download/Check-Plugins/Network/Cisco/Cisco-SNMP-device-monitoring/nagios-plugin-cisco-snmp.tar.gz


## Agora vamos para Instalação

aptitude install libnet-snmp-perl

tar zxvf nagios-plugin-cisco-snmp.tar.gz
cp -p check_snmp_cisco_* /usr/local/nagios/libexec/


## Blz, agora para que o Nagios consiga monitorar é necessário que o equipamento, neste caso o Switch tenha suporte ao protocolo SNMP configurado com um nome de comunidade, favor pesquisar sobre, mas quem gerencia switches não encontra dificuldades em fazer tal configuração.


## Antes de configurar os arquivos do Nagios, vamos realizar um teste com plugin

# Comando
/usr/local/nagios/libexec/check_snmp_cisco_memutil -H IP -C Public -w 60% -c 80%

# Public – É o nome da comunidade cadastrada no Switch
# 60%  Warning
# 80%  Critical

#Resultado
Status is OK – MEMORY: total: 12.17 MB, used: 3.11 MB (26%), free: 9.05 MB


## Tudo certo, vamos configurar o arquivo do Nagios

cd /usr/local/nagios/etc/objects/

vim commands.cfg

# Insira os dados abaixo no final no arquivo

define command{ 
 command_name    check_snmp_cisco_memutil 
 command_line       $USER1$/check_snmp_cisco_memutil -H $HOSTADDRESS$ -C $ARG1$ -w $ARG2$ -c $ARG3$ 
 }


## Legal, agora vamos criar um arquivo para o switches

mkdir /usr/local/nagios/etc/switches

vim /usr/local/nagios/etc/switches/switch01-2andar.cfg

# Insira no as linhas abaixo

define host{ 
 host_name               Switch-Cisco-2andar 
 use                     TemplateHost 
 contact_groups          Admin 
 alias                   Switch Cisco 
 address                 IP-do-Switch 
 } 

define service{ 
 host_name                       Switch-Cisco-2andar 
 service_description             Ping 
 use                             TemplateService 
 check_command                   check_ping!300,20%!900,52%! 
 contact_groups                  Admin 
 } 

define service{ 
 host_name                        Switch-Cisco-2andar 
 service_description              SWITCH-MEMORIA 
 use                              TemplateService 
 check_command                    check_snmp_cisco_memutil!Public!60!80 
 contact_groups                   Admin 
 } 

define hostextinfo{ 
 host_name       Switch-Cisco-2andar 
 icon_image      switch40.jpg 
 icon_image_alt  Switch Cisco 
 statusmap_image switch40.jpg 
 }


## Agora insira no arquivo nagios.cfg este novo diretório

vim /usr/local/nagios/etc/nagios.cfg

cfg_dir=/usr/local/nagios/etc/switches


# Agora vamos verificar o resultado

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
/etc/init.d/nagios reload


## Verifique a Interface

http://IP-doNagios/nagios

 

Pessoal preciso citar 2 projetos que utilizo:

http://www.cacti.net
http://nagios.manubulon.com/

Ok, até o próximo post 😉

Att.
Luciano Maia Cirilo
LPIC-3
www.nagiosnapratica.com.br

Anúncios

, ,

  1. #1 por Romeu em julho 7, 2011 - 8:00 am

    Luciano, prático e conciso.
    Obrigado.

    Não é o local para postar dúvida, mas se puder dar um parecer, fico muito agradescido.
    Na minha empresa, a pessoa responsável pelo desenvolvimento nagios saiu, resolvi aproveitar a oportunidade e tomar frente.
    Na monitoração, são vários clusters, com switchs, apts e clientes, e tudo que esta abaixo do cluster, esta como serviço e não como host. (um tanto confuso, porque se um cliente fica down, na verdade é um serviço, e não um host). Porém funciona.

    Propus refazer a configuração, criando um host para cada itém e com dependência, que não havia, no caso (parent).
    E o serviço independente para cada um, que é apenas o serviço de ping.(saber se esta ok ou não).
    Entendo que fica visivelmente mais fácil no mapa e mais prático. E vou aproveitar para implementar o nagvis.

    Meu superior questionou, onde tem a documentação que a maneira correta é esta e não a outra.
    Expliquei que na verdade não há uma documentação falanado que a maneira correta é esta, visto que não é a única, apenas entendo que seria melhor. Daí, ficou a dúvida. Se continuam ou fazemos do meu jeito.

    Não sei se ficou claro, mas se sim, poderia dar um parecer.
    De antemão te agradesço.

    Abraços,
    Romeu.

    • #2 por Nagios na Prática! em julho 11, 2011 - 10:32 am

      Olá Romeu,

      Não sei se entendi o cenário, mas geralmente o host é monitorado da mesma forma que o serviço (PING), com o mesmo check_ping ou algo do tipo. Logo quando tem o alarme do host tem o alarme de todos os outros serviços. “Para o Nagios” se o Host alarmar quer dizer que todo o restante vai estar alarmado, esta é a lógica.

      Att.
      Luciano Maia Cirilo
      LPIC-3

      • #3 por lucas em agosto 2, 2013 - 10:56 am

        Bom, depende… Se apenas a porta do protocolo icmp estiver bloqueada no firewall do host monitorado, e existir um serviço de ssh por exemplo, O ping dará crítico e o ssh responderá normalmente…

  2. #4 por www.bull.com em julho 11, 2011 - 6:49 pm

    Obrigado Luciano.

    Att,
    Romeu.

  3. #5 por Romeu em setembro 15, 2011 - 3:52 pm

    Olá Luciano, fiz este seu procedimento e funciona direito, fiz também o procedimento deste endereço:
    http://nagios.sourceforge.net/docs/nagioscore/3/en/monitoring-routers.html
    funciona, gostaria de sua ajuda ou dos colegas leitores para saber como posso listar todas as portas de um switch.
    Aqui na empresa tem varios switchs, e um que estou monitorando, são 3 em um (cisco) com mais de 70 portas.
    Alguma maneira de listar todas as portas
    No whatsup, tem como, mas no nagios não sei qual plugin usar.

    Tentei fazer um inventory :
    http://mathias-kettner.de/checkmk_inventory.html
    mas não consegui.

    Abraços,
    Tenho feito avanços no nagios, para que não sabia nada, e num futuro não muito distante, espero compartilhar conhecimentos.

  4. #7 por Joaquim Guedes em agosto 15, 2012 - 12:18 pm

    Prezados,
    Ao executar o teste inicial “/usr/local/nagios/libexec/check_snmp_cisco_memutil -H IP -C Public -w 60% -c 80%” me retornou o seguinte erro:

    “Can’t call method “get_request” on an undefined value at /usr/local/nagios/libexec/check_snmp_cisco_memutil line 123.”

    Alguém pode me ajudar?
    Grato!

  5. #8 por Ronaldo Santos em maio 27, 2015 - 4:10 pm

    Luciano, boa tarde. Excelente material, estou com dificuldades para monitorar um switch 3com 2226, baixei o plugin check_3com_alive.pl e mais 3 (Link, Healt e ensure) configurei o commad.cfg e o arquivo do switch, da seguinte forma:

    define service{
    use generic-service ; Inherit values from a template
    host_name 3Com2226_kst ; The name of the host the service is associated with
    service_description PING ; The service description
    check_command check_ping!200.0,20%!600.0,60% ; The command used to monitor the service
    normal_check_interval 5 ; Check the service every 5 minutes under normal conditions
    retry_check_interval 1 ; Re-check the service every minute until its final/hard state is determined
    }

    # Monitor uptime via SNMP

    define service{
    use generic-service ; Inherit values from a template
    host_name 3Com2226_kst
    service_description Uptime
    check_command check_3com_health!Public!60!80
    }

    Mas o serviço de uptime e qualquer outro que eu configuro ja sobe como critical.

    Você poderia me ajudar?

    Abraços ROnaldo

  6. #9 por Caroline Kieling em dezembro 5, 2016 - 3:53 pm

    Olá, Luciano! Não consegui encontrar o plugin deste tutorial, nem no site indicado nem em outros sites… Vc ainda o tem?

    • #10 por Nagios na Prática! em dezembro 5, 2016 - 4:02 pm

      Olá Caroline,

      Tente neste site:

      http://nagios.manubulon.com/

      😉

      • #11 por Nagios na Prática! em dezembro 5, 2016 - 4:21 pm

        Aproveitando … acesse o novo curso de Nagios no meu canal:

        Assine o canal e acompanhe as aulas!

        😉

      • #12 por Caroline Kieling em dezembro 5, 2016 - 4:27 pm

        Muito obrigado Luciano! Já estou conseguindo utilizar o plugin =D
        Olharei sim! Comecei na T.I há apenas 4 meses e são pessoas como você que salvam a minha pele hahah
        Parabéns pelo trabalho!

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: