De A a Zabbix

Page 1

Adail Henrique Spínola Horst Aécio dos Santos Pires André Luis Boni Déo

Novatec


Copyright © 2015 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, dos autores e da Editora. Editor: Rubens Prates Assistente editorial: Priscila A. Yoshimatsu Editoração eletrônica: Carolina Kuwabata Revisão gramatical: Marta Almeida de Sá Capa: Carolina Kuwabata ISBN: 978-85-7522-416-8 IG20150128 Histórico de impressões: Fevereiro/2015

Primeira edição

Novatec Editora Ltda. Rua Luís Antônio dos Santos 110 02460-000 – São Paulo, SP – Brasil Tel.: +55 11 2959-6529 Email: novatec@novatec.com.br Site: www.novatec.com.br Twitter: twitter.com/novateceditora Facebook: facebook.com/novatec LinkedIn: linkedin.com/in/novatec


capítulo 1

Apresentação do Zabbix

1.1 O que é o Zabbix? Zabbix é uma ferramenta moderna, Open Source e multiplataforma, livre de custos de licenciamento, pois sua licença é a GPLv2 (GNU General Public License 1). Tem apenas uma versão, que é considerada de classe Enterprise, sendo utilizada para monitorar a disponibilidade e o desempenho de aplicações, ativos e serviços de rede por todo o mundo.

1.2 Um pouco da história do Zabbix Ao trabalhar como administrador de sistemas para um grande banco na Letônia, Alexei Vladishev percebeu que todas as ferramentas de monitoramento comerciais eram caras, exigiam conhecimentos avançados para utilizá-las e o tempo de manutenção era grande. Teve então a ideia de desenvolver um sistema de monitoramento próprio. Como consequência, tivemos a criação da primeira versão do Zabbix, que foi lançada em 2001. Hoje o Zabbix é uma das mais populares soluções de monitoramento de código aberto 2. No início do projeto ocorreu a dúvida comum a todos: como chamá-lo. Pesquisou sobre nomes interessantes e todos os bons já haviam sido utilizados em algum momento, então optou-se por chamá-la de Zabbix. O projeto é mantido atualmente pela Zabbix SIA e conta com dezenas de parceiros ao redor do mundo, incluindo o Brasil. O site do projeto é http://www.zabbix.com. O Zabbix utiliza um Sistema de Gerenciamento de Banco de Dados (SGDB) para armazenamento dos dados de coletas e configurações. Os SGBDs suportados são: MySQL/Mariadb, PostgreSQL, SQLite, Oracle e IBM DB2. Os módulos de 1 Termos, em inglês, da licença GPLv2 (http://www.gnu.org/licenses/gpl-2.0.html). 2 Trecho adaptado de http://www.business-software.com/article/about-zabbix-sia/.

19


20

De A a Zabbix

coleta e sincronismo de dados foram desenvolvidos na linguagem C, enquanto sua interface web utilizou o PHP. Atualmente está na versão 2.4, na qual este livro está baseado. A figura 1.1 mostra a linha do tempo dos lançamentos das versões.

Figura 1.1 – Linha do tempo do lançamento do Zabbix3.

1.3 Funcionalidades A solução tem dezenas de módulos, mas podemos listar como as principais funcionalidades do Zabbix: • Autodescoberta de dispositivos de rede. • Autodescoberta de recursos do host (por verificação simples, agente ou SNMP). • LLD (Low Level Discovery), que permite criar automaticamente itens, triggers, gráficos para diferentes recursos do host que será monitorado. • Monitoramento distribuído com a administração centralizada via web por meio do uso de proxy. 3 Fonte: http://en.wikipedia.org/wiki/Zabbix.


Capítulo 1 ■ Apresentação do Zabbix

21

• Aplicação servidor compatível com os sistemas operacionais: GNU/Linux, IBM AIX, Solaris, HP-UX, AIX, Família BSD (FreeBSD, NetBSD e OpenBSD), Mac OS X. • Aplicação cliente de alto desempenho compatível com: GNU/Linux, IBM AIX, Solaris, HP-UX, AIX, Família BSD (FreeBSD, NetBSD e OpenBSD), OS X, Windows (Edições Server e Desktop). • Monitoramento com ou sem o uso de agentes. • Suporte a todas as versões do SNMP (Simple Network Management Protocol). • Tradução para vários idiomas. • Autenticação segura de usuário. • Permissões flexíveis. • Auditoria. • Monitoramento de aplicações Java. • Monitoramento de dispositivos via IPMI (Intelligent Platform Management Interface). • Envio de alertas por email, SMS, Jabber, XMPP (Extensible Messaging and Presence Protocol) e scripts personalizados. • Monitoramento de aplicações web. • Monitoramento de ambientes virtualizados. • Mais funcionalidades podem ser vistas nas páginas: http://www.zabbix.com/ features.php e http://www.zabbix.com/whats_new.php.

1.4 Componentes do Zabbix O Zabbix é composto de vários módulos, dentre eles podemos elencar como os principais: • Servidor Zabbix – é o componente central do sistema. Ele pode verificar remotamente os serviços de rede (como serviço web e email), utilizando a checagem simples, mas também é o componente central para que os agentes (incluindo o proxy Zabbix) enviem informações e estatísticas a cerca da disponibilidade e integridade do equipamento que está sendo monitorado. Depois que o servidor recebe essas informações, ele processa, gerencia os equipamentos, exibe relatórios, envia alertas e realiza ações conforme a configuração.


22

