Você está na página 1de 53

Monitoramento Opensource com Zabbix

Thiago Gomes

12.ª Semana de Sistemas de Informação

NMS (Network Management System)

Um sistema de gerenciamento de rede (NMS) é uma

combinação de hardware e software usados, para

monitorar e administrar uma rede de computadores ou redes.

(Fonte: Wikipedia)

Modelo de Gerenciamento

Modelo de Gerenciamento COLETA DE DADOS ANÁLISE AÇÃO OU CONTROLE

COLETA DE DADOS

Modelo de Gerenciamento COLETA DE DADOS ANÁLISE AÇÃO OU CONTROLE
Modelo de Gerenciamento COLETA DE DADOS ANÁLISE AÇÃO OU CONTROLE

ANÁLISE

Modelo de Gerenciamento COLETA DE DADOS ANÁLISE AÇÃO OU CONTROLE
AÇÃO OU CONTROLE
AÇÃO OU
CONTROLE
Modelo de Gerenciamento COLETA DE DADOS ANÁLISE AÇÃO OU CONTROLE

Porque utilizar um NMS?

Monitoramento pró-ativo

Trabalho mais produtivo pelo time de TI

Downtimes → perda $$$

Planejamento de investimentos

Avaliação de qualidade de serviços (SLA)

Automatizar tarefas de rotinas, verificar a disponibilidade de recursos

Algumas Opções

Algumas Opções http://oss.oetiker.ch/mrtg/ - Gera páginas HTML comg ráficos de dados coletados a partir de SNMP

- Gera páginas HTML comg

ráficos de dados coletados a partir de SNMP ou scripts

externos

http://oss.oetiker.ch/mrtg/ - Gera páginas HTML comg ráficos de dados coletados a partir de SNMP ou scripts

Algumas Opções

Algumas Opções http://oss.oetiker.ch/rrdtool/ - Evolução do MRTG - Armazenamento em banco de dados

- Evolução do MRTG

- Armazenamento em banco de dados

Algumas Opções http://oss.oetiker.ch/rrdtool/ - Evolução do MRTG - Armazenamento em banco de dados

Algumas Opções

Algumas Opções www.cacti.net - Ótimos gráficos

- Ótimos gráficos

Algumas Opções www.cacti.net - Ótimos gráficos

Algumas Opções

Algumas Opções www.nagios.org - Gráficos - Monitoramento - Notificações

- Gráficos

- Monitoramento

- Notificações

Algumas Opções www.nagios.org - Gráficos - Monitoramento - Notificações

Algumas Opções

Algumas Opções www.opennms.org - Disponibilidade de serviços - Coleta informações - Notificações

- Disponibilidade de

serviços

- Coleta informações

- Notificações

Algumas Opções www.opennms.org - Disponibilidade de serviços - Coleta informações - Notificações

Algumas Opções

ZABBIX

História

Criado por Alexei Vladishev em 1998

2001 - Primeiro release (Zabbix 1.0 alpha1)

2004 – Primeiro release “stable”

2005 Foi fundada a Zabbix SIA

2006 Lançada versão 1.1

2007 Lançada versão 1.4

2008 Lançada versão 1.6

2011 Lançada versão 1.8

11 anos atrás

Avanços

1-2 Downloads por dia

Sem website/fórum

Sem empresa

Sem suporte comercial

Comunidade muito pequena

Apenas 1 desenvolvedor

Avanços (Continuação)

2011

500-600 Downloads por dia

Comunidade ativa

Empresa por trás do Zabbix

Usuários 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 distribuídos

Sem add-nos proprietários e sem edições profissionais ou demo

Extremamente flexível! Triggers, escalations,

new checks, screens, etc.

Projetado para lidar com comunicações

instáveis

Alguns casos de sucesso

