Escolar Documentos
Profissional Documentos
Cultura Documentos
Curso de Especialização em Redes e Segurança de Sistemas
Avaliação da Ferramenta Zabbix
Jhonatan Geremias
CURITIBA 2010
Zabbix – Ferramenta de Monitoramento
Adilson Galiano Filho, Jhonatan Geremias
Curso de Especialização em Redes e Segurança de Sistemas
Pontifícia Universidade Católica do Paraná
Curitiba, Abril de 2010
Resumo
1.1 O que é o Zabbix?
Conforme podemos observar o Zabbix é uma ferramenta de monitoramento de
rede, o que significa que o Zabbix é uma ferramenta que nos permite monitorar a
performance e disponibilidade de todos 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 muitos outros.
A principio o Zabbix é um sistema que consegue coletar informações de todos
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.
Esse poderoso sistema de gerência e monitoramento absorve todas as informações
requisitadas, e permite que as informações sejam coletadas e armazenadas em um banco
de dados como MySQL, PostgreSQL, SQLite ou até mesmo no Oracle.
O Zabbix através de uma interface web bem amigável possibilita que as
informações que foram armazenadas anteriormente nas bases de dados, sejam
consultadas e analisadas por meio de alertas. Os alertas permitem que os problemas que
estejam ocorrendo em nossa rede ou equipamentos sejam identificados, assim sendo
possível tomar decisões e efetuar melhorias.
1.2 História
Como vimos o Zabbix é uma excelente ferramenta que permite o monitoramento
de toda a infraestrutura de uma rede, um dos grandes responsáveis por essa ferramenta
é Alexei Vladishev, que é apresentado como criador e principal desenvolvedor do
projeto Zabbix. O projeto e o desenvolvimento do Zabbix se iniciaram 2001,
centralizado na cidade de Riga, na Letônia, foi desenvolvido utilizando a linguagem de
programação PHP, disponibilizando ao usuário uma interface web com suporte a banco
de dados.
O Zabbix é um software que adota a licença Open Source, ou seja, é um
software livre que adota a licença publica geral (GPL), sendo considerado como uma
das melhores ferramentas de monitoramento na atualidade, muitas das suas
funcionalidades que foram herdadas do Nagios e do Cacti a tornaram uma das
ferramentas mais poderosa e completas disponíveis.
Curiosamente o nome Zabbix é oriundo de uma pesquisa do autor, através de
urls de busca, objetivando encontrar um nome ainda não utilizado e divulgado ne rede
mundial de computadores. O nome Zabbix até então não era de significado algum, hoje
é sinônimo de gerência organizada, alta performance e disponibilidade aliadas à
eficiência de equipamentos e serviços.
2 Estrutura do Zabbix
O Zabbix oferece portabilidade a diversos sistemas operacionais desde Linux,
Solaris, HPUX, AIX, FreeBSD, OpenBSD, NetBSD, Mac OS X, Windows, e outros.
Disponibilizando agentes aos mais diversos sistemas operacionais, permitindo o
monitoramento entre diferentes plataformas.
Entretanto existe uma dependência em relação à estrutura do Zabbix, visto que o
mesmo foi projetado com o intuito de ser uma ferramenta Open Source, seu servidor
necessariamente deve ser hospedado em uma máquina com o Linux ou Mac OS, visto
que não existe um pacote do servidor disponível para as versões do Windows.
Contudo essa dependência não afeta o monitoramento da rede, visto que o
sistema está divido em três distintas partes:
Servidor Zabbix
Agente Zabbix
Interface do Zabbix
Servidor Zabbix: O servidor é responsável pela coleta e o armazenamento dos dados
monitorados. Como já vimos o servidor deve ser necessariamente hospedado em uma
máquina com o sistema operacional baseado na família do Unix (Linux ou Mac OS);
Agente Zabbix: O agente é responsável por repassar todas as informações que foram
coletadas do sistema operacionais em qual está rodando para o servidor. O agente
permanece instalado na máquina e rodando como daemon ou serviço, e assim que o
servidor solicita alguma requisição o agente processa a requisição e retorna os dados
solicitados, dados tais como: consumo dos recursos de HD, memória, estatística de
processador, entre outros;
Interface do Zabbix: A interface é a estrutura que permite que o administrador tenha
acesso para interagir e administrar o sistema. A fim de permitir um fácil acesso ao
monitoramento dos dados e configurações através do ZABBIX, a interface do Zabbix
foi projetada para ser acessada via web, permitindo que o administrador ou usuário
acessem através do próprio browser instalado em seu sistema operacional. Para alguns
navegadores em específico, o Zabbix disponibiliza até mesmo alguns plugins para
facilitar o acesso ao servidor, sendo o caso do Firefox como exemplo.
2.1 Por que utilizar o Zabbix?
Segue abaixo as funcionalidades de cada ferramenta, estruturado semelhantemente:
Nagios:
Monitoramento de aplicação, serviços, sistemas operacionais e componentes de
infraestrutura;
API para desenvolvimento de sistemas customizados.
Cliente proprietário;
Suporte ao protocolo SNMP;
Visão centralizada de todos os sistemas monitorados;
Informações detalhadas dos componentes monitorados na interface web;
Rápida detecção de problemas na infraestrutura;
Alertas via email e SMS;
Alertas customizáveis, para o envio diretamente a pessoa responsável;
Base de conhecimento para problemas com soluções conhecidas;
Configurações de eventos para ações préconfiguradas, como reiniciar o serviço
com problema;
Planejamento de infraestrutura para o acompanhamento do envelhecimento do
parque tecnológico;
Paradas programadas, para o sistema não enviar alertas nesses períodos;
Relatórios para o acompanhamento dos SLA’s;
Históricos de envio de alertas e notificações;
Suporte a plugins de terceiros;
Multiusuário web com níveis de acessos.
Cacti:
Número ilimitado de gráficos por host;
Envio de alertas via email e script personalizado;
Armazenamento configurável de históricos;
Rápido resequenciamento dos itens gráficos;
Suporte completo ao RRDTOOL;
Suporte ao protocolo SNMP;
Modelos gráficos préconfigurados;
Gerenciamento totalmente web;
Multiusuário web com níveis de acessos.
Zabbix:
Gerenciamento centralizado;
Acesso centralizado as informações;
Numero ilimitado de proxies;
Monitoramento em tempo real;
Monitoramento de alertas para disponibilidade, integridade, entre outros;
Alertas via email, SMS, mensagem instantânea e via script configurado;
Log de auditoria;
Visualização via abas web e mapas;
Execução de comandos remotos;
Suporte a serviços de TI hierárquico;
Relatórios em tempo real de SLA’s;
Facilidade de integração com sistemas de terceiros;
Modelos préconfigurados de hosts;
Facilidade de compartilhamento de modelos;
Sistema de auto busca de dispositivos a serem monitorados;
Monitoramento de páginas web;
Suporte a qualquer plataforma;
Suporte ao protocolo SNMP;
Agente próprio de alta performance;
Rápida curva de aprendizagem;
Multiusuário web com níveis de acessos flexíveis.
Foram especificadas apenas as funcionalidades do Nagios e do Cacti, pois muitas
das funcionalidades que o Zabbix possui hoje foram herdadas dessas outras duas
ferramentas, lembrando que ainda existem inúmeras outras excelentes ferramentas que
devem ser observadas para escolha da ferramenta de monitoramento ideal tais como o
Ntop, Nessus, Snort, Nmap, MTGR entre outros.
Requisitos de Hardware e Software
As informações dos requisitos necessários para instalação do Zabbix foram
retiradas do próprio site do fabricante do Zabbix, sendo correspondentes à versão atual
(Zabbix 1.8.2) do mesmo.
Requisitos de Hardware
O servidor Zabbix requer os recursos do sistema conforme segue tabela abaixo:
Figura 1 Requisitos de Hardware
Plataformas Suportadas:
Segue abaixo a tabela referente as plataformas que são suportadas tanto pelo
servidor como também pelo agente:
Figura 2 Plataformas Suportadas
Requisitos de Software
Apache: versão 1.3.12 ou superior;
Banco de dados: o banco de dados mais utilizados em conjunto com o Zabbix
hoje é o MySQL (versão 3.22 ou superior), mais nada impede ao administrador,
utilizar outro banco de dados tais como o PostgreSQL (versão 7.0.2 ou
superior), Oracle (versão 9.2.0.4 ou superior), SQLite (versão 3.3.5 ou superior).
Contudo tem se cogitado no próprio fórum do Zabbix, que segundo Alexei as
tendências futuras são as de utilizar o PGSql no ambiente de desenvolvimento, pois
oferece o amadurecimento de algumas funcionalidades que agregariam mais valor ao ZABBIX,
tais como desempenho e segurança;
PHP: versão 4.0 ou superior;
Módulo PHP GD ou GD2: módulo requerido para mostrar mapas e gráficos;
Browser: Navegador web do cliente que suporte páginas HTML e imagens
PNG.
3 Instalação do Zabbix
Para efetuar a análise da ferramenta do Zabbix, dentre as diversas distribuições
do Linux, optamos adotar o GNU/Linux Ubuntu, entre alguns dos motivos que regem
nossa escolha, segue o fator da distribuição ser bem documentada, possuir uma
arquitetura voltada tanto para desktop quanto para servidores, ser uma das distribuições
Linux mais popular atualmente, pela facilidade na instalação de aplicativos com o
Synaptic e a questão de compatibilidade com pacotes Debian.
Iniciaremos a instalação do Zabbix do pré suposto que o Ubuntu já está instalado
na máquina. Neste artigo utilizamos a última versão disponível do Ubuntu (ubuntu
9.10desktopi386).
Apenas por fins técnicos e futuras comparações a fins acadêmicos, instalamos o
servidor do Zabbix em uma máquina HP Compaq DC7700, Duo Core (1,86GHz), 1024
RAM e 80GB de disco.
Para facilitar a análise do Zabbix, utilizamos do ambiente proporcionado aqui
mesmo na PUCPR, visto que os dois alunos que lhes dirigem nesse artigo, são
funcionários dessa instituição, um funcionário do núcleo de informática (NIAA) e outro
do programa de pósgraduação em informática (PPGIa).
Os passos descritos abaixo seguem de maneira muito similar a um roteiro, foram
adotados desta forma com o objetivo de facilitar o processo de instalação e configuração
do Zabbix. Facilitando um pouco aos administradores de rede que tiverem interesse em
projetar um ambiente similar.
Conforme restrição de rede adotada através do proxy aqui na PUCPR, é
necessário configurar a criação do seguinte arquivo para utilizar os comandos do apt
get.
Criando o arquivo apt.conf:
cd /etc/apt
sudo touch apt.conf
sudo gedit apt.conf
Acrescentar a seguinte linha no arquivo:
Acquire::http::proxy "http://virtualproxy.pucpr.br:3128/";
Agora já será possível realizar atualização e utilizar o comando aptget (ou se desejar
utilizar o aplicativo Synaptic).
Baixando a lista dos pacotes disponíveis:
sudo aptget update
Verificando e atualizando os pacotes no sistema:
sudo aptget upgrade
Reiniciando a máquina:
sudo reboot
Atualizando o sistema todo para uma nova versão mesmo que seja exigida a adição ou
remoção de algum pacote:
aptget distupgrade
Reiniciando a máquina
sudo reboot
Adicionado o pacote básico necessário para o ambiente de desenvolvimento
sudo aptget install buildessential
Instalando o servidor de banco de dados Mysql, será solicitado que você cadastre uma
senha para o usuário root do mysql:
sudo aptget install mysqlserver
Figura 3 Cadastrando Password Mysql
Será solicitado que seja confirmada a senha cadastrada no Mysql:
Figura 4 Confirmando password Mysql
Acessando o Mysql:
mysql u root p
Será solicitada a senha do usuário root do Mysql cadastrada anteriormente:
Verificando as databases disponíveis:
show databases;
Criando um database teste:
create database teste;
Definindo um database que ser utilizada:
use teste;
Verificando o database criada:
show databases;
Excluindo o database "teste":
drop database teste;
Verificando que a database foi realmente excluída:
show databases;
Saindo do Mysql
exit
Instalando a biblioteca libmysqlclientXXdev
Verificando a versão mais atual disponíveis:
sudo aptcache search libmysqlclient
Instalando a última versão disponível da biblioteca libmysqlclient16dev:
sudo aptget install libmysqlclient16dev
Efetuando a instalação do PHP5:
sudo aptget install php5
Instalando a biblioteca do php5 para processamento de imagens:
sudo aptget install php5gd
Instalando a biblioteca do php5 para o Mysql:
sudo aptget install php5mysql
Instalando o pacote do protocolo SNMP (Protocolo Simples de Gerência de Rede)
sudo aptget install snmp
Instalando o pacote de bibliotecas para o protocolo SNMP:
sudo aptget install libsnmpdev
Instalando o pacote daemon para protocolo SNMP:
sudo aptget install snmpd
Instalando biblioteca de código aberto para protocolos SSL e TLS:
sudo aptget install libcurl4openssldev
Criando um usuário zabbix no Ubuntu:
sudo adduser zabbix
Adicionando o usuário zabbix no grupo de administradores:
sudo adduser zabbix admin
Baixando o pacote de instalação do servidor zabbix, efetuamos o download direto do
site do Zabbix “http://www.zabbix.com/download.php”, estamos utilizando a versão
zabbix1.8.1 que foi a versão mais recente disponível no ato da implementação do
servidor. Atualmente o Zabbix já possui uma nova versão para download, publicada dia
29/03/2010 e já disponível no site.
Descompactando o arquivo do Zabbix, :
tar zxvpf zabbix1.8.1.tar.gz
Criando o database do zabbix, ao executar o comando abaixo será solicitado o password
do usuário root do Mysql:
mysql –e 'create database zabbix;' –u root –p
Verificando se o database foi criado, ao executar o comando abaixo será solicitado o
password do usuário root do Mysql:
mysql –e 'show databases;' –u root –p
Adicionando usuário zabbix e definindo permissões, ao executar o comando abaixo será
solicitado o password do usuário root do Mysql:
sudo mysql –e "grant all privileges on zabbix.* to zabbix@localhost identified
by 'zabbix';" u root p
Verificando se o usuário foi criado, ao executar o comando abaixo será solicitado o
password do usuário root do Mysql:
mysql –e 'select user from mysql.user' –u root –p
A consulta do comando anterior retorna a lista de usuários cadastrados pelo Mysql,
analise a lista e verifique se o usuário zabbix consta nessa lista de usuários.
Acessando o Mysql com o usuário zabbix, ao executar o comando abaixo será solicitado
o password do usuário zabbix do Mysql:
sudo mysql u zabbix –p
Criando schema zabbix, ao executar o comando abaixo será solicitado o password do
usuário zabbix do Mysql:
mysql –D zabbix –u zabbix –p < /home/zabbix/zabbix
1.8.1/create/schema/mysql.sql
Verificando se o schema foi criado, ao executar o comando abaixo será solicitado o
password do usuário zabbix do Mysql:
mysql e "show schemas;" –u zabbix –p
Importando as tabelas do zabbix para dentro do Mysql, ao executar o comando abaixo
será solicitado o password do usuário zabbix do Mysql:
mysql –D zabbix –u zabbix –p < /home/zabbix/zabbix
1.8.1/create/data/data.sql
Acessando o terminal com o usuário zabbix, será solicitado o password do usuário
zabbix::
su zabbix
Localizando e se posicionando dentro do diretório do Zabbix:
cd zabbix1.8.1
Configurando e compilando os arquivos do Zabbix:
sudo ./configure –prefix=/usr –withmysql –withnetsnmp –withlibcurl –
enableserver –enableagent && make install
Configurando o Zabbix arquivo services.
Editando arquivo services
sudo gedit /etc/services
Criando diretório zabbix:
sudo mkdir /etc/zabbix
Definindo proprietário para o diretório zabbix:
sudo chown –R zabbix.zabbix /etc/zabbix
Localizando e se posicionando dentro do diretório do Zabbix:
cd /home/zabbix/zabbix1.8.1
Copiando os arquivos necessários para pasta /etc/zabbix:
cp misc/conf/zabbix_* /etc/zabbix/
Editando arquivo zabbix_agentd.conf:
gedit /etc/zabbix/zabbix_agentd.conf
Verificando se o parâmetro Server está apontando para o endereço do servidor, ou seja,
apontando para ele mesmo:
Server=127.0.0.1
Editando arquivo zabbix_server.conf:
gedit /etc/zabbix/zabbix_server.conf
Atribuindo usuário que foi criado anteriormente:
DBUser=zabbix
Retirando o comentário da linha abaixo e acrescentando o password do usuário zabbix:
DBPassword=zabbix
Copiando os arquivos init.d do zabbix.
Estaremos utilizando os arquivos zabbixagent e zabbixserver, devido a
compatibilidade estaremos utilizando os arquivos da distribuição do Debian:
sudo cp misc/init.d/debian/zabbix* /etc/init.d
Configurando os arquivos init.d do zabbix.
Editando o arquivo zabbixserver:
sudo gedit /etc/init.d/zabbixserver
Localizando a linha abaixo:
DAEMON=/home/zabbix/bin/${NAME}
Substituindo a linha anterior pela linha abaixo:
DAEMON=/usr/sbin/${NAME}
Editando o arquivo zabbixagent:
sudo gedit /etc/init.d/zabbixagent
Localizando a linha abaixo:
DAEMON=/home/zabbix/bin/${NAME}
Substituindo a linha anterior pela linha abaixo:
DAEMON=/usr/sbin/${NAME}
Definindo as permissões dos arquivos zabbixserver e zabbixagent:
sudo chmod 755 /etc/init.d/zabbixserver
sudo chmod 755 /etc/init.d/zabbixagent
Adicionando os níveis de execução defaults do sistema para o zabbixserver:
sudo updaterc.d zabbixserver defaults
Adicionando os níveis de execução defaults do sistema para o zabbixagent:
sudo updaterc.d zabbixagent defaults
Iniciando o servidor:
sudo /etc/init.d/zabbixserver start
Iniciando o agente:
sudo /etc/init.d/zabbixagent start
Verificando se ambos os processos estão rodando:
ps –aux | grep zabbix
Criando diretório public_html:
mkdir /home/zabbix/public_html
Localizando e se posicionando dentro do diretório do Zabbix:
cd /home/zabbix/zabbix1.8.1
Copiando os arquivos da interface web:
cp –R frontends/php/* /home/zabbix/public_html/
Localizando o arquivo 000default no apache:
cd /etc/apache2/sitesenabled
Editando arquivo 000default:
sudo gedit 000default
Adicionando as linhas abaixo ao arquivo 000default:
Alias /zabbix /home/zabbix/public_html/
<Directory /home/zabbix/public_html>
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
Configurando arquivo php.ini
Localizando o arquivo php.ini:
cd /etc/php5/apache2
Editando arquivo php.ini:
sudo gedit php.ini
Alterando as linhas abaixo:
max_execution_time = 300;
date.timezone = America/Sao_Paulo
Reiniciando o Apache:
sudo /etc/init.d/apache2 restart
Configurando a interface web
Acessando o servidor pela interface web:
http://10.96.24.149/zabbix
Será Apresentada uma tela de boas vindas, leia a introdução e pode prosseguir
clicando no botão “Next”:
Figura 5 Introdução para instalação da Interface Web
Na tela abaixo será apresentado o termo de uso do Zabbix, após a leitura do
termo se você estiver ciente e concordar, marque a opção “I Agree”, e clique em “Next”
para prosseguir:
Figura 6 Termo de uso do Zabbix
Na tela abaixo será apresentado um checklist dos prérequisitos para instalação.
Se aparecer algum tipo erro, ajuste o mesmo e verificando a configuração, clique em
“Retry” para testar. Quando todos os prérequisitos estiverem com o status “ok” clique
em “Next” para prosseguir:
Figura 7 CheckList dos Prérequisitos
No ambiente que criamos em específicos, foi necessário acrescentar a seguinte
configuração ao arquivo php.ini:
Localizando e se posicionando dentro do diretório apache2:
cd /etc/php5/apache2
Editando o arquivo php.ini:
sudo gedit php.ini
Alterando as linhas conforme abaixo: configurando arquivo php.ini:
memory_limit = 128M
post_max_size = 16M
Removendo o comentário e alterando o valor da mesmo:
mbstring.func_overload = 2
Figura 8 Aprovação do CheckList
Configurando a conexão com o banco de dados, preencha o campo com as
informações necessárias, clique em “Test connection” para averiguar a conexão Clique
em “Next” quando o teste de conexão for bem sucedido.
Figura 9 Configurar conexão banco de dados
Figura 10 Sumário PréInstalação
A tela abaixo apresenta que o status da configuração da interface do zabbix está
corretamente configurado, a interface já pode ser instalado, clique em “Next” para
prosseguir:
Figura 12 Instalar Interface Web
Clique em “Finish” para concluir a instalação:
Figura 13 Concluir Instalação
Acessando a interface web do Zabbix, para efetuar o login, entre com o username
“Admin” e password “zabbix”:
Figura 14 Acessar a Interface do Zabbix
3.1 Alterando idioma do servidor
Para alterar o idioma default (inglês) para português, efetue o login através da
interface web, após ter logado, na parte superior da página clicar em profile:
Figura 15 Alterando Idioma I
Na janela seguinte, é só alterar a linguagem de inglês para português e salvar as
alterações.
Figura 16 Alterando Idioma II
3.2 Instalando Agente do Zabbix (Windows)
Agora que já estamos com o servidor e a interface web Instalada e devidamente
configurada, passaremos para etapa de instalação do agente do zabbix, a principio
abordaremos a instalação no sistema operacional Windows XP.
Primeiramente devemos copiar os arquivos do agente para as máquinas que
serem monitoradas, os arquivos podem ser encontrados no servidor do Zabbix dentro do
seguinte diretório:
cd /home/zabbix/zabbix1.8.1/bin/
Criando diretório zabbix, sugerimos que o diretório seja criado na raiz do “C:”,
ou seja, em “c:/zabbix”.
Os arquivos encontrados devem ser copiados para máquina a ser monitorada,
segue abaixo os arquivos:
zabbix_agentd.exe
zabbix_get.exe
zabbix_sender.exe
Utilize o arquivo que corresponde ao Windows, aqui ele foi encontrado com o
seguinte nome zabbix_agentd.win.conf, copie o arquivo para dentro da pasta do zabbix
localizada na máquina com Windows que será monitorada “c:/zabbix”. Altere o nome
do arquivo para zabbix_agentd.conf.
Edite o arquivo zabbix_agentd.conf através do bloco de notas, altere os dados
conforme correspondente:
IP do servidor do Zabbix:
Server=xxx.xxx.xxx.xxx
Caminho do arquivo de log do agente zabbix:
LogFile=c:/zabbix/zabbix_agentd.log
Criaremos um serviço para gerenciar o processo do agente zabbix, abra o prompt
do Windows, posicione o diretório atual dentro da pasta do zabbix “c:/zabbix”, para
criar um serviço para gerenciar o agente do zabbix execute o comando abaixo:
zabbix_agentd.exe i c zabbix_agentd.conf
Figura 17 Criando serviço agente Zabbix
Figura 18 Gerenciando Serviço
3.3 Instalando Agente do Zabbix (Ubuntu)
Estaremos instalando o agente do Zabbix em uma máquina com o Linux Ubuntu,
devido à compatibilidade do Ubuntu com o Debian, estaremos utilizando um pacote do
agente do zabbix disponibilizado pela distribuição do Debian, para facilitar você poderá
efetuar o download deste pacote no seguinte site:
http://packages.debian.org/sid/i386/zabbixagent/download
Para instalação desse pacote do debian é necessária instalar a seguinte biblioteca:
sudo aptget install libopenipmi0
Instalando o pacote debian do agente zabbix:
sudo dpkg i zabbixagent_1.8.11_i386.deb
Verificando se o agente do Zabbix foi instalado corretamente:
ps – ef | grep zabbix
Adicionando Host no Zabbix
Acesse na aba principal o link Configuração > Hosts > Criar “Host”, na tela que será
apresentada, preencha os campos básicos:
Nome da máquina:
Nome: ia.cwbdis.pucpr.br
Servidor DNS:
DNS name: cwbdis.pucpr.br
IP da máquina:
IP: xxx.xxx.xxx.xxx
Templates:
Linked templates: Template_Windows
4.1 Estudo de Caso [15]
4.1.1 Configuração do Ambiente
Para ver o funcionamento da ferramenta, foi necessário a criação deste ambiente
na ferramenta. Este ambiente foi criado contendo três máquinas e um switch. O
ambiente é simples, porém pode auxiliar no entendimento da ferramenta para uma
utilização em um ambiente real, seja ele qual for. Neste ambiente podem ser
monitorados dados básicos dos servidores (como HTTPD, FTP, SSH e etc), além de
parâmetros de gerenciamento específico de cada máquina como memória livre, espaço
em disco e etc.
Depois de ter feito toda parte de instalação, precisa ser feito a configuração do
sistema para o uso na rede e gerenciamento da mesma. O endereço para acesso é
http://10.96.24.149/zabbix . Com isso aparecerá a tela de login, conforme Figura:
Figura 19 Tela de Login
Por padrão o usuário 'admin', vem com a senha 'admin'. Entrando com este
usuário temse o acesso máximo ao sistema, inclusive configurações, ou seja, é
recomendável a criação de um outro usuário para acesso e trocar da senha do usuário
'admin'. Para uso adequado é necessário que o administrador faça a configuração do
sistema para ter um ambiente de teste que permita obter informações de gerenciamento.
Na tela inicial temse a opção “Configuração”. A partir dela podem ser vistas
várias outras opções. A primeira coisa a ser feita (não obrigatória, mas recomendável) é
a criação de um outro usuário. Neste caso será criado um usuário chamado 'arl' para
verificar as informações de gerenciamento.
Figura 20 Cadastro de Usuário
Pode ser visto nesta tela que há informações básicas dos usuários. Neste
momento não há a necessidade de saber as informações sobre permissões e email do
usuário para envio de notificação. Após a criação, o usuário aparecerá na lista de
usuários. Agora para adicionar permissões ao usuário, é necessário clicar sobre o link
'Alias'. Que abrirá a tela, para a inclusão da permissão definida para o usuário.
Figura 21 Atribuir permissão ao usuário
Ainda na tela de usuário, se o administrador clicar na ação 'Media', será aberta
um tela de listas de meios de notificação, ou seja, a forma de envio de alarmes para o
usuário. Para ser adicionado um meio, é necessário clicar em 'Criar' para vermos a tela.
Figura 22 Criação de Meios de Notificação
Pode ser visto que nesta tela, além de ter das informações do email do usuário
que a notificação será enviada, há também uma outra opção muito importante, que é
quando esta ação será acionada. Neste caso tem o seguinte valor: 17,00:0023:59
ou seja, isso significa que sete dias da semana e vinte e quatro horas por dia, a
notificação poderá ser enviada. Além disso há também o nível de severidade que esta
ação irá atender. Após feito isso, o administrador deverá trocar a senha do usuário
'admin' para garantir uma melhor segurança no acesso a aplicação. Depois de criar
usuários, um outro ponto importante, não só para o ambiente de teste, é a criação de
Hosts. No menu Configuração > Hosts, aparecerá um lista de todos as Máquinas
Gerenciadas.
Há também a opção para criar um novo Host. Nessa tela, há vários campos para
adição de informações básicas sobre o host a ser adicionado, como: o nome, grupo, se
tem endereço IP ou não, a porta do agente para coleta das informações, se vai ser
monitorado ou não e por último o mais importante neste momento que é qual o molde
(template) que este host irá seguir. É através do molde que serão adicionados os
parâmetros gerenciados sem que o usuário tenha que criar todos os parâmetros
manualmente.
Figura 23 Cadatro de Hosts
Assim que o administrador terminar o cadastro do Host, ele aparecerá na lista de
máquinas gerenciadas. Nesta tela poderá ser visualizado os Itens Gerenciados, os
Gatilhos (triggers) e os Gráficos específicos de cada um. Os itens e gatilhos serão de
acordo com o molde escolhido no cadastro. O cadastro de máquinas gerenciadas não
seria muito útil visualmente, se não fosse possível ter uma visualização da rede inteira.
Então para isso existe um cadastro de mapas, onde pode ser simulado o desenho da
rede, colocando os elementos (máquinas, hubs, servidores e etc) em uma posição
específica do mapa. Além disso podem ser feitas conexões entre os elementos de rede
contidos no mapa. A criação de mapas está localizada em Configuração >
Mapas. Nesta tela é mostrado todos os mapas cadastrados e tem um botão 'Criar, o qual
abrirá a tela de cadastro de mapas.
Figura 24 Cadastro de Mapa
Nesta tela pode ser observado que são informações simples de cadastro como
nome, tamanho do mapa, imagem (que ainda não tem suporte na versão 1.1beta8) e
posicionamento das informações do mapa. Após ser salvo, ele aparecerá na lista de
mapas. E para cada mapa existe um botão de Editar que permitirá a adição de máquinas
no mapa. A Figura 25, mostra um cadastro de elementos na rede.
Figura 25 Elementos Cadastrados
Após ter feito o cadastro, já temse um ambiente básico para teste das
funcionalidades e para o estudo de caso. Logicamente existem muitas funções de
configurações a mais. Porém não será abordado tudo pelo simples fato de que não há a
necessidade de entrar em tantos detalhes de configuração, pois o tempo e o trabalho não
propõe um estudo minucioso da ferramenta. Isso poderia ficar para um estudo futuro.
4.1.2 Utilização e Estudo do Ambiente
Após a configuração básica de um ambiente de rede de teste, pode ser visto o
comportamento e utilização dos serviços e parâmetros gerenciados para entender melhor
o funcionamento da ferramenta e em que ela pode nos ajudar. Inicialmente no menu
“Monitoramento” temse a opção de “Resumo”, que mostra a grosso modo os estados
baseados nas triggers de alguns serviços mostrando a cor vermelho para os casos com
problemas e verde os casos que estão em perfeito funcionando. Com esta visão, pode
ser identificado rapidamente como está o funcionamento dos serviços da rede, pois
mostra todos os elementos gerenciáveis da rede. A Figura 26, mostra esta tela para o
ambiente criado para este estudo de caso. Pode ser percebido que as três máquinas
cadastradas na nossa rede, e que foram definidas como monitoradas, estão presentes na
tela de resumo.
Entretanto somente uma possui dados gerenciados reais, pois as outras não têm
nem agente SNMP instalado, nem o servidor ZABBIX. As outras duas estão com o
estado de “Servidor {HOST_NAME} inalcançável”, não permitindo assim a coleta das
informações necessárias para o gerenciamento. Se tivesse nestas máquinas um agente
SNMP, poderia ser instalado um servidor ZABBIX para coletar todas informações
necessárias para a gerência. Entretanto como nestas máquinas não haviam permissões
de instalação, não foi possível efetuar isso.
Figura 26 Resumo da Rede Gerenciada
Além do resumo, pode ser visto os últimos valores configurados para para os
parâmetros gerenciados. O resultado é mostrado em forma de tabela contendo o nome
do parâmetro, a última hora de verificação de mudança, o último valor e a mudança.
Além disso temse a opção de verificar um Gráfico, para valores numéricos e um
histórico para valores não numéricos. A Figura 27 mostra melhor esta tela.
Figura 27 Últimos Estados
Ao clicar no link Gráfico de algum parâmetro onde o valor seja numérico, abrirá
uma tela com um gráfico mostrando a evolução do valor durante um determinado
tempo. Dependendo do parâmetro, é através deste gráfico que pode ser feito uma análise
e depois tomar decisões para solucionar problemas relacionados ao planejamento de
capacidade. Por exemplo, se o parâmetro é relacionado ao uso da memória, o
administrador poderá ver se há a necessidade de colocar mais memória física. A Figura
28 mostra um exemplo do parâmetro Memória Livre para o host 'Note_Esley'.
Figura 28 Gráfico de Memória Livre
Para os casos de valores numéricos, em vez de um gráfico, é mostrado um
histórico de mudança de valores do parâmetro desejado. A Figura29 mostra um
exemplo.
Figura 29 Histórico de Ítens
Além disso há as triggers, que nada mais são que os alarmes disparados pelos
servidores notificando o administrador da ocorrência de um erro. É uma amostragem
mais detalhada do que foi visto na tela de resumo. Neste ponto é tratado uma das áreas
mais importantes da gerência de rede que é a Gerência de Falhas. Nesta tela é mostrado
todos os erros, os seus estados, nível de severidade, data e hora da ocorrência e dois
links. O primeiro significa que o usuário está ciente do erro e faz o reconhecimento,
como por exemplo: “Estou ciente do problema e estou tomando as medidas cabíveis” e
o segundo é somente a adição de comentários. Além das informações básicas mostrada
acima, o administrador pode também mostrar mais detalhes como o parâmetro referente
ao erro e as ações a serem tomadas caso essa trigger seja verdadeira. Na Figura 30 pode
ser visto que temse quatro erros para a máquinas 'Note_Esley' e um erro para cada uma
das outras duas máquinas.
Figura 30 Estado das Triggers
Hoje em dia toda ferramenta que trate o mínimo que seja relacionado a
segurança e controle dos dados, tem um módulo de auditoria, ou seja, um módulo que
armazene toda ação feita no sistema por qualquer usuário a fim de mudar algum valor,
cadastrar algum host e etc. A auditoria de sistemas, auxilia muito um administrador de
redes a saber se alguém, e quem fez a alteração em um determinado dado. É um módulo
muito poderoso na ajuda de controle das informações e segurança dos dados do sistema.
Figura 31 Auditoria das Informações
Outro ponto bem interessante é a usabilidade do que foi feito na configuração,
que é o cadastro de mapas. É bem interessante a possibilidade de ser ver o mapa da
rede, com informações dos elementos, inclusive os erros encontrados em cada um. É
uma outra forma de representar o que é visto no resumo, porém de uma maneira mais
amigável.
Figura 32 Mapa de Rede
Diferente de antes que havia quatro erros no host 'Note_Esley', agora têmse três,
e isso também é visível no mapa da rede. Foi resolvido um dos erros porque foi
inicializado o serviço de FTP. Se o elemento de rede for clicado, será mostrada a
visualização dos parâmetros gerenciados.
Outra função que pode auxiliar o administrador de rede a tomar decisões para
melhorar o funcionamento da rede, é a visualização de relatórios. Alguns relatórios
estão disponíveis e podem ser vistos em Relatórios > Relatórios Disponíveis. A Figura
33 mostra a tela de relatórios que podem ser usados.
Figura 33 Relatórios Disponíveis
Pode ser visto que para o serviço de FTP, quase 50% do tempo em que foi feito
o gerenciamento dos hosts o serviço ficou parado, o que pode não ser uma boa notícia,
pois pode estar acontecendo algum problema com o serviço, que não era o caso da
máquina 'Note_Esley', porque o serviço realmente estava parado. Então neste ponto,
pode ser identificado a disponibilidade do serviço, ou se houve alguma mudança de
estado. Se o administrador clicar no link Show de algum relatório disponível, aparecerá
em forma de gráficos o relatório informando a porcentagem referente a cada estado
possível do item. A Figura seguinte mostra um exemplo para o relatório que mostra se o
arquivo /etc/passwd foi alterado.
Figura 34 Relatório
Pode ser notado até aqui um caso de uso de uma ferramenta poderosa no auxílio
de gerência de redes. Foram mostradas algumas funcionalidades que foram usadas na
rede de teste criada para um estudo de caso para mostrar e analisar como está o
andamento da rede. Entretanto existem muitas outras funcionalidades que não foram
mostradas aqui. Mas para aprender mais sobre a ferramenta ZABBIX, é recomendável
acessar o site da ferramenta.
Bibliografia
[1] http://www.zabbix.com/
[2] http://www.zabbix.com/download
[3] http://www.gouvea.net/zabbix.html
[4] http://wendelneves.wordpress.com/2009/06/17/instalandoozabbixnoubuntu/
[5] http://linux.eduardosilva.eti.br/parte_ii_instalando_e_rodando_o_zabbix
[6] http://brlinux.org/2009/monitoramentofacilcomzabbix/
[7] http://linux.eduardosilva.eti.br/monitoramentofacilcomzabbix
[8] http://www.vivaolinux.com.br/artigo/InstalacaodoZabbix1.6noCentOS5?
pagina=4
[9] http://packages.debian.org/sid/i386/zabbixagent/download
[10] http://www.google.com.br
[11] http://www.ppgia.pucpr.br/~jamhour/RSS/TCCRSS08A/Raphael%20Celuppi%20
%20Artigo.pdf
[12] http://www.linuxmagazine.com.br/images/uploads/pdf_aberto/LM24_zabbix.pdf
[13] http://www.lsl.dcc.ufmg.br/documentacao/doc_download/117ferramentade
monitoramentoderedeszabbix.html
[14] http://www.ataliba.eti.br/files/txts/zabbix.pdf
[15] http://www.ginux.ufla.br/files/monoEsleyBonomo.pdf