Você está na página 1de 53

Monitoramento Opensource com Zabbix

Thiago Gomes 12. Semana de Sistemas de Informao

NMS (Network Management System)

Um sistema de gerenciamento de rede (NMS) uma combinao de hardware e software usados, para monitorar e administrar uma rede de computadores ou redes. (Fonte: Wikipedia)

Modelo de Gerenciamento

COLETA DE DADOS

ANLISE

AO OU CONTROLE

Porque utilizar um NMS?


Monitoramento pr-ativo Trabalho mais produtivo pelo time de TI Downtimes perda $$$ Planejamento de investimentos Avaliao de qualidade de servios (SLA) Automatizar tarefas de rotinas, verificar a disponibilidade de recursos

Algumas Opes

http://oss.oetiker.ch/mrtg/

- Gera pginas HTML comg rficos de dados coletados a partir de SNMP ou scripts externos

Algumas Opes

http://oss.oetiker.ch/rrdtool/

- Evoluo do MRTG - Armazenamento em banco de dados

Algumas Opes

www.cacti.net

- timos grficos

Algumas Opes

www.nagios.org

- Grficos - Monitoramento - Notificaes

Algumas Opes

www.opennms.org

- Disponibilidade de servios - Coleta informaes - Notificaes

Algumas Opes

ZABBIX

Histria
Criado por Alexei Vladishev em 1998 2001 - Primeiro release (Zabbix 1.0 alpha1) 2004 Primeiro release stable 2005 Foi fundada a Zabbix SIA 2006 Lanada verso 1.1 2007 Lanada verso 1.4 2008 Lanada verso 1.6 2011 Lanada verso 1.8 2012 Lanada verso 2.0

Avanos
11 anos atrs 1-2 Downloads por dia Sem website/frum Sem empresa Sem suporte comercial Comunidade muito pequena Apenas 1 desenvolvedor

Avanos (Continuao)
2011 500-600 Downloads por dia Comunidade ativa Empresa por trs do Zabbix Usurios em todo planeta Parte de quase todas as distros Time de desenvolvedores

Porque escolher o Zabbix?


Tudo em um (Community = Enterprise) Preparado para controle dos pequenos e grandes ambientes distribudos Sem add-nos proprietrios e sem edies profissionais ou demo Extremamente flexvel! Triggers, escalations, new checks, screens, etc. Projetado para lidar com comunicaes instveis

Alguns casos de sucesso

O que o Zabbix?
Licenciado em cdigo aberto (GPLv2) Um dos sistemas de monitoramento mais populares e completo Compete com ferramentas comerciais da HP, IBM e outros Tem cerca de 40.000 usurios Escalabilidade para 100.000 dispositivos Pode monitorar praticamente todas as plataformas e dispositivos

Caractersticas
Backend escrito em C++ e interface em PHP Suporte nativo a SNMP, IPMI e JMX* Suporte a SGBD (MySQL, PostgreSQL, SQLite, Oracle ou IBM DB2) Agentes (AIX, HP-UX, FreeBSD, Solaris, Gnu/Linux, Windows e outros) Monitoria sem agentes (simple check) Suporte a IPv6 e IPv4 Escalvel com a utilizao de proxys

Fatores crticos de sucesso


No compar-lo a outro sistema de monitoramento - Criao de um sistema do zero! Contribuio de usurios e comunidade Evoluo, no revoluo! No h grandes saltos Dependncia mnima de terceiros Desenvolvimento de uma soluo de monitoramento confivel

Principais componentes
Servidor - Ncleo do Zabbix - Centraliza toda a lgica - Processamento dos dados Web Interface (frontend) - Acessa o histrico - Configuraes Agente - Coleta de dados / Aes Proxy - Coleta de dados remota

Funcionamento bsico

Servidor Zabbix

TEMPLATE

ITEM

TRIGGER

AO

HOST

Servidor Zabbix
HOST

- a configurao do ativo a ser monitorado - Contm parmetros como: Endereo IP; Nome da mquina; Inventrio; Template associado; Etc;

Servidor Zabbix
ITEM

- o que ser monitorado - Itens pr-configurados; - Contm parmetros como: Chave de monitoramento; Intervalo Tipo de retorno (string, integer ou float) Etc;

Servidor Zabbix
TRIGGER

- o uma expresso lgica flexvel usada para definir uma


condio de problema - Gerao de eventos

- Nvel de severidade
- uma maneira de usar flapping (interfaces intermitentes)

- Possibilidade de utilizar dependncias

Servidor Zabbix
TRIGGER

- Exemplo:
Processor load is too high on {HOSTNAME} {teste:system.cpu.load[percpu,avg1].last(0)}>5

Servidor Zabbix
AO

- So as aes com base no evento

Servidor Zabbix
TEMPLATE

- Configurao padro de itens, triggers


- Configurao automtica em associao - Agilidade na adio de novos hosts