Alguns casos de sucesso
Alguns casos de sucesso
Alguns casos de sucesso
Alguns casos de sucesso
Alguns casos de sucesso
Alguns casos de sucesso
Alguns casos de sucesso
Alguns casos de sucesso
Alguns casos de sucesso

O que é o Zabbix?

Licenciado em código 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 usuários

Escalabilidade para 100.000 dispositivos

Pode monitorar praticamente todas as

plataformas e dispositivos

Características

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

Escalável com a utilização de proxys

Fatores críticos de sucesso

Não compará-lo a outro sistema de monitoramento - Criação de um sistema do zero!

Contribuição de usuários e comunidade

Evolução, não revolução! Não há grandes saltos

Dependência mínima de terceiros

Desenvolvimento de uma solução de monitoramento confiável

Principais componentes

Servidor

- Núcleo do Zabbix

- Centraliza toda a lógica

- Processamento dos dados Web Interface (frontend)

- Acessa o histórico

- Configurações

Agente

- Coleta de dados / Ações

Proxy - Coleta de dados remota

(frontend) - Acessa o histórico - Configurações Agente - Coleta de dados / Ações Proxy -

Funcionamento básico

Funcionamento básico

Servidor Zabbix

TEMPLATE

ITEM

TRIGGER

AÇÃO

HOST

Servidor Zabbix

HOST

- É a configuração do ativo a ser monitorado

- Contém parâmetros como:

Endereço IP;

Nome da máquina;

Inventário;

Template associado;

Etc;

Servidor Zabbix

ITEM

- É o que será monitorado

- Itens pré-configurados;

- Contém parâmetros como:

Chave de monitoramento;

Intervalo

Tipo de retorno (string, integer ou float)

Etc;

Servidor Zabbix

TRIGGER

- É o uma expressão lógica flexível usada para definir uma

condição de problema

- Geração de eventos

- Nível de severidade

- É uma maneira de usar flapping (interfaces intermitentes)

- Possibilidade de utilizar dependências

Servidor Zabbix

TRIGGER

-

Exemplo:

Processor load is too high on {HOSTNAME}

{teste:system.cpu.load[percpu,avg1].last(0)}>5

Servidor Zabbix

AÇÃO

- São as ações com base no evento

Servidor Zabbix

TEMPLATE

- Configuração padrão de itens, triggers

- Configuração automática em associação

- Agilidade na adição de novos hosts

Alta Disponibilidade

Alta Disponibilidade
Alta Disponibilidade

Como monitorar?

Checagem de serviços:

• FTP, SSH, HTTP, SMTP, DNS …

Agente Zabbix:

Verificação ativa e passiva

Monitoramento de logs, logs de

eventos

Fácil de estender

Execução de comando remoto

Extremamente eficiente!

Outros: WMI, JMX, Nagios plugins

SNMP v1, v2, v3:

Dispositivos de rede

NET-SNMP para servidores

SNMP traps

Monitoramento de aplicações:

Oracle, Weblogic, JBOSS,

Websphere, PgSQL, TomCat.

IPMI:

Monitoramento de Hardware

Gerenciamento remoto (reboot, reset, halt)

Monitoração com agentes

Checagem passiva:

Requer polling no lado do

servidor

O servidor inicia as conexões

Possível limitação de rede

Requer maior performance

Checagem ativa:

Altamente eficiente

Buffer de coleta de dados

limitação de rede • Requer maior performance Checagem ativa: • Altamente eficiente • Buffer de coleta

Plataformas suportadas

Plataformas suportadas

Monitoramento JMX

Zabbix 1.8.x

- Utilização 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

- Monitoração de aplicativos Java

JMX - Monitoramento de infraestrutura Java: - JBoss - WebLogic - WebSphere - Tomcat - Monitoração

Zabbix Proxy

Proxy é um coletor de dados

Vantagens:

Facilidade de administração

Gerenciamento através do frontend do Zabbix Server

Distribui a carga do Zabbix Server

Zabbix Proxy: Funcionamento

