O presente trabalho de conclusão de curso submetido como requisito parcial à
obtenção do grau de técnico em Manutenção e Suporte em Informática objetivava
demonstrar funcionalidades da ferramenta Zabbix através da implementação do
monitoramento automatizado e a geração de dados para tomadas de decisão sobre
diversos ativos de rede como, por exemplo, switches, roteadores e servidores. Para
implementar o monitoramento, será utilizado tanto o Ubuntu Server como também o
Windows Server através da ferramenta Zabbix e a construção de mecanismo de
alerta aos administradores da rede. Zabbix é um software livre e de código fonte
aberto com sistema que possibilita observar as condições de toda sua infraestrutura
de rede, além de aplicações e serviços como http, pop3, imap e ssh sem uso de
agentes. Ele possui um mecanismo de alerta que permite o recebimento de e-mails
e/ou mensagens de texto no celular possibilitando, assim, uma redução dos custos e
do tempo da equipe de profissionais que prestam manutenção.
Monitoramento de servidores e ativos de rede com zabbix
1. 1 Estudante do Curso Técnico em Manutenção e Suporte em Informática do Instituto Federal de
Educação, Ciência e Tecnologia Sul-rio-grandense, Campus Camaquã. E-mail:
sergiomachado11@gmail.com.
2 Professor Orientador do Instituto Federal de Educação, Ciência e Tecnologia Sul-rio-grandense,
Campus Camaquã. Mestre em Engenharia Elétrica pela Pontifícia Universidade Católica de Pelotas
UCPEL, 2002. E-mail: kwecko@camaqua.ifsul.edu.br.
Monitoramento de servidores e ativos de rede com Zabbix
Sérgio Roberto Makoski Machado1
Marcelo Rios Kwecko2
RESUMO
O presente trabalho de conclusão de curso submetido como requisito parcial à
obtenção do grau de técnico em Manutenção e Suporte em Informática objetivava
demonstrar funcionalidades da ferramenta Zabbix através da implementação do
monitoramento automatizado e a geração de dados para tomadas de decisão sobre
diversos ativos de rede como, por exemplo, switches, roteadores e servidores. Para
implementar o monitoramento, será utilizado tanto o Ubuntu Server como também o
Windows Server através da ferramenta Zabbix e a construção de mecanismo de
alerta aos administradores da rede. Zabbix é um software livre e de código fonte
aberto com sistema que possibilita observar as condições de toda sua infraestrutura
de rede, além de aplicações e serviços como http, pop3, imap e ssh sem uso de
agentes. Ele possui um mecanismo de alerta que permite o recebimento de e-mails
e/ou mensagens de texto no celular possibilitando, assim, uma redução dos custos e
do tempo da equipe de profissionais que prestam manutenção.
Palavras-chave: monitoramento; Zabbix; rede.
ABSTRACT
This work of completion submitted as partial requirement for the degree of Technical
Maintenance and Support Informatics aims to demonstrate features of Zabbix tool
through the implementation of automated monitoring and generation of data for
decision-making on many network assets as for example, switches , routers and
servers . To implement the monitoring, will be used both Ubuntu Server as well as
Windows Server Zabbix tool and through the construction of alert mechanism for
network administrators. Zabbix is a free and open source system that allows to
observe the conditions of your entire network infrastructure software, and
applications and services such as http, pop3, imap, ssh without using agents. He has
an alert mechanism that allows receiving e-mails and/or text messages on mobile
phone, thus enabling a reduction in costs and staff time professionals who provide
maintenance.
2. Keywords: monitoring; Zabbix; network.
INTRODUÇÃO
Atualmente, as redes de computadores são cruciais para o bom andamento e
desempenho dos trabalhos empresariais e pessoais, tendo em vista o crescimento
das tecnologias e serviços que utilizam este meio para transmissão dos dados.
O administrador de rede trabalha para prevenir, detectar e corrigir as
deficiências e vulnerabilidades na rede que atrapalhem a comunicação, é o
responsável pelo monitoramento e controle dos sistemas da rede, pois falhas de
hardware e software podem acontecer.
Servidores inativos têm um custo muito elevado, por isto, faz-se necessário
ter uma fonte de dados disponível para consulta imediata no caso de quedas,
congestionamento, mal funcionamento ou qualquer anormalidade que afete
servidores ou a rede de computadores.
Neste sentido, o monitoramento dos dispositivos de rede auxilia o
administrador em seu trabalho, desde que seja utilizada uma ferramenta que
monitore tais dispositivos. Alexei Vladishev desenvolveu o Zabbix, uma solução de
código aberto para o monitoramento de redes distribuída, ele baseou-se no conceito
de SMI em conjunto com o SNMPv2 e v3. Entre as opções disponíveis no mercado a
ferramenta gratuita e mais completa encontrada é o Zabbix.
O Zabbix tem agentes para diversas plataformas proporcionando uma maior
liberdade, além disto, oferece monitoramento distribuído, com administração
centralizada via web, um mecanismo de notificação flexível que permite a
configuração de e-mails alertas para praticamente todo evento, autenticação segura
e permissões de usuários flexíveis.
Neste contexto, este trabalho teve como objetivo demonstrar as
funcionalidades da ferramenta Zabbix para o monitoramento de ativos de rede e
servidores tanto Linux como Windows Server, gerando uma base de dados e
elaborando mecanismos de alerta ao administrador de rede sobre qualquer anomalia
na rede.
1 REFERENCIAL TEÓRICO
1.1 Redes de computadores
Segundo Tanenbaum (2003, p.18) redes de computadores consistem em um
conjunto de computadores autônomos interconectados por uma única tecnologia.
Com base neste mesmo autor (2003, p.19)
3. [...] até mesmo uma pequena agência de viagens ou uma firma
jurídica com três pessoas depende intensamente de redes de computadores
para permitir aos seus funcionários acessarem informações e documentos
relevantes de forma instantânea.
1.2 Redes locais
As redes locais, também chamadas de LANs, são de redes privadas
contidas em um único local, podendo ser uma escola, ou um edifício, com até alguns
quilômetros de extensão. De acordo com Tanenbaum (2003, p.29)
Elas são amplamente usadas para conectar computadores pessoais e
estações de trabalho em escritórios e instalações industriais de empresas,
permitindo o compartilhamento de recursos (por exemplo, impressoras) e a
troca de informações.
1.3 Zabbix
Neste contexto, pode ser empregado o uso de uma ferramenta gratuita de
monitoramento de rede open source (código livre), o Zabbix, que representa uma
alternativa de baixo custo para monitorar a performance e disponibilidade de
serviços e ativos da rede, ou seja, desde aplicações envolvidas na rede, até os
inúmeros equipamentos que são interligados a ela, tais como servidores, hosts,
switches, roteadores, entre outros.
O Zabbix coleta dados dos dispositivos que estão interligados na rede,
absorvendo as informações por meio de scripts, via agente ou até mesmo através do
protocolo SNMP (Simple Network Management Protocol) e armazena em um banco
de dados como MySql, PostegresSQL, SQLite, Oracle e outros. O Zabbix contém
uma interface Web amigável para com sultar e analisar as informações contidas na
base de dados.
Segundo Pinheiro (2011) o servidor Zabbix é
[...] o centro do Software Zabbix. O servidor pode verificar remotamente os
serviços de rede (como servidores web e servidores de e-mail), utilizando
controles simples. Ele é o componente central para o qual os agentes
reportam a disponibilidade, integridade de informações e estatísticas dos
dispositivos monitorados. É nele que toda a configuração, estatísticas e
dados operacionais são armazenados, sendo o componente que participará
ativamente alertando os administradores quando surgirem problemas em
qualquer um dos sistemas monitorados.
Segundo Pinheiro (2011) o Zabbix proxy “coleta dados de desempenho e
disponibilidade, em nome do servidor Zabbix.” Este componente é uma parte
opcional na instalação do Software zabbix.
De acordo com Lopes(2008,p.45) O agente Zabbix
4. [...] esse agente é instalado nos dispositivos gerenciados, coleta dados e
informações dos objetos gerenciados e responde as requisições do servidor
Zabbix.
Para monitorar ativos de rede que não possibilitam a instalação do agente, o
servidor Zabbix coleta as informações através dos agentes do protocolo de
gerenciamento de rede SNMP, como por exemplo switchs, roteadores, nobreakes,
entre outros.
O Zabbix é capaz de enviar alertas via e-mail, por mensagens instantâneas
e por torpedos SMS (Short Message Service) para o gerente de redes de
computadores. Estes alertas informam que algum evento, não esperado,
aconteceu em um de seus dispositivos gerenciados pelo gerenciamento de
redes. (LOPES,2008,P.39)
Para facilitar a compreensão das informações coletadas pelos agentes e
recebidas pelo servidor Zabbix, são gerados gráficos e estatísticas. Após, são
criados relatórios que mostram a atual condição da rede no momento, são
armazenados os históricos de ações e atividades realizadas pelos dispositivos
monitorados e pelo servidor Zabbix.
A interface WEB fornece todos os mecanismos para a configuração do Zabbix
como a criação de templates, itens, triggers, gráficos, além da criação manualmente
de mapas da rede monitorada estes dados são gravados em um SGDB (Sistema
Gerenciador de Banco de Dados).
Esses mapas auxiliam o administrador de rede a entender como se apresenta
a topologia da rede, como estão os status dos agentes em cada dispositivo
monitorado, ou seja, mostra se estão up (ativada) ou down (desativada) e mostra se
existe alerta ou não dentro da rede monitorada.
2 METODOLOGIA
2.1 Recursos
Os requisitos mínimos de hardware variam de acordo com o tamanho da
rede.
A tabela 1 mostra os requisitos mínimos para cada tamanho de rede.
Tamanho da rede CPU Memória
Até 20 dispositivos 350 MHz 256 MB
5. De 21 a 500
dispositivos
1.8 Ghz 2 GB
Acima de 501 - 2 núcleos;
-3.2 GHz
4GB
Tabela 1 – Requisitos mínimos de hardware
Tendo como base a bibliografia específica e a revisão de literatura, foram
definidos os meios necessários para a implementação do trabalho sendo utilizados
os seguintes recursos para a simulação do cenário de uma rede de computadores:
- estação de trabalho;
- acesso à internet para pesquisa e download dos softwares necessários
para o desenvolvimento do projeto;
- switch com suporte a SNMP;
O servidor necessita de um hardware que suporte a virtualização para a
criação de máquinas virtuais e que permaneça ligado por um longo período para a
coleta de dados.
Foi criado um ambiente virtualizado com um servidor com sistema operacional
Ubuntu Server para a instalação do servidor Zabbix, um servidor com Ubuntu Server
e outro com Windows Server 2008 para serem monitorados além de um switch com
suporte a SNMP.
2.2 Requisitos de software
De acordo com o manual do Zabbix versão 1.8, para a instalação e
configuração do são necessárias:
● Servidor WEB Apache, versão 1.3.12 ou superior;
● PHP, versão 5 ou superior;
● SGDB
● MySQL, versão 3.22 ou superior, ou;
● Oracle, versão 9.2 ou superior, ou;
● PostgreSQL, versão 7.0.2 ou superior, ou;
6. ● SQLite, versão 3..3.5 ou superior, ou;
É fundamental que todas bibliotecas estejam corretamente instaladas e
configuradas.
As principais bibliotecas são:
● Net-SNMP;
● Libcurl;
● PHP-modules (apache, SGBD,CURL);
● zabbix-frontend-php;
● Todas as bibliotecas do SGDB;
● Servidor e cliente do SGDB;
● Jabber;
● Jabber-dev;
● IKSEMEL, para o jabber;
● Todas as bibliotecas PERL;
2.3 Instalação
A instalação foi baseada conforme artigo escrito por (PINHEIRO,2011),
disponível no site www.cooperati.com.br.
2.4 Configuração do servidor Zabbix
2.4.1 Alterar as seguintes linhas no arquivo php.ini
#nano /etc/php5/apache2/php.ini
date.timezone = America/Sao_Paulo
max_execution_time = 300
max_input_time = 300
post_max_size = 16M
Logo após se reinicia o apache
#service apache2 restart
7. 2.4.2 Alterar as seguintes linhas no arquivo services
#nano /etc/services
Zabbix-agent 10050/tcp
Zabbix-agent 10050/udp
Zabbix-trapper 10051/tcp
Zabbix-trapper 10051/udp
2.4.3 Acessando a interface web
Usando um navegador acesse o Zabbix no endereço http://ip-do-
servidor/zabbix
Figura 1 – Tela de login interface web do Zabbix
Deve-se inserir o login name e Password que por padrão padão que é admin
e password zabbix, é recomendável a alteração da senha do usuário admin e a
criação de usuários de acordo com as suas necessidades.
2.4.4 Criação da template
Segundo Spinola (2013, p.1) “Template é um modelo de regras de coleta,
níveis de alerta e representações gráficas que pode ser aplicadas a um dispositivo
monitorado.”
Para a criação de templates faz-se necessário ir na aba Configuração →
Templates → Criar Template
8. Figura 2 – Criação da Template_TCC_windows
Deve ser informado o nome da template que neste caso é
Template_TCC_Windows, o grupo de hosts que será associado a esta template
assim como outras templates e hosts.
2.4.5 Criação de Itens
Será através de itens que vamos definir que informações queremos coletar.
Para a criação de itens é necessário ir na aba Configuração → Templates →
Template_TCC_Windows → Itens
9. Figura 3 – Criação do Item Espaço livre no disco C:
Para a criação de um item os campos devem se preenchidos conforme segue
abaixo:
Host: selecione a template clicando no botão Selecionar, neste caso
Template_TCC_Windows.
Descrição: deve indicar qual informação o servidor vai buscar, neste exemplo
fica Espaço livre no disco C:, pois este item vai mostrar a quantidade de espaço livre
no disco C: do Windows para armazenamento de dados.
Chave: temos que definir qual informação o servidor Zabbix deve buscar nos
dispositivos monitorados e associados ao grupo Windows servers, neste caso a
sintaxe fica assim vfs.fs.size[c:,free].
É possível associar o item a uma aplicação já existente ou criar uma nova
aplicação preenchendo o conforme abaixo:
Nova Aplicação: é o nome da aplicação neste exemplo é Espaço livre no
disco C:.
Os demais parâmetros neste exemplo não sofrem alteração, mas ocorrem
situações em que devemos alterá-los de acordo com o item que vamos monitorar.
10. Agora clique em salvar.
2.4.6 Criação de Trigger
Trigger é a nomenclatura adotada para a execução automatizada de
procedimentos sempre que um parâmetro ultrapassar o limite configurado.
Para a criação de Triggers faz-se necessário ir na aba Configuração →
Templates → Template_TCC_Windows → Itens → Triggers → Criar trigger
Figura 4 – Criação da Trigger pouco espaço livre no disco C:
Nome: é o nome da trigger neste caso Pouco espaço no disco C:
Expressão:{<template>:<item>.<condição>}<parâmetro> neste exemplo fica
assim {Template_TCC_Windows:vfs.fs.size[c:,free].last(0)}<1000, está expressão vai
gerar um alerta quando o espaço livre no disco C: do Windows estiver menor que
10Gb.
2.4.7 Geração de gráficos
Para a criação de gráficos é necessário ir na aba Configuração → Templates
→ Template_TCC_Windows → Itens → Gráficos → Criar gráfico
11. Figura 5 – Criação do gráfico do disco C:
2.4.8 Action
São medidas tomadas quando um alerta(trigger) é disparado, podem ser o
envio de um e-mail aos administradores de rede ou um executar um comando no
host.
Para configurar uma action que envia e-mail de alerta para o administrador de
rede é necessário que se tenha um servidor e-mail como exemplo o Postfix e devem
ser seguidos os seguintes passos:
É necessário ir na aba Administração → Tipos de mídia
Descrição: Email
Tipo: Email
Servidor SMTP: deve-se informar o ip do servidor de e-mail que no nosso
exemplo será 172.16.0.3.
SMTP helo: smtp.172.16.0.3
SMTP email: devemos informar o endereço de e-mail que o zabbix utilizará
para enviar os alertas exemplo: zabbix@machado.com.br
12. Figura 6 – Configuração tipos de mídia
Para configurar tipo de midia do usuário faz-se necessário ir na aba
Administração → Usuários → selecione o usuário que ira receber notificações por e-
mail → em midia clique em adicionar em seguida preencha os campos conforme
segue abaixo:
Tipo: Email
Enviar para: e-mail para qual será enviados os alertas, no nosso exemplo
será sergio@machado.com.br
Quando ativo: são os dias e horários ao qual o zabbix poderá enviar os e-
mails, podendo ser customizavel de acordo com sua preferência.
Usar se risco: são os níveis de alertas das triggers, também fica a critério do
usuário.
Status: deixe ativo para o Zabbix enviar e-mail.
A seguir figura com exemplo de configuração:
Figura 7 – nova mídia de usuário
Para criar uma Action faz-se necessário ir na aba Configuração → Ações em
seguida clique no botão Criar ação abrirá um formulário que deverá ser preenchido
da seguinte forma:
Nome: envia email
13. O restante dos campos não é necessário alterá-los, pois são para customizar
a ação. Logo após clique no botão operações da ação Nova abrirá outro formulário,
faça as seguintes alterações:
Enviar mensagem para: selecione usuário e clique em selecionar, agora
selecione o usuário ao qual foi configurado o tipo de midia, clique em adicionar e
logo, após em salvar.
A seguir a tela de exemplo de configuração:
Figura 8 – Criação e configuração da action envia e-mail
Agora sempre que um item monitorado ultrapassar um limite pré-estabelecido
em uma trigger o Zabbix enviará um e-mail de alerta para o usuário que foi
configurado.
3 RESULTADOS E DISCUSSÃO
Com o processo descrito na metodologia foram criadas templates para
sistemas operacionais Windows e Linux, elaborado um mecanismo de alerta por e-
mail e criados os seguintes gráficos.
14. Figura 9 – Gráficos de itens monitorados
A partir dos gráficos acima é possibilitado ao administrador de rede ter em
tempo real as informações sobre o hardware e a sua performance sendo possível
identificar possíveis gargalos.
Foi realizado um teste de envio de alerta por e-mail com uma máquina
Windows Server 2008, onde foi criado um arquivo grande o suficiente para diminuir o
espaço em disco para menos de 20 por cento.
Quando o espaço livre no disco C: chegou a menos de 20 por cento
conforme a figura 11 foi disparada uma trigger que gerou uma action que realizou o
envio de um e-mail para o administrador de rede alertando que espaço livre no disco
C: do Windows Server 2008 é menor que 20 por cento com o status problem
conforme figura abaixo:
Figura 10 – E-mail enviado pelo Zabbix com status problem
Ao apagarmos alguns arquivos no disco C: para liberamos um espaço livre
maior que 20 por cento, o Zabbix envia outro e-mail para o administrador de rede
com o status ok conforme figura abaixo:
Figura 11 – E-mail enviado pelo Zabbix com status ok
15. Não foi realizado o monitoramento do switch 3com por falta de tempo para
pesquisar o método de configuração de consulta snmp e realizar a configuração do
mesmo.
CONSIDERAÇÕES FINAIS
Foram demonstradas algumas das funcionalidades do Zabbix para
monitoramento de ativos de rede, muitas destas não foram testadas, ficando para
um estudo futuro como por exemplo a execução de comandos e scripts nos hosts de
forma automatizada, auto descoberta de rede, entre outros.
REFERÊNCIAS:
LOPES, Márcio; Gerenciamento de redes TCP/IP: Monitoramento da taxa de
utilização de enlaces em rede ethernet usando a ferramenta Zabbix:2008
Manual do Zabbix versão 1.8. Disponível em
<https://www.zabbix.com/documentation/pt/1.8/complete> Acessado em: Agosto de
2013
PINHEIRO, Ricardo; Monitoramento de servidores com Zabbix. Disponível em
<www.cooperati.com.br> Acesso em: Agosto de 2013
SPINOLA, ADAIL; Aprendendo Zabbix. Disponível em <www.spinola.net.br> Acesso
em: Agosto de 2013
TANENBAUM, Andrews; Redes de Computadores: 4ªEdição: 2003