Alta Disponibilidade

Como monitorar?
Checagem de servios: FTP, SSH, HTTP, SMTP, DNS Agente Zabbix: Verificao ativa e passiva Monitoramento de logs, logs de eventos Fcil de estender Execuo de comando remoto Extremamente eficiente! SNMP v1, v2, v3: Dispositivos de rede NET-SNMP para servidores SNMP traps Monitoramento de aplicaes: Oracle, Weblogic, JBOSS, Websphere, PgSQL, TomCat. IPMI: Monitoramento de Hardware Gerenciamento remoto (reboot, reset, halt)

Outros: WMI, JMX, Nagios plugins

Monitorao com agentes


Checagem passiva: Requer polling no lado do servidor O servidor inicia as conexes Possvel limitao de rede Requer maior performance Checagem ativa: Altamente eficiente Buffer de coleta de dados

Plataformas suportadas

Monitoramento JMX
Zabbix 1.8.x - Utilizao de Zapcat ou ferramentas de terceiros Zabbix 2.0 - Suporte nativo de JMX seguro - AutoDescoberta de contadores JMX - Monitoramento de infraestrutura Java: - JBoss - WebLogic - WebSphere - Tomcat - Monitorao de aplicativos Java

Zabbix Proxy
Proxy um coletor de dados Vantagens: Facilidade de administrao Gerenciamento atravs do frontend do Zabbix Server Distribui a carga do Zabbix Server

Zabbix Proxy: Funcionamento

Zabbix Proxy: Funcionamento


Pode ser passivo ou ativo Continua a coleta de dados caso haja perda de conexo com o Zabbix Server Dados armazenados em banco de dados Requer poucos recursos No envia alertas

Monitoramento Distribudo
Estrutura de rvore hierrquica Cada n funciona como um Zabbix Server Acesso independente

As informaes so enviadas para o n mestre ou outro n


Administrao descentralizada Podemos combinar proxys e ns Suporte a 1.000 ns

Monitoramento Distribudo

Grficos
Qualquer perodo de tempo Navegao por timeline Exibe condies de alertas

Mapas
Fcil edio Dados de referncia Fcil edio

Fundo de tela
cones Dinmicos

Screens

Fcil edio
Apenas o necessrio Diferentes blocos Suporte para slideshow

Monitoramento Web
Tempo de resposta

Velocidade de download
Cdigo de resposta Disponibilidade de um determinado contedo Capacidade para cenrios

com login/logout
Suporte a HTTP/HTTPS

Monitorao de temperatura

Integrao com Arduino

Notificaes

Zabbix API
Suportado a partir da verso 1.7 (alpha) Baseado em JSON-RPC v2.0 sobre HTTP (POST) Chamadas via API so feitas para o frontend, e no para o Zabbix Server http://www.zabbix.com/wiki/doc/api

Zabbix API & Zabcon


Zabcon um Console Zabbix Criado em 2009 Escrito em Ruby Requer pelo menos a verso 1.8.6 Usurios podem criar scripts customizados Instalao: gem install zabcon

Zabbix API & Zabcon


+> get host Host result set +--------+----------+-----+-----------+ | hostid | host | 10047 | 10064 | test | Lua 2 | dns | ip | | | +--------+----------+-----+-----------+ | 127.0.0.1 | | 0.0.0.0 |

| 10067

| new test |

| 127.0.0.1 |

+--------+----------+-----+-----------+ 3 rows total

+>

Zabbix API & Zabcon

$ echo "get host show=hostid,host,dns,ip,status" | zabcon.rb hostid,host,dns,ip,status 10047,test,,127.0.0.1,0 10064,Lua 2,,0.0.0.0,0 10067,new test,,127.0.0.1,0

Outras Funcionalidades
Inventrio Autodescoberta de itens Medio de nveis de SLA Gerenciamento de permisso por usurios Suporte para manuteno Relatrios Gerenciamento de fila

Execuo de comandos remotos

Zabbix Mobile
ZAX - Android

Mobbix - Android

Mozaby - iPhone MoZBX Android / iPhone / Windows Mobile

Concluso
Uma soluo completa para monitorao da infraestrutura. Opensource, licenciado pela (GPLv2). Sem verses comerciais. Pronto para o monitoramento de pequenos e grandes ambientes distribudos. Baixo custo de implantao, uma vez que no h custo de aquisio. Extremamente flexvel! Voc poder adapt-lo as suas necessidades. Tem suporte da Zabbix SIA e o desenvolvimento constante.

Concluso
Site do Zabbix: http://www.zabbix.com Licena Zabbix: http://www.zabbix.com/licence.php

Manual do Zabbix: http://www.zabbix.com/documentation.php


Lista da Comunidade Brasileira: http://br.groups.yahoo.com/group/zabbix-brasil http://zabbixbrasil.org

Perguntas?

Thiago Gomes thiago.mgomes@gmail.com / @thigomes