You are on page 1of 70

Zabbix

Monitoramento de
Ambientes na Prática
Zabbix - Monitoramento de Ambientes na Prática

Conteúdo Programático

Aula 1 - História e Instalação do Zabbix 3.0

Aula 2 - Configurações do Zabbix 3.0

Aula 3 - Trabalhando com Templates, Eventos e Gráficos

Aula 4 - Monitoramento Inteligente

Aula 5 - Gerenciamento do Zabbix


Zabbix - Monitoramento de Ambientes na Prática

Aula 4 - Monitoramento Inteligente

• Monitoramento de logs em arquivos do Windows.

• Funcionalidades de configuração de mapas de acesso web.

• Coletando variáveis MIB de roteadores.

• Criando Cenários Web.

• Comandos remotos e encaminhamento de mensagens em caso de ocorrência de


incidentes usando triggers inteligentes.
Zabbix - Monitoramento de Ambientes na Prática

Monitoramento de logs
O Zabbix tem a capacidade de monitorar arquivos de log, inclusive de sistemas
operacionais Windows, essa é uma ótima opção para automatizar processos que
dependem de uma ação caso aconteça algum problema, ou até mesmo uma
notificação relatando algo que aconteceu no sistema operacional.
Podemos verificar a temperatura de servidores Windows e caso chegue a uma
certa temperatura, envie uma notificação para o administrador, e é esse exemplo
que vamos colocar em prática.

O Zabbix não possui um item específico e nativo para monitorar temperaturas, por
isso vamos usar uma ferramenta para gerar o log e o Zabbix para capturar os
dados do log.
Zabbix - Monitoramento de Ambientes na Prática

Monitoramento de logs em arquivos do Windows


O primeiro passo a se fazer é baixar o software Real Temp 3.70, que pode ser
encontrado neste link:
https://www.techpowerup.com/downloads/2089/real-temp-3-70/start?server=6

Após fazer o download, crie uma pasta onde preferir, por exemplo
C:\RealTemp3.70\ e descompacte o download lá dentro.

Por fim execute a aplicação “RealTemp.exe”.


Zabbix - Monitoramento de Ambientes na Prática

Monitoramento de logs em arquivos do Windows


Depois que o software abrir clique em Settings.
Zabbix - Monitoramento de Ambientes na Prática

Monitoramento de logs em arquivos do Windows


Marque a opção Log File (seconds) e deixa em 30 segundos.
Zabbix - Monitoramento de Ambientes na Prática

Monitoramento de logs em arquivos do Windows


Verifique o arquivo de log em
C:\RealTemp3.70\RealTempLog.txt
Zabbix - Monitoramento de Ambientes na Prática

Monitoramento de logs em arquivos do Windows


Agora é preciso baixar o software Disk Temp, que pode ser encontrado neste
link:
http://www.satsignal.eu/software/DiskTemp.zip

Após fazer o download, crie uma pasta onde preferir, por exemplo
C:\DiskTemp\ e descompacte o download lá dentro.
Zabbix - Monitoramento de Ambientes na Prática

Monitoramento de logs em arquivos do Windows


Outro passo importante é o download de um pacote de softwares
interessante chamado UnxUtils, nele há executáveis de comandos Unix que
usaremos no nosso laboratório.
Nele podemos encontrar comandos como tail, cat, head, grep, etc. O link do
download é esse:
http://unxutils.sourceforge.net/UnxUpdates.zip

Após o download extraia os arquivos em alguma pasta e por fim copie os


executáveis ‘tail.exe’, ‘gawk.exe’ e ‘head.exe’ para dentro do
C:\Windows\System32
Zabbix - Monitoramento de Ambientes na Prática

Monitoramento de logs em arquivos do Windows


Para testar o RealTemp abra o prompt de comando do Windows e execute o
seguinte comando:

tail -1 C:\RealTemp3.70\RealTempLog.txt | gawk “{print $4}”


