quinta-feira, 5 de junho de 2014

Monitoramento de OIDs Dinamicas com LLD


Introdução:
Ao monitorarmos equipamentos por SNMP, encontramos muitos dispositivos que possuem OIDs dinâmicas, ou seja, a informação está em um endereço que não é previsível, a mesma informação referente a dois itens do mesmo tipo, do mesmo equipamento, estão em endereços completamente diferentes, e você se pergunta: Mas é a mesma informação como isso pode acontecer? Vou dar alguns exemplos e você vai entender melhor. Nesse exemplo estou usando antenas wireless conectadas a um controlador.

O Problema:
Vamos analisar primeiro uma OID Simples, os SSIDs que divulgo nas antenas:
# snmpwalk -Oqn credenciais IP .1.3.6.1.4.1.25053.1.2.2.1.1.1.1.1.108

.1.3.6.1.4.1.25053.1.2.2.1.1.1.1.1.108.1 "SSID01"
.1.3.6.1.4.1.25053.1.2.2.1.1.1.1.1.108.2 "SSID02"
.1.3.6.1.4.1.25053.1.2.2.1.1.1.1.1.108.3 "SSID03"

Agora vamos analisar uma OID Dinâmica, o nome de cada antena:
# snmpwalk -Oqn credenciais IP .1.3.6.1.4.1.25053.1.2.2.1.1.2.1.1.2.6.44

.1.3.6.1.4.1.25053.1.2.2.1.1.2.1.1.2.6.44.93.147.0.46.0 Antena01
.1.3.6.1.4.1.25053.1.2.2.1.1.2.1.1.2.6.44.93.147.0.205.240 Antena02
.1.3.6.1.4.1.25053.1.2.2.1.1.2.1.1.2.6.44.230.204.42.248.32 Antena03
.1.3.6.1.4.1.25053.1.2.2.1.1.2.1.1.2.6.44.230.204.43.25.0 Antena04

Observando as partes em vermelho, fica fácil entender o problema, é a mesma informação do mesmo equipamento, as antenas são equipamentos individuais, mas como estou lendo o dado do controlador, são o mesmo tipo de objeto, o objeto que representa o nome da antena que está sendo gerenciada, mas em endereços completamente diferentes.

O recurso de LLD
Todos nós estamos acostumados a usar o LLD para automatizar a descoberta de itens do primeiro caso, OID Simples, mas e as OIDs dinâmicas?

Depois de muito procurar no fórum, pesquisar na web, achei alguns scripts para resolver o problema, mas não estava contente, eu queria resolver o problema com os recursos nativos do Zabbix, o que parecia impossível. Então eu tive uma idéia louca: E se eu passar a parte igual da OID para o Zabbix e deixar ele achar o resto será que funciona? SIM FUNCIONA!!!

Criando as regras
Regra de Descoberta
Protótipo de Item
Resultado do LLD



Conclusão
O LLD se mostrou muito mais poderoso do que pensávamos e, inclusive muito mais poderoso do que está documentado.

Informação Adicional
Pelo que apurei esse recurso está usando índice composto, isto não funciona em versões anteriores do Zabbix, mas foi adicionado no 2.2. Deveria ter sido documento na parte índice dinâmico, mas provavelmente eles não tinham exemplos específicos de LLD.

Dica
Se você tiver uma ideia maluca teste, teste de novo e de novo!

Monitoring dynamic OIDs with LLD


Introduction:
When we are monitoring equipment’s via SNMP, we find many devices that have dynamics OIDs, ie, the information is in an address that is not predictable, the same information concerning two items of the same type, at the same equipment, are in completely different addresses, and you ask: But is the same information as why this can happen? I'll give you some examples and you will understand better. In this example I'm using wireless access point’s connected to a controller.

The Problem:
Let us first analyze a single OID, the SSIDs that I’ll divulge in the AP’s:
# snmpwalk -Oqn credentials IP .1.3.6.1.4.1.25053.1.2.2.1.1.1.1.1.108

.1.3.6.1.4.1.25053.1.2.2.1.1.1.1.1.108.1 "SSID01"
.1.3.6.1.4.1.25053.1.2.2.1.1.1.1.1.108.2 "SSID02"
.1.3.6.1.4.1.25053.1.2.2.1.1.1.1.1.108.3 "SSID03"

