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.

sexta-feira, 28 de fevereiro de 2014

Verificando a data de expiração do Certificado do SSL no Linux com Zabbix


Introdução

Independentemente de o certificado ter sido adquirido junto a uma empresa certificadora, ou gerado internamente, ele tem uma validade e quando ela expirar os serviços que fazem uso desse certificado, vão apresentar problemas, para evitar isso iremos colher os dados do certificado via Shell Script e monitorar essa informação com o Zabbix.



Obtendo informações do Certificado

Digite o comando abaixo para visualizar as datas de validade do seu certificado

# echo | openssl s_client -connect localhost:443 2>/dev/null | openssl x509 -noout -dates

A sequencia de comandos abaixo é usada para cortar apenas o pedaço da informação que nos interessa, a data, a opção tr -s " " é utilizada para remover espaços duplicados, pois isso causaria problema em datas com um (Aug 6) ou dois (Aug 26) dígitos, de resto você pode ir executando o comando parte por parte e acompanhar o que acontece ;-)
#  echo | openssl s_client -connect localhost:443 2>/dev/null | openssl x509 -noout -dates | tail -1 | tr -s " " |cut -d "=" -f2 | cut -d " " -f1,2,4

Automatizando a leitura da Informação

certificado.sh

Vamos criar um script em bash para executar os comandos, nomeei-o de certificado.sh

 Alterar as permissões de execução e proprietário
# chown zabbix:zabbix /usr/local/etc/certificado.sh
# chmod 500 /usr/local/etc/certificado.sh


Configurando a informação no Zabbix

Configuração do agente

Vamos utilizar o recurso de UserParameter para que o Zabbix execute o script certificado.sh, após alterar o arquivo de configuração é necessário reiniciar o serviço.

Testando a leitura da informação

Vamos utilizar o comando zabbix_get para testar a leitura da informação. A sintaxe é zabbix_get -s IP_do_Servidor_Monitorado -k chave.

Criando o item no Zabbix

Acesse a interface do Zabbix // Configuração -> Hosts // Na linha do servidor clique em Itens // Clique no botão Criar item. Configure o item conforme imagem abaixo.

Observe que vamos monitorar o item a cada 24 horas (86400 segundos).

Download dos scripts

O script pode ser baixado aqui.

Referências

Blog do Vicente

terça-feira, 25 de fevereiro de 2014

Verificando a data de expiração do Certificado do Exchange com PowerShell e Zabbix



Introdução



Independentemente de o certificado ter sido adquirido junto a uma empresa certificadora, ou gerado internamente, ele tem uma validade e quando ela expirar os serviços do Exchange vão apresentar problemas, para evitar isso iremos colher os dados do certificado via PowerShell e monitorar essa informação com o Zabbix.


Obtendo informações do Certificado


Abra o Exchange Management Shell
 

Entre no diretório do certificado

cd Cert:\LocalMachine\My

Digite o comando abaixo para visualizar todos os seus certificados
Get-ChildItem

Verificando as informações de um certificado em particular
Get-ChildItem -Path E9***************************************3D2 | Format-List

Mas o que nos interessa é um objeto em particular, a data de expiração
Get-ChildItem -Path E9***************************************3D2 | Format-List -Property NotAfter


A sequencia de comandos abaixo é usada para transformar esse objeto em texto (String) e cortar apenas o pedaço da informação que nos interessa: a data. Você pode ir executando o comando parte por parte e acompanhar o que acontece ;-)
Get-ChildItem -Path E9***************************************3D2 | Format-List -Property NotAfter | Out-String | %{$_.split(':')[1]} | %{$_.split(' ')[1]} | %{$_.split(' ')[0]}
 


Automatizando a leitura da Informação

certificado.ps1

A primeira parte é criar um script em PowerShell para executar os comando acima, nomeei-o de certificado.ps1

Como pode ser observado acima a saída do comando, que é a data de expiração do certificado será armazenada no arquivo C:\Zabbix\certificado_tmp.txt

certificado.bat

Criei um pequeno arquivo .bat que chama o script em PowerShell, esse arquivo será utilizado no Agendador de Tarefas e diariamente irá gerar o arquivo com a data de expiração do certificado, teoricamente isso não é necessário, já que a data de expiração do certificado não muda, mas o seguro morreu de velho and shit happens ;-)


Confirme no executável do Exchange Management Shell o caminho do atalho.

Agendador de Tarefas

Abra o Agendador de Tarefas



Clique em Criar tarefa básica



Coloque um nome e Descrição e clique em Avançar


Marque a opção Diariamente e clique em Avançar


Marque para começar na data atual, no horário que lhe for mais conveniente e clique em Avançar


Escolha a opção Iniciar um programa e clique em Avançar


Coloque o caminho do script e clique em Avançar


Clique em Finalizar

Configurando a informação no Zabbix

Configuração do agente

Vamos utilizar o recurso de UserParameter para que o Zabbix leia a informação do arquivo certificado.txt, após alterar o arquivo de configuração é necessário reiniciar o serviço.

Testando a leitura da informação

Vamos utilizar o comando zabbix_get para testar a leitura da informação. A sintaxe é zabbix_get -s IP_do_Servidor_Monitorado -k chave.

Criando o item no Zabbix

Acesse a interface do Zabbix // Configuração -> Hosts // Na linha do servidor clique em Itens // Clique no botão Criar item. Configure o item conforme imagem abaixo.

Observe que vamos monitorar o item a cada 24 horas (86400 segundos).

Download dos scripts

Os scripts podem ser baixados aqui. Não se esqueça de colocar a informação referente ao seu certificado no script certificado.ps1

Referências