Zabbix - Monitoramento de Ambientes na Prática

Monitoramento de logs em arquivos do Windows


Para testar o Disk Temp abra o prompt de comando do Windows e execute o
seguinte comando:

C:\DiskTemp\DiskTemp.exe | head -1
Zabbix - Monitoramento de Ambientes na Prática

Monitoramento de logs em arquivos do Windows


Edite o arquivo de configuração do Zabbix Agent e adicione as três linhas
abaixo:
UserParameter=temp.tempcore0,tail -1 C:\RealTemp3.70\RealTempLog.txt | gawk "{print $4}"
UserParameter=temp.cpu.load,tail -1 C:\RealTemp3.70\RealTempLog.txt | gawk "{print $5}“
UserParameter=hdtemp,C:\DiskTemp\DiskTemp.exe | head -1
Zabbix - Monitoramento de Ambientes na Prática

Monitoramento de logs em arquivos do Windows


Após acrescentar as 3 linhas no arquivo, salve e reinicie o serviço do Zabbix
Agent.
Zabbix - Monitoramento de Ambientes na Prática

Monitoramento de logs em arquivos do Windows


No Zabbix Server execute os comandos e verifique o retorno:
# zabbix_get -s 192.168.1.4 -k temp.tempcore0
# zabbix_get -s 192.168.1.4 -k temp.cpu.load
# zabbix_get -s 192.168.1.4 -k hdtemp
Zabbix - Monitoramento de Ambientes na Prática

Monitoramento de logs em arquivos do Windows


Aba Configuração > Templates > Criar template
Preecha os campos
Zabbix - Monitoramento de Ambientes na Prática

Monitoramento de logs em arquivos do Windows


Criando novo item do template com a chave ‘temp.tempcore0’
Crie mais dois itens com as duas outras chaves
Zabbix - Monitoramento de Ambientes na Prática

Monitoramento de logs em arquivos do Windows


Criando novo gráfico do template com os três itens
Zabbix - Monitoramento de Ambientes na Prática

Monitoramento de logs em arquivos do Windows


Por último associe o host Windows ao template e verifique os dados e gráfico
Zabbix - Monitoramento de Ambientes na Prática

Mapas
No Zabbix também é possível criar mapas de sua infraestrutura, este é um
passo interessante pra quem pretende ter uma documentação de como
funciona sua rede.
O processo de criação de mapas de rede pode ser definido em duas etapas,
sendo que a primeira é a configuração dos parâmetros gerais (externos) do
mapa, e a segunda etapa é a configuração dos elementos e dos links entre
eles (interna).
É possível popular um mapa com elementos como hosts, grupo de hosts,
triggers, imagens ou outros mapas.
Zabbix - Monitoramento de Ambientes na Prática

Criando mapas
Aba Monitoramento > Mapas > Criar mapa
Zabbix - Monitoramento de Ambientes na Prática

Criando mapas
Aba Compartilhamento
A aba Compartilhamento é usada caso queira compartilhar seus mapas com usuários ou grupos
Zabbix - Monitoramento de Ambientes na Prática

Criando mapas
Construindo o mapa
Clique no botão Construtor
Zabbix - Monitoramento de Ambientes na Prática

Criando mapas
Adicionando novo ícone
Clique no botão Adicionar, que está na frente de ícone
Zabbix - Monitoramento de Ambientes na Prática

Criando mapas
Configurando elemento
Clique no ícone criado e preencha os campos
Zabbix - Monitoramento de Ambientes na Prática

Criando mapas
Criando novo ícone
Crie um novo ícone, porém agora apontando para o Zabbix Server
Zabbix - Monitoramento de Ambientes na Prática

Criando mapas
Criando um link
Selecione os 2 ícones segurando a tecla CTRL, depois clique em Adicionar na frente de Link
Zabbix - Monitoramento de Ambientes na Prática