De A a Zabbix

• Banco de dados – é onde os dados, as informações e configurações são armazenados. O banco de dados pode ser acessado diretamente pelo servidor Zabbix e pela interface web. • Interface web – é por ela que o Zabbix pode ser configurado e as informações podem ser visualizadas. • Agente Zabbix – aplicação cliente do Zabbix que coleta informações do equipamento e envia ao servidor. O agente é capaz de acompanhar ativamente o uso dos recursos e das aplicações locais, tais como: discos rígidos, memória, processador, processos, serviços e aplicativos em execução. • Proxy Zabbix – é uma parte opcional do Zabbix. O Proxy coleta dados de desempenho e disponibilidade em nome de um servidor Zabbix, com a vantagem de coletar milhares de informações por segundo utilizando um hardware modesto. Podemos considerá-lo como um superagente. • Java Gateway – O Zabbix 2 trouxe o suporte nativo ao monitoramento de aplicações JMX (Java Management Extensions) por meio do daemon Zabbix Java Gateway. É este o processo com a responsabilidade de recuperar os contadores do JMX.

1.5 Arquitetura do Zabbix Geralmente, as instalações do Zabbix ocorrem em uma única máquina com um banco de dados. Esta máquina também é composta com o servidor Zabbix e uma interface web. Embora seja perfeitamente possível executar todos os três componentes em uma única máquina, pode haver boas razões para separá-los, como tomar vantagem de um banco de dados existente de alto desempenho ou servidor web. Ao executar cada componente em máquinas separadas, o servidor Zabbix e a interface web necessitam acessar o banco de dados, e a interface web opcionalmente precisa de acesso ao servidor Zabbix para obter seu status. Essa comunicação é mostrada na figura 1.2. Dependendo do cenário, o servidor Zabbix monitora diretamente vários dispositivos remotos separados por um firewall, por isso há a necessidade de utilizar o proxy. Um dos possíveis cenários em que isso pode ocorrer é apresentado na figura 1.3.


Capítulo 1 ■ Apresentação do Zabbix

Figura 1.2 – Comunicação entre os componentes servidor Zabbix, banco de dados e a interface web.

Figura 1.3 – Exemplo de um cenário de rede monitorado pelo Zabbix.

23


24

De A a Zabbix

Em geral, os dispositivos monitorados têm pouco controle sobre o que está sendo monitorado, pois a configuração é centralizada no servidor. A única forma de controle é por meio do permissionamento de sistema operacional. O que o usuário zabbix for capaz de executar o agente poderá executar também.

1.6 Como funciona a comunicação entre o agente e o servidor Zabbix? Na comunicação entre o agente e o servidor Zabbix são utilizadas as portas 10050/TCP (Agente), 10051/TCP (Trapper) e ainda a 10052/TCP, usada quando se está monitorando servidores de aplicações Java por meio do componente Java Gateway. Essas portas são padrão e podem ser alteradas, se necessário. Além dessas podem ser utilizadas portas para monitoramento específico como, por exemplo, SNMP (UDP/161) e IPMI (UDP/623). A comunicação entre o cliente e o servidor varia de acordo com o tipo de item a ser coletado do dispositivo que está sendo monitorado. Observe o exemplo mostrado na figura 1.4, a direção da seta indica como é feita a comunicação.

Figura 1.4 – Comunicação entre o servidor e o agente Zabbix.

Quando o tipo do item é normal, ou passivo, o servidor se conecta a um agente, que por sua vez repassa os dados. Por sua vez, quando o item é do tipo ativo, o fluxo inverte e é o agente que se conecta ao servidor, recebendo lista dos itens a serem monitorados, coletando os dados conforme o cronograma e, periodicamente, enviando-os para o servidor. Quando é realizada uma verificação simples (Simple Check) ou básica, o servidor de monitoração consulta os dados diretamente nas interfaces de rede do dispositivo monitorado, na porta específica do serviço ou da aplicação, sem fazer o uso de agentes adicionais.


Capítulo 1 ■ Apresentação do Zabbix

25

1.7 Suporte e documentação A Zabbix SIA (http://www.zabbix.com) oferece o suporte diretamente às empresas e também por meio de empresas parceiras. No Brasil não é diferente e já contamos com diversas empresas, não seremos exaustivos, listaremos as que estavam como parceiras a mais de dois anos e tem atuação constante nas comunidades, dados coletados em 2014: • Unirede – http://www.unirede.net • Alerta Security – http://www.alertasecurity.com.br Além do suporte ofertado pela Zabbix SIA e seus parceiros, existem comunidades de usuários do produto na Internet, maiores detalhes sobre os fóruns e como acessar o suporte serão fornecidos no capítulo 16. Os fóruns são importantes locais onde se pode conseguir a resolução de dúvidas específicas, mas é sempre bom ter o acesso também a sites com a documentação oficial e tutoriais práticos: • Manual do Zabbix 2.4 – https://www.zabbix.com/documentation/2.4/manual • Site oficial deste livro – http://www.zabbixone.com • Comunidade Zabbix Brasil: • Site – http://zabbixbrasil.org/ • Twitter – http://twitter.com/zabbixbr • Wiki – http://zabbixbrasil.org/wiki • Planet – http://planet.zabbixbrasil.org/ • Lista – http://br.groups.yahoo.com/group/zabbix-brasil/ • Facebook – https://www.facebook.com/groups/zabbixbrasil/ • Zabbix-Extras – https://www.facebook.com/zabbixextras/


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.