View
9.215
Download
31
Category
Preview:
DESCRIPTION
Apresentação sobre Zabbix para a 12.ª Semana de Sistemas de Informação (Fa7).
Citation preview
Monitoramento Opensource com ZabbixThiago Gomes12.ª 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
COLETADE DADOS
COLETADE DADOS ANÁLISEANÁLISE AÇÃO OU
CONTROLE
AÇÃO OUCONTROLE
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
http://oss.oetiker.ch/mrtg/
- Gera páginas HTML comg ráficos de dados coletados a partir de SNMP ou scripts externos
Algumas Opções
http://oss.oetiker.ch/rrdtool/
- Evolução do MRTG
- Armazenamento em banco de dados
Algumas Opções
www.cacti.net
- Ótimos gráficos
Algumas Opções
www.nagios.org
- Gráficos
- Monitoramento
- 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• 2012 – Lançada versão 2.0
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
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
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
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
- É 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
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
Servidor Zabbix
- Exemplo:
Processor load is too high on {HOSTNAME}
{teste:system.cpu.load[percpu,avg1].last(0)}>5
TRIGGER
Servidor Zabbix
- São as ações com base no evento
AÇÃO
Servidor Zabbix
- Configuração padrão de itens, triggers
- Configuração automática em associação
- Agilidade na adição de novos hosts
TEMPLATE
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
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
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
• 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
Gráficos
• Qualquer período de tempo
• Navegação por timeline
• Exibe condições de alertas
Mapas
• Fácil edição
• Dados de referência
• Fácil edição
• Fundo de tela
• Ícones Dinâmicos
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
Monitoração de temperatura
Integração com Arduino
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 - Android
Mobbix - Android
Mozaby - iPhone
MoZBX – Android / iPhone
/ Windows Mobile
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.
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
Perguntas?
Thiago Gomes
thiago.mgomes@gmail.com / @thigomes
Recommended