Criando mapas
Editando um link
Clique no botão Editar e preencha os campos
Zabbix - Monitoramento de Ambientes na Prática

Criando mapas
Criando uma trigger
Adicione uma trigger, por exemplo a Zabbix agent on Servidor Linux is unreachable for 5 minutes
Zabbix - Monitoramento de Ambientes na Prática

Criando mapas
Atualizando mapa
No final o mapa ficará dessa forma, cliquem em Atualizar e faça um teste, desative a interface de
rede do Zabbix Agent
Zabbix - Monitoramento de Ambientes na Prática

Criando mapas
Destacando problema na rede pelo mapa
O mapa ficará em destaque mostrando o que está acontecendo e qual trigger está sendo acionada.
Inicie a interface de rede do Zabbix Agent e verifique que o mapa voltará ao normal
Zabbix - Monitoramento de Ambientes na Prática

Variáveis MIB
MIB é uma base de informação de gerenciamento, são variáveis organizadas
de forma hierárquica nos hosts e exibem diversos tipos de valores que são
utilizados para gerencia e análise de redes.
O número de variáveis é bem grande, cerca de milhares, e para manter essa
estrutura organizada foi adotado um formato de árvore. Como no exemplo
abaixo:
Zabbix - Monitoramento de Ambientes na Prática

Variáveis MIB
A identificação de um objeto é realizada através do caminho disposto entre a
raiz e o objeto desejado, por exemplo um objeto com o OID (Object
Identifier) igual a iso.org.dod.internet.mgmt.mib-2.system.sysDescr identifica
um objeto simples que tem uma única instancia, cujo seu nome simbólico é
iso.org.dod.internet.mgmt.mib-2.system.sysDescr.0.
Já o nome numérico desse objeto seria 1.3.6.1.2.1.1.1.0. Se comparar o
nome simbólico com o nome numérico é possível ver que os dois percorrem
o mesmo caminho na árvore MIB.
Zabbix - Monitoramento de Ambientes na Prática

Descobrindo OID
O comando snmpwalk pode ser utilizado para obter uma lista dos OIDs de
dispositivos. Um exemplo de como usá-lo é:
# snmpwalk -v 2c -c public <host IP>

O 2c significa a versão do SNMP, ou seja, nesse comando será usado a


segunda versão do SNMP. O public significa a comunidade de leitura
(community) do dispositivo, por padrão ela é public, mas pode ser facilmente
alterada.
Zabbix - Monitoramento de Ambientes na Prática

Descobrindo OID
Considerando que desejamos monitorar o volume em bytes que é recebido
pela interface do roteador, iremos capturar o OID IF-MIB::ifInOctets,
conforme no exemplo:
# snmpwalk -v 2c -c public <host IP> ifInOctets

Agora será usado o comando snmpget para descobrir o número associado


ao nome de OID:
# snmpget -v 2c -c public -On <host IP> ifInOctets.10000
Zabbix - Monitoramento de Ambientes na Prática

Trabalhando com MIBs


Após descobrir o nome simbólico e numérico do OID iremos criar um host
que será nosso roteador e por enquanto não iremos atribuir um template
para esse host.
Lembrando que para funcionar, é necessário ativar a opção de SNMP do seu
equipamento.
Zabbix - Monitoramento de Ambientes na Prática

Trabalhando com MIBs


Aba Configuração > Host > Criar Host
No campo Interface SNMP coloque o IP do seu roteador, e no campo Interface do agente deixe
desativada
Zabbix - Monitoramento de Ambientes na Prática

Trabalhando com MIBs


Criando item interface de entrada
Crie um item no host roteador, e preencha os campos de forma semelhante a este exemplo,
lembrando que o campo SNMP OID pode ser diferente para outro equipamento
Zabbix - Monitoramento de Ambientes na Prática

Trabalhando com MIBs


