Monitoramento Opensource com Zabbix

53
Monitoramento Opensource com Zabbix Thiago Gomes 12.ª Semana de Sistemas de Informação

description

Apresentação sobre Zabbix para a 12.ª Semana de Sistemas de Informação (Fa7).

Transcript of Monitoramento Opensource com Zabbix

Page 1: Monitoramento Opensource com Zabbix

Monitoramento Opensource com ZabbixThiago Gomes12.ª Semana de Sistemas de Informação

Page 2: Monitoramento Opensource com Zabbix

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)

Page 3: Monitoramento Opensource com Zabbix

Modelo de Gerenciamento

COLETADE DADOS

COLETADE DADOS ANÁLISEANÁLISE AÇÃO OU

CONTROLE

AÇÃO OUCONTROLE

Page 4: Monitoramento Opensource com Zabbix

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

Page 5: Monitoramento Opensource com Zabbix

Algumas Opções

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

- Gera páginas HTML comg ráficos de dados coletados a partir de SNMP ou scripts externos

Page 6: Monitoramento Opensource com Zabbix

Algumas Opções

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

- Evolução do MRTG

- Armazenamento em banco de dados

Page 7: Monitoramento Opensource com Zabbix

Algumas Opções

www.cacti.net

- Ótimos gráficos

Page 8: Monitoramento Opensource com Zabbix

Algumas Opções

www.nagios.org

- Gráficos

- Monitoramento

- Notificações

Page 9: Monitoramento Opensource com Zabbix

Algumas Opções

www.opennms.org

- Disponibilidade de

serviços

- Coleta informações

- Notificações

Page 10: Monitoramento Opensource com Zabbix

Algumas Opções

ZABBIX

Page 11: Monitoramento Opensource com 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• 2012 – Lançada versão 2.0

Page 12: Monitoramento Opensource com Zabbix

Avanços

11 anos atrás

• 1-2 Downloads por dia• Sem website/fórum• Sem empresa• Sem suporte comercial• Comunidade muito pequena• Apenas 1 desenvolvedor

Page 13: Monitoramento Opensource com Zabbix

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

Page 14: Monitoramento Opensource com Zabbix

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

Page 15: Monitoramento Opensource com Zabbix

Alguns casos de sucesso

Page 16: Monitoramento Opensource com Zabbix

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

Page 17: Monitoramento Opensource com Zabbix

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

Page 18: Monitoramento Opensource com Zabbix

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

Page 19: Monitoramento Opensource com Zabbix

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

Page 20: Monitoramento Opensource com Zabbix

Funcionamento básico

Page 21: Monitoramento Opensource com Zabbix

Servidor Zabbix

TEMPLATE

ITEM TRIGGER AÇÃO

HOST

Page 22: Monitoramento Opensource com Zabbix

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;

Page 23: Monitoramento Opensource com Zabbix

Servidor Zabbix

- É o que será monitorado- Itens pré-configurados;- Contém parâmetros como:– Chave de monitoramento;– Intervalo– Tipo de retorno (string, integer ou float)– Etc;

ITEM

Page 24: Monitoramento Opensource com Zabbix

Servidor Zabbix

- É 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

TRIGGER

Page 25: Monitoramento Opensource com Zabbix

Servidor Zabbix

- Exemplo:

Processor load is too high on {HOSTNAME}

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

TRIGGER

Page 26: Monitoramento Opensource com Zabbix

Servidor Zabbix

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

AÇÃO

Page 27: Monitoramento Opensource com Zabbix

Servidor Zabbix

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

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

- Agilidade na adição de novos hosts

TEMPLATE

Page 28: Monitoramento Opensource com Zabbix

Alta Disponibilidade

Page 29: Monitoramento Opensource com Zabbix

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)

Page 30: Monitoramento Opensource com Zabbix

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

Page 31: Monitoramento Opensource com Zabbix

Plataformas suportadas

Page 32: Monitoramento Opensource com Zabbix

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

Page 33: Monitoramento Opensource com Zabbix

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

Page 34: Monitoramento Opensource com Zabbix

Zabbix Proxy: Funcionamento

Page 35: Monitoramento Opensource com Zabbix

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

Page 36: Monitoramento Opensource com Zabbix

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

Page 37: Monitoramento Opensource com Zabbix

Monitoramento Distribuído

Page 38: Monitoramento Opensource com Zabbix

Gráficos

• Qualquer período de tempo

• Navegação por timeline

• Exibe condições de alertas

Page 39: Monitoramento Opensource com Zabbix

Mapas

• Fácil edição

• Dados de referência

• Fácil edição

• Fundo de tela

• Ícones Dinâmicos

Page 40: Monitoramento Opensource com Zabbix

Screens

• Fácil edição

• Apenas o necessário

• Diferentes blocos

• Suporte para slideshow

Page 41: Monitoramento Opensource com Zabbix

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

Page 42: Monitoramento Opensource com Zabbix

Monitoração de temperatura

Page 43: Monitoramento Opensource com Zabbix

Integração com Arduino

Page 44: Monitoramento Opensource com Zabbix

Notificações

Page 45: Monitoramento Opensource com Zabbix

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

Page 46: Monitoramento Opensource com Zabbix

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”

Page 47: Monitoramento Opensource com Zabbix

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

+>

Page 48: Monitoramento Opensource com Zabbix

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

Page 49: Monitoramento Opensource com Zabbix

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

Page 50: Monitoramento Opensource com Zabbix

Zabbix Mobile

ZAX - Android

Mobbix - Android

Mozaby - iPhone

MoZBX – Android / iPhone

/ Windows Mobile

Page 51: Monitoramento Opensource com Zabbix

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.

Page 52: Monitoramento Opensource com Zabbix

Conclusão

• Site do Zabbix:

http://www.zabbix.com

• Licença 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-brasilhttp://zabbixbrasil.org

Page 53: Monitoramento Opensource com Zabbix

Perguntas?

Thiago Gomes

[email protected] / @thigomes