Monitoração via SNMP com Nagios+Check_MK

nagios+check

O protocolo SNMP é essencial para quem trabalha com redes, desde verificar informações até gerenciar os mesmos, como podemos ver neste excelente artigo sobre o protocolo SNMP do Ricardo Pinheiro aqui. Neste artigo vemos que esse protocolo pode ser usado para verificação de dados de hosts e equipamentos usando apenas permissão de leitura de informações, assim podemos fazer a monitoração fazendo uso da versão 1 do protocolo e atingimos até equipamentos mais antigos.

Primeiro acesse a interface do Check_MK e entre no menu do Wato e crie os grupos que você precisa (não é obrigatório, mas faz com que a arrumação fique melhor). Essa criação de
Eu criei os grupos: “Equipamentos de Rede” e “Impressoras de Rede”

check_mk-groups-1

Agora vá em Main Menu, depois em Hosts & Folders e crie um novo host.

Preencha com os dados do host: Nome, Alias, IP e não esqueça que a monitoração não é pelo agente do check_mk, mas por SNMP. Afinal de contas não tem como instalar o agente nas impressoras, roteadores e switchs da sua rede :-P.

check_mk-snmp1

Feito isso vá clique em Save & go to Services, aceite os serviços que deseja monitorar e salve. Não esqueça de confirmar as alterações em Activate Changes.

check_snmp-2

check_snmp-3

Vejamos o resumo do serviços deste host:
check_snmp-4

Como podemos ver esse no-break tem sensor de temperatura externa, não só temperatura da bateria, assim podemos monitorar como está a sala de servidores, se é necessário diminuir a temperatura do condicionador de ar, etc…

Agora vamos adicionar um Switch para monitoração, inclusive das portas e da velocidade do mesmo:
check_snmp-5

Vejamos o resumo do serviços deste host:
check_snmp-6

Podemos ver cada porta do Switch com a velocidade da mesmo no momento, utilização da cpu do equipamento, etc…

Vamos adicionar uma impressora de rede:
check_snmp-7

Lembrando que em alguns tipos de impressora de rede a monitoração via SNMP mostra até nível de tinta. Assim temos alertas que a tinta ou toner está acabando antes do usuários reclamar.

Vejamos o resumo do serviços deste host:
check_snmp-8

Na tela principal de Grupos do Check_MK teremos algo do tipo:
check_snmp-9

Tudo muito simples e fácil correto? Claro que é, mas saber quais hosts na rede aceitam SNMP já não é tão simples… ou é? Como estamos falando de Linux, um pouco de conhecimento de shell script e temos um modo de monitorar todos os hosts e descobrir qual deles tem SNMP.

Esse script testa os ips da rede 192.168.1.0/23 ou seja de 192.168.1.1 até 192.168.2.255, cada hosts que responder ao SNMP terá o IP, tipo de equipamento e nome gravados no arquivo /tmp/hosts-snmp para que com essas informações possamos criar as entradas no Wato.

Para funcionar instale o pacote snmp (ou snmp-utils dependendo da distribuição), vamos utilizar o comando snmpwalk para a pesquisa com a versão 1 do protocolo ( -v 1 ) e com a comunidade public ( -c public ), que é a mais comum de existir nos equipamentos ( pelo menos no modo somente leitura) .

# vi /usr/local/bin/test-snmp.sh

#!/bin/bash

if [ -f /tmp/hosts-snmp ]; then
	rm /tmp/hosts-snmp
fi
for REDE in 1 2 ; do
	for ((A=1;A<=255;A++)); do
		snmpwalk -c public -v1 192.168.$REDE.$A 
		if [ "$?" -eq "0" ]; then
			TIPO=$(snmpwalk -c public -v1 192.168.$REDE.$A | grep iso.3.6.1.2.1.1.1.0 | awk -F : '{print $2}' )
			NOME=$(snmpwalk -c public -v1 192.168.$REDE.$A | grep iso.3.6.1.2.1.1.5.0 | awk -F : '{print $2}' )
			echo "192.168.$REDE.$A $TIPO $NOME" >> /tmp/hosts-snmp
		fi
	done
done


# chmod -v 755 /usr/local/bin/test-snmp.sh

# ./usr/local/bin/test-snmp.sh

Agora sabendo quais são os equipamentos podemos monitorar os que nos interessam ou todos 😉

Não esqueçam de comentar e recomendar nosso Portal.