quinta-feira, 12 de junho de 2008

Passo-a-Passo Identificar Parâmetro do Equipamento e Monitorar via Zabbix

Introdução:
Muitas vezes precisamos monitorar características de determinado equipamento, mas não sabemos que parâmetros indicar ao Zabbix para monitorar esta característica, é neste momento que temos que baixar o nível, ou seja usar o SNMP.
Neste caso vamos pegar o exemplo de criar um item para monitorar o tráfego individual de cada porta do Switch.

1º Passo - Ler a MIB do Equipamento

Para isso devemos sempre que possível usar a última versão do SNMP:
snmpwalk -On -v 3 -c public IP

snmpwalk - Comando utilizado para se recuperar uma árvore (MIB) de informações de um agente SNMP.
-On - Exibe a sequencia númerica do OID.
-v - Versão do SNMP, podemos usar as opções -v1 (SNMP Versão 1), -v2c (SNMP Versão 2), -v3 (SNMP Versão 3).
public - Nome da comunidade SNMP, precisa ter no mínimo direito de leitura.
IP - IP do equipamento que desejamos ler as informações

2º Passo - Traduzir a sequencia MIB em parametros:
snmptranslate .1.3.6.1.2.1.2.2.1.10.1

snmptrablate - Converter a sequencia numérica em textual.
.1.3.6.1.2.1.2.2.1.10.1 - Sequência OID que quero traduzir em parâmetro.

Por exemplo:
snmptranslate .1.3.6.1.2.1.2.2.1.10.1
IF-MIB::ifInOctets.1
Ele me retornou que o parâmtro é o IfInOctets (ou seja octetos de entrada) .1 (Porta 01)

Atenção este parâmetro pode variar de acordo com cada fabricante/modelo de equipamento:
3Com: MIB-IF::ifAlias.101 - Porta 01 (RMON Port 01 on unit 1)
CISCO Catalyst: ifName.1 = VL1 [1]
ifName.2 = Fa0/1 - Porta 01

D-Link: ifInOctets.1
Intel: ifInOctets.1

3º Passo - Testar a leitura de dados do parametro:
snmpget -v2c -c public IP IF-MIB::ifOutOctets.1

IF-MIB::ifOutOctets.1 = Counter32: 1175134874

snmpget - Comando utilizado para realizar a leitura de determinado parametro de um equipamento.
-v2c - Versão 2 do protocolo SNMP
-c public - Comunidade SNMP
IP - IP do equipamento
IF-MIB::ifOutOctets.1 - Parâmetro que desejo ler do equipamento, no caso a porta 01

4º Passo - Criar o Item no Zabbix
O que é preciso ter atenção nesta imagem:
Type: Versão do SNMP, por exemplo tenho Switches Intel 510T, que são antigos e só respodem requisição de SNMP 1.
SNMP community: Nome da comunidade, tem que ser a mesma comunidade configurada no equipamento.
SNMP OID: Valor que encontramos no passo 2, lembrando que precisamos criar um item para cada porta a ser monitorada. IF-MIB::ifInOctets.1, IF-MIB::ifInOctets.2, etc.
Key: Chave do valor que será lida, ifInput.1, ifOutput.1, etc.
Units: Unidade que será exibida as informações, bps.
Update interval (in sec): Tempo de atualização dos gráficos.
Store value: Delta (simple change), pois quando usei Delta (speed per second) os valores não correspondiam ao monitor do próprio switch.

[1] Using SNMP to Find a Port Number from a MAC Address on a Catalyst Switch. http://www.cisco.com/en/US/tech/tk648/tk362/technologies_tech_note09186a00801c9199.shtml. Acessado em 12 de Junho de 2008.

Agradecimentos:
Coloquei neste post da maneira mais didática possível, as informações que consegui através da prática, porém essa prática não seria possível sem a ajuda do meu grande amigo Conrado Pinto, foi graças a um bate-papo de aproximadamente 30 minutos que tivemos em uma manhã, vendo o site da Cisco [1], rodando comandos no Linux e trocando informações no ICQ (Sim ainda usamos ICQ), tudo ao mesmo tempo e mais um monte de idéias trocadas no decorrer do dia-a-dia para chegar a esse tutorial.
Portanto considerem este tutorial feito a 4 mãos ;-)

22 comentários:

B. Daniel disse...

Fantástico!!!!
Parabéns pela postagem...



...chefe, me dá um aumento???

Artigos disse...

Parabéns pela dica!
Gostaria de uma ajuda: Quando digito o primeiro passo do tutorial: #snmpwalk -On -v2c -c publica 10.1.1.1 no DLS-500G, o comando retorna: No response from 10.1.1.1;sendo que no modem já está habilitado snmp, comunidade, e leitura. Alguma idéia do que fazer?

Bruno Macedo disse...