Criando item interface de saída
Crie mais um item no host roteador, e preencha os campos de forma semelhante a este exemplo,
lembrando que o campo SNMP OID pode ser diferente para outro equipamento
Zabbix - Monitoramento de Ambientes na Prática

Trabalhando com MIBs


Criando gráfico
Por último crie um gráfico com os dados coletados através de protocolo SNMP e MIBs e teste o
gráfico
Zabbix - Monitoramento de Ambientes na Prática

Trabalhando com MIBs


Atribuindo template
Por fim vamos associar um template a este host, pois o template já possui grande parte dessas
configurações de MIBs pronta
Zabbix - Monitoramento de Ambientes na Prática

Monitoramento Web
O Zabbix também possibilita a verificação da disponibilidade de vários
aspectos de sites web. Essa função é realizada através de cenários web,
que consiste em uma ou mais requisições HTTP em forma de passos.
O passos são executados periodicamente pelo Zabbix Server em uma ordem
pré-definida.
Os cenários web coletam informações como velocidade média de download
de todos os passos do cenário, número de passos com falha e última
mensagem de erro. E cada passo do cenário web coleta informações como
velocidade de download por segundo, tempo de resposta e código de
resposta.
Zabbix - Monitoramento de Ambientes na Prática

Criando um cenário web


Para criar um cenário web iremos usar o servidor que já instalamos o Apache
anteriormente. Acesse o host e clique na opção Cenários web, depois clique
em Criar cenário web.
Zabbix - Monitoramento de Ambientes na Prática

Criando um cenário web


Preencha os campos conforme abaixo, o agente podemos escolher
outro navegador pois será realizado apenas requisições HTTP.
Zabbix - Monitoramento de Ambientes na Prática

Criando um cenário web


Agora iremos adicionar os passos necessários para o monitoramento, clique
no Adicionar.
Zabbix - Monitoramento de Ambientes na Prática

Criando um cenário web


O campo URL é o endereço da página que pretende monitorar, que no caso
é o Servidor Apache, já o campo Código de status requerido é o código de
retorno do status HTTP, no caso 200 significa que a resposta a solicitação
HTTP foi OK.
Zabbix - Monitoramento de Ambientes na Prática

Criando um cenário web


Agora verifique o cenário web, vá na aba Monitoramento > Web.
Já é possível ver o Status da verificação, a última checagem e o número de
passos usado.
Clique no link Servidor Apache.
Zabbix - Monitoramento de Ambientes na Prática

Criando um cenário web


Para que a captura de dados comece a ocorrer, acesse a página do Apache
no navegador.
Zabbix - Monitoramento de Ambientes na Prática

Criando um cenário web


Por fim verifique os dados coletados.
Zabbix - Monitoramento de Ambientes na Prática

Usando comandos remotos e o Monitoramento Inteligente


Através da opção de usar comandos remotos do Zabbix, é possível definir
algum determinado comando para que seja executado automaticamente no
host monitorado, isso quando alguma condição for atendida.
Estes comandos remotos são interessantes pois se trata de um
monitoramento proativo inteligente.

EXEMPLO:
Usando parte do conhecimento adquirido nos hosts, itens e triggers,
criaremos uma situação que usará comandos remotos.
No host onde está instalado o Zabbix Agent será usado um comando remoto
para iniciar o Apache.
Zabbix - Monitoramento de Ambientes na Prática

Usando comandos remotos e o Monitoramento Inteligente


Primeiro passo é instalar o Apache no Host
# apt-get install apache2
Zabbix - Monitoramento de Ambientes na Prática

Usando comandos remotos e o Monitoramento Inteligente


Edite o arquivo de configuração do agente
# vim /usr/local/etc/zabbix_agentd.conf
Zabbix - Monitoramento de Ambientes na Prática

Usando comandos remotos e o Monitoramento Inteligente


Descomente e altere os valores
EnableRemoteCommands=1
LogRemoteCommands=1
Zabbix - Monitoramento de Ambientes na Prática