Now we will analyze a Dynamic OID, the name of AP:
# snmpwalk -Oqn credentials IP .1.3.6.1.4.1.25053.1.2.2.1.1.2.1.1.2.6.44

.1.3.6.1.4.1.25053.1.2.2.1.1.2.1.1.2.6.44.93.147.0.46.0 AP01
.1.3.6.1.4.1.25053.1.2.2.1.1.2.1.1.2.6.44.93.147.0.205.240 AP02
.1.3.6.1.4.1.25053.1.2.2.1.1.2.1.1.2.6.44.230.204.42.248.32 AP03
.1.3.6.1.4.1.25053.1.2.2.1.1.2.1.1.2.6.44.230.204.43.25.0 AP04

Note the red part, it is easy to understand the problem is the same information for the same equipment, the AP’s are individual equipment, but as I'm reading the data from the controller are the same type of object, the object that represents the name of the AP being managed, but in completely different addresses.

The LLD resource
We are all accustomed to using the LLD to automate the discovery of the first case of items, OID Simple, but and dynamic OIDs?
After much searching on the forum, search the web, I found some scripts to solve this problem, but was not happy, I wanted to solve the problem with the native capabilities of Zabbix, which seemed impossible. So I had a crazy idea: What if I inform the equal portion of the OID for Zabbix and let him find the rest will it work? YES IT WORKS!

Creating rules





Item Prototype
 





LLD Result





Conclusion

The LLD proved much more powerful than we thought and even more powerful than is documented.


Tip
If you have a crazy idea,  test it, test again and again!

quarta-feira, 26 de março de 2014

Análise do Livro “Monitoramento de Redes com Zabbix – Janssen dos Reis Lima”


Introdução

Na sexta-feira (21/03/2014) chegou meu exemplar do livro, não perdi tempo e no sábado devorei as 169 páginas de conteúdo, mas aqui cabem algumas ressalvas:
  • Eu leio muito rápido; 
  •  Eu domino o assunto, só fui lendo, não tive que parar para entender nada; 
  •  O livro está escrito em uma linguagem muito agradável.
Antes mesmo de chegar meu exemplar, várias pessoas me perguntaram se valia pena comprar o livro, e que eu precisava fazer uma análise do mesmo, pois bem aqui está.

Vale a pena comprar o livro?

Sim vale a pena comprar o livro para quem quer ter uma visão geral do Zabbix, principalmente para quem está começando ou para quem busca um passo-a-passo sequencial de como utilizar a ferramenta.
O livro cobriu todo o conteúdo que se propôs, fez uma sequencia lógica de aprendizado e está em Português!

Eu já domino o Zabbix vale a pena ter o livro?

Vamos lá, você realmente domina o Zabbix? Tem certeza que não tem nada para aprender? Eu sou da opinião que sempre aprendemos algo novo, mas se achar que não vale o investimento em algo que vai te acrescentar pouco, faça o investimento como incentivo ao autor, não é fácil escrever um livro e este é o primeiro livro sobre o assunto em Português, eu acho que todos que trabalham com Zabbix no Brasil deveriam comprar, nem que seja como forma de incentivo para que novos livros sejam lançados.

Você encontrou problemas no livro?

O livro no geral é muito bom, existem alguns problemas, uns mais simples como um pequeno erro de digitação e outros casos em que o autor poderia ter citado um exemplo, ou abordado uma determinada função, mas nada que invalide o livro. O próprio autor disponibilizou no blog dele um documento com as correções , vou apresentar abaixo apenas algumas sugestões e opiniões, ou seja, meu ponto de vista.

Faltou falar de Itens calculados, esse é um assunto extremamente importante e dependendo do conhecimento do usuário pode aumentar em muito a utilização do Zabbix como ferramenta no apoio ao negócio. Mas nesse contexto também é um assunto mais avançado do que o autor buscou abordar no livro.

Página 14