Deo, eu fiz todo esse procedimento e tudo bem funcionou, mas qual a sequencia de MIB que eu tenho q usar no meu 3com, ja que ele me deu uma lista gigantesca?

Anônimo disse...

Preciso monitorar a largura de banda um core extreme blackdiamond 8810 e ainda não faço idéia do como, pode me ajudar?

André Déo disse...

Obrigado Felipe, comentários como o seu me incentivam a estar sempre escrevendo...

Abraços,

visaman disse...

Olha estou iniciando no zabbix e desculpe pela pergunta noob, mas como eu adiciono um switch se o mesmo não tem ip? Seria pelo mac address? E como seria a maneira correta? obrigado.

André Déo disse...

Visaman,

Se o Switch não tem IP ele não é gerenciável e não tem como ser monitorado, mas acredito que na realidade ele tenha IP (O default de fábrica), você que nunca alterou ele.

Abraços,

Ewerton Oliveira disse...

Caro André Deo,

sou iniciante no Zabbix e estou tentando monitorar um switch hp a3600 v2, mas sem sucesso. Habilitei o snmp no switch, mas quando adiciono o host ele nao reconhece. O simbolo do snmp fica vermelho e uma msg de que nao conseguiu conectar. O que seria?
Grato.

Jorge Henrique disse...

Boa noite Déo, Parabens pelo blog, gosto muinto de ler seus post...
Agora eu tenho uma duvida de onde eu tiros os dados da key

André Déo disse...

Ewerton complicado te responder só com essas informações.

Do servidor Zabbix faça um snmpwalk no IP do Switch e veja se consegue ler os dados, se não confirme a comunidade, se tem firewall na máquina.

Abraços,

André Déo disse...

Jorge no caso de monitoramento de SNMP é o parâmetro que ele retorna, como por exemplo ifOutOctets.

Na documentação tem os parâmentros que você pode usar com o agente:

https://www.zabbix.com/documentation/2.2/manual/appendix/items/supported_by_platform

https://www.zabbix.com/documentation/2.2/manual/config/items/itemtypes/zabbix_agent

https://www.zabbix.com/documentation/2.2/manual/config/items/itemtypes/zabbix_agent/win_keys

https://www.zabbix.com/documentation/2.2/manual/config/items/itemtypes/simple_checks/vmware_keys

Só para começar a brincadeira.

Abraços,

Marlon disse...

Fiquei com uma dúvida no meu switch HP V1910 caso eu use o comando

snmptranslate .1.3.6.1.2.1.67.1.2.1.1.2.0
iso.3.6.1.2.1.67.1.2.1.1.2.0

Nada acontece, existe algum tipo de base que ele consulta??

André Déo disse...

Blog IW,

Provavelmente você não tem a MIB desse equipamento.

Dê uma olhada na minha apostila:
http://andredeo.blogspot.com.br/2012/04/apostila-do-treinamento-gerenciamento.html

Abraços,

Unknown disse...

Ótimo Documento.
Porém Como Saber o "OID", Pra Monitorar a Temperatura de um Switch ?
(No Caso, Preciso do "OID" do 3COM 3600).


att,
Obrigado

André Déo disse...

Douglas vamos por partes,

Primeiro você precisa saber se essa informação de temperatura do Switch está disponível ou não via SNMP. Isso você~e descobre olhando a MIB do equipamento, depois você vai dar um snmpwalk | grep nome_do_campo (que tem a temperatura).
E depois transformar a OID em numérica e colocar no Zabbix.

Abraços,

Fábio disse...

Como eu vou olhar a MIB do equipamento?? Li sobre alguns programas chamados MIB Browser, é preciso de um programa como esse para auxiliar a descobrir qual OID devolve a informação de temperatura? estou tentando monitorar um nobreak CP Trunny.

Seu livro é show!!

André Déo disse...

Fábio,

Se você já tem um servidor Zabbix, você tem pelo menos um Linux, o desse servidor, ai você pode usar os comandos SNMP para ler os dados.

Aqui tem uma apostila minha sobre o assunto:
http://andredeo.blogspot.com.br/2012/04/apostila-do-treinamento-gerenciamento.html

Que bom que gostou do livro ;-)

Abraços,

Unknown disse...

Para nao ter que traduzir separado.
TROCAR -On POR -Os .

André Déo disse...

A ideia não é otimizar, mas fazer a pessoa entender o que está fazendo passo-a-passo ;-)

Abraços,

Zé Ricardo disse...

Bom Dia,

O Store value não existe na versão 4.0.2?

Unknown disse...

Sensacional!!! Estava quebrando a cabeça a dias sem conseguir coletar a informação que precisava, depois de lê o seus blog consegui fazer funcionar. Parabéns!

Unknown disse...

BOm dia Andre Deo, fantastico seu Blog, gostaria de saber se tem como no zabbix utilizar duas OIDs em um unico ITEM?

Desde já agradeço a atenção!