Usando comandos remotos e o Monitoramento Inteligente


Reinicie o Zabbix Agent
# /etc/init.d/zabbix-agent restart
Zabbix - Monitoramento de Ambientes na Prática

Usando comandos remotos e o Monitoramento Inteligente


Edite o arquivo /etc/sudoers através do comando visudo
# visudo
Zabbix - Monitoramento de Ambientes na Prática

Usando comandos remotos e o Monitoramento Inteligente


Adicione na última linha do arquivo
zabbix ALL=(ALL) NOPASSWD: /etc/init.d/apache2 restart
Zabbix - Monitoramento de Ambientes na Prática

Usando comandos remotos e o Monitoramento Inteligente


Aba Configuração > Hosts > (Host do Apache2) > Itens > Criar item
Zabbix - Monitoramento de Ambientes na Prática

Usando comandos remotos e o Monitoramento Inteligente


Preencha os campos dessa forma
Zabbix - Monitoramento de Ambientes na Prática

Usando comandos remotos e o Monitoramento Inteligente


Aba Configuração > Hosts > (Host do Apache2) > triggers > Criar trigger
Zabbix - Monitoramento de Ambientes na Prática

Usando comandos remotos e o Monitoramento Inteligente


Preencha os campos dessa forma
Zabbix - Monitoramento de Ambientes na Prática

Usando comandos remotos e o Monitoramento Inteligente


Aba Configuração > Ações > Criar ação
Na caixa origem do evento é necessário que esteja selecionado a opção Triggers
Zabbix - Monitoramento de Ambientes na Prática

Usando comandos remotos e o Monitoramento Inteligente


Preencha os campos
Zabbix - Monitoramento de Ambientes na Prática

Usando comandos remotos e o Monitoramento Inteligente


Preencha os campos
Zabbix - Monitoramento de Ambientes na Prática

Usando comandos remotos e o Monitoramento Inteligente


Preencha os campos
Zabbix - Monitoramento de Ambientes na Prática

Usando comandos remotos e o Monitoramento Inteligente


Para testar a configuração primeiro pare o serviço do apache usando o
comando:
# /etc/init.d/apache2 stop

É possível acompanhar o log do agente usando o comando tail:


# tail -f /tmp/zabbix_agentd.log
Zabbix - Monitoramento de Ambientes na Prática

Usando comandos remotos e o Monitoramento Inteligente


Zabbix - Monitoramento de Ambientes na Prática

Usando comandos remotos e o Monitoramento Inteligente


Zabbix - Monitoramento de Ambientes na Prática

Usando comandos remotos e o Monitoramento Inteligente


Como sei qual a chave devo usar quando vou criar o item?
Estas chaves já estão pré-configuradas no Zabbix, cada chave tem sua
explicação de como usar e qual valor ela retorna. Essas informações são
encontradas neste link:

https://www.zabbix.com/documentation/3.0/pt/manual/config/items/itemtypes/zabbix_agent
Zabbix - Monitoramento de Ambientes na Prática

Usando comandos remotos e o Monitoramento Inteligente


Como a trigger funciona?
A trigger verifica o valor da chave net.tcp.service para tomar alguma atitude,
de acordo com o link anterior quando o valor for 1 significa que o serviço está
ativo e recebendo requisições na porta especificada. Já quando o valor for 0,
significa que o serviço está inativo.
O comando remoto para reiniciar o apache será executado quando a o valor
da chave do item for igual a 0, a trigger é responsável por verificar este valor
e disparar a ação necessária.
Baseado neste lógica é possível criar diversos comandos remotos para
deixar o ambiente o mais proativo possível.
https://www.zabbix.com/documentation/3.0/pt/manual/appendix/triggers/functions
Zabbix - Monitoramento de
Ambientes na Prática

Dúvidas
maikilsoares@gmail.com

You might also like