O autor afirma:
"Resta saber se esta opção vai lhe atender a contento. Somente fazendo testes você terá uma resposta." Referindo-se o Zabbix Applience.
Porém na página da ZABBIX SIA encontramos a recomendação que o mesmo não deve ser usado em produção: “The Appliance is not intended for serious production use at this time.”

Replica do Autor

“Entendo a sua observação. Porém, eu não disse que poderia ser utilizado em produção. Sobre atender a contento, me referi sobre ao aprendizado de fazer uma instalação ou utilizar o applience.”

Página 47

Poderia ter falado que a instalação nos traz uma série de templates default, mas que devemos utiliza-los com cuidado, pois a quantidade de itens é muito alta, e tempo de coleta é muito baixo. 

Página 50

Começa criando um novo host, mas poderia ter ativado o próprio Zabbix Server antes, que por default não vem ativado.

Replica do Autor

“O intuito foi de ensinar a criar um host mesmo. Mas vale a pena explicar isso.”

Página 59

O exemplo só é válido para servidores de e-mails não autenticados. O ideal seria dar um exemplo na parte de scripts de como usar um servidor autenticado.

Replica do Autor

“Na própria página eu informo que "pressupomos que você já tenha em sua rede um servidor de e-mail configurado e funcionando corretamente." Veja bem, como no exemplo da criação do usuário, eu não quis entrar em detalhes "técnicos" referente à configurações paralelas.”

Página 65

O autor cita uma trigger que poderia ser criada, deveria ter dado o exemplo de como cria-la.

Página 91

Seria legal dizer que para mover os painéis basta clicar na barra de título do painel, segurar e arrastar para a nova posição. O autor diz que é possível move-los, mas não diz como.

Página 99

O autor exibe um mapa com a velocidade do link, mas não explica como fazer isso.  O que na realidade é bem simples:
Na edição do mapa selecione 2 hosts (Utilizando a tecla Ctrl) e crie o link entre eles (Clicando no botão “+” de Link).
Em “Vínculos entre os elementos selecionados”, clique no botão “Editar”. Em Texto coloque as informações desejadas, depois clique em “Aplicar” e “Fechar”.

Exemplo de Informações para Linux:
Entrada: {Nome_do_Host:net.if.in[eth2].last(0)}
Saída: {Nome_do_Host:net.if.out[eth2].last(0)}

Exemplo de Informações para Windows:
Entrada: { Nome_do_Host:net.if.in[VIA Rhine II Fast Ethernet Adapter].last(0)}
Saída: { Nome_do_Host:net.if.out[VIA Rhine II Fast Ethernet Adapter].last(0)}
Onde “VIA Rhine II Fast Ethernet Adapter” é o nome da placa de rede no Windows.

Página 100

Em telas faltou explicar o recurso de item dinâmico. Quando você criar um novo item em uma tela, por exemplo, um gráfico ele tem um checkbox chamado “Item dinâmico”, imagine que eu pegue o gráfico do disco C: para uma máquina Windows. Ao visualizar essa tela eu posso escolher qualquer um dos meus servidores Windows, ao trocar o servidor, o gráfico do disco C: vai ser atualizado com as informações da máquina que eu escolhi, desde que esse gráfico exista na máquina selecionada.

Página 101

Na parte de relatórios o autor poderia exemplificar os tipos de gráficos em barra.

Página 120

Poderia ter colocado a saída do comando “pegamac”.

Página 144

Só uma observação que no caso dessa OID específica (OID 1.3.6.1.2.1.43.10.2.1.4.1.1), ela é fixa, ou seja, não importa a marca e modelo de impressora, o número de páginas impressas sempre vai estar nessa OID.

Página 153

O autor cita o monitoramento de Logs, poderia ter dado um exemplo disso.

Pontos Positivos

Abaixo estão listados os temas que eu fiquei feliz de encontrar no livro. Esses são temas que agregam bastante para quem está trabalhando com Zabbix, principalmente para quem está iniciando os estudos da ferramenta.

Páginas 12 e 13

Planejando o crescimento do banco de dados.

Página 63

Tipos de macro.

Página 78

Intervalo Flexível.

Página 110

Referências dos códigos de retorno de servidores web.

Página 120

Informação sobre o tamanho máximo de dados de um item de UserParameter.