Zabbix Proxy: Funcionamento

Zabbix Proxy: Funcionamento

Pode ser passivo ou ativo

Continua a coleta de dados caso haja perda de conexão com o Zabbix Server

Dados armazenados em banco de dados

Requer poucos recursos

Não envia alertas

Monitoramento Distribuído

Estrutura de árvore hierárquica

Cada nó funciona como um Zabbix Server

Acesso independente

As informações são enviadas para o nó mestre ou outro nó

Administração descentralizada

• Podemos combinar proxy’s e nós

Suporte a 1.000 nós

Monitoramento Distribuído

Monitoramento Distribuído

Gráficos

Qualquer período de tempo

Navegação por timeline

Exibe condições de alertas

Gráficos • Qualquer período de tempo • Navegação por timeline • Exibe condições de alertas

Fácil edição

Dados de referência

Fácil edição

Fundo de tela

Ícones Dinâmicos

Mapas

• Fácil edição • Dados de referência • Fácil edição • Fundo de tela • Ícones

Screens

Fácil edição

Apenas o necessário

Diferentes blocos

Suporte para slideshow

Screens • Fácil edição • Apenas o necessário • Diferentes blocos • Suporte para slideshow

Monitoramento Web

Tempo de resposta

Velocidade de download

Código de resposta

Disponibilidade de um determinado conteúdo

Capacidade para cenários

com login/logout

Suporte a HTTP/HTTPS

• Disponibilidade de um determinado conteúdo • Capacidade para cenários com login/logout • Suporte a HTTP/HTTPS

Monitoração de temperatura

Monitoração de temperatura
Monitoração de temperatura

Integração com Arduino

Integração com Arduino
Integração com Arduino
Integração com Arduino
Integração com Arduino

Notificações

Notificações

Zabbix API

Suportado a partir da versão 1.7 (alpha)

Baseado em JSON-RPC v2.0 sobre HTTP (POST)

Chamadas via API são feitas para o frontend, e não 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 versão 1.8.6

Usuários podem criar scripts customizados

• Instalação: “gem install zabcon”

Zabbix API & Zabcon

+> get host Host result set

+--------+----------+-----+-----------+

| hostid | host

| dns | ip

|

+--------+----------+-----+-----------+

| 10047

| test

|

| 127.0.0.1 |

| 10064

| Lua 2

|

| 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

Inventário

Autodescoberta de itens

Medição de níveis de SLA

Gerenciamento de permissão por usuários

Suporte para manutenção

Relatórios

Gerenciamento de fila

Execução de comandos remotos

Zabbix Mobile

ZAX - AndroidZabbix Mobile Mobbix - Android Mozaby - iPhone MoZBX – Android / iPhone / Windows Mobile

Mobbix - AndroidZabbix Mobile ZAX - Android Mozaby - iPhone MoZBX – Android / iPhone / Windows Mobile

Mozaby - iPhoneZabbix Mobile ZAX - Android Mobbix - Android MoZBX – Android / iPhone / Windows Mobile

MoZBX – Android / iPhone Android / iPhone

/ Windows Mobile

Zabbix Mobile ZAX - Android Mobbix - Android Mozaby - iPhone MoZBX – Android / iPhone

Conclusão

Uma solução completa para monitoração da infraestrutura.

Opensource, licenciado pela (GPLv2). Sem versões comerciais.

Pronto para o monitoramento de pequenos e grandes ambientes distribuídos.

Baixo custo de implantação, uma vez que não há custo de aquisição.

Extremamente flexível! Você poderá adaptá-lo as suas necessidades.

Tem suporte da Zabbix SIA e o desenvolvimento é constante.

Site do Zabbix:

Conclusão

Licença Zabbix:

Manual do Zabbix:

Lista da Comunidade Brasileira:

Perguntas?

Thiago Gomes
Thiago Gomes

thiago.mgomes@gmail.com / @thigomes