Monitoramento Opensource com Zabbix

15,093 views

Published on

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

Published in: Technology

Monitoramento Opensource com Zabbix

  1. 1. Monitoramento Opensourcecom ZabbixThiago Gomes12.ª Semana de Sistemas de Informação
  2. 2. NMS (Network Management System)Um sistema de gerenciamento de rede (NMS) é umacombinação de hardware e software usados, paramonitorar e administrar uma rede de computadores ouredes. (Fonte: Wikipedia)
  3. 3. Modelo de Gerenciamento COLETA COLETA AÇÃO OU AÇÃO OU ANÁLISE ANÁLISEDE DADOSDE DADOS CONTROLE CONTROLE
  4. 4. 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
  5. 5. Algumas Opçõeshttp://oss.oetiker.ch/mrtg/- Gera páginas HTML comgráficos de dados coletados apartir de SNMP ou scriptsexternos
  6. 6. Algumas Opçõeshttp://oss.oetiker.ch/rrdtool/- Evolução do MRTG- Armazenamento em bancode dados
  7. 7. Algumas Opçõeswww.cacti.net- Ótimos gráficos
  8. 8. Algumas Opçõeswww.nagios.org- Gráficos- Monitoramento- Notificações
  9. 9. Algumas Opçõeswww.opennms.org- Disponibilidade deserviços- Coleta informações- Notificações
  10. 10. Algumas Opções ZABBIX
  11. 11. 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
  12. 12. Avanços11 anos atrás• 1-2 Downloads por dia• Sem website/fórum• Sem empresa• Sem suporte comercial• Comunidade muito pequena• Apenas 1 desenvolvedor
  13. 13. 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
  14. 14. 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
  15. 15. Alguns casos de sucesso
  16. 16. 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
  17. 17. 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
  18. 18. 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
  19. 19. Principais componentesServidor- Núcleo do Zabbix- Centraliza toda a lógica- Processamento dos dadosWeb Interface (frontend)- Acessa o histórico- ConfiguraçõesAgente- Coleta de dados / AçõesProxy- Coleta de dados remota
  20. 20. Funcionamento básico
  21. 21. Servidor Zabbix TEMPLATEITEM TRIGGER AÇÃO HOST
  22. 22. 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;
  23. 23. 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;
  24. 24. 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
  25. 25. Servidor Zabbix TRIGGER- Exemplo:Processor load is too high on {HOSTNAME}{teste:system.cpu.load[percpu,avg1].last(0)}>5
  26. 26. Servidor Zabbix AÇÃO- São as ações com base no evento
  27. 27. Servidor Zabbix TEMPLATE- Configuração padrão de itens, triggers- Configuração automática em associação- Agilidade na adição de novos hosts
  28. 28. Alta Disponibilidade
  29. 29. Como monitorar?Checagem de serviços: SNMP v1, v2, v3:• FTP, SSH, HTTP, SMTP, DNS … • Dispositivos de rede • NET-SNMP para servidoresAgente Zabbix: • SNMP traps• Verificação ativa e passiva• Monitoramento de logs, logs de Monitoramento de aplicações: eventos • Oracle, Weblogic, JBOSS,• Fácil de estender Websphere, PgSQL, TomCat.• Execução de comando remoto• Extremamente eficiente! IPMI: • Monitoramento de Hardware • Gerenciamento remoto (reboot,Outros: WMI, JMX, Nagios plugins reset, halt)
  30. 30. Monitoração com agentesChecagem passiva:• Requer polling no lado do servidor• O servidor inicia as conexões• Possível limitação de rede• Requer maior performanceChecagem ativa:• Altamente eficiente• Buffer de coleta de dados
  31. 31. Plataformas suportadas
  32. 32. 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
  33. 33. Zabbix ProxyProxy é um coletor de dadosVantagens:•Facilidade de administração•Gerenciamento através do frontend do Zabbix Server•Distribui a carga do Zabbix Server
  34. 34. Zabbix Proxy: Funcionamento
  35. 35. 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
  36. 36. 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
  37. 37. Monitoramento Distribuído
  38. 38. Gráficos• Qualquer período de tempo• Navegação por timeline• Exibe condições de alertas
  39. 39. Mapas• Fácil edição• Dados de referência• Fácil edição• Fundo de tela• Ícones Dinâmicos
  40. 40. Screens• Fácil edição• Apenas o necessário• Diferentes blocos• Suporte para slideshow
  41. 41. 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
  42. 42. Monitoração de temperatura
  43. 43. Integração com Arduino
  44. 44. Notificações
  45. 45. 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
  46. 46. 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”
  47. 47. Zabbix API & Zabcon+> get hostHost 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+>
  48. 48. Zabbix API & Zabcon$ echo "get host show=hostid,host,dns,ip,status" |zabcon.rbhostid,host,dns,ip,status10047,test,,127.0.0.1,010064,Lua 2,,0.0.0.0,010067,new test,,127.0.0.1,0
  49. 49. 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
  50. 50. Zabbix MobileZAX - AndroidMobbix - AndroidMozaby - iPhoneMoZBX – Android / iPhone/ Windows Mobile
  51. 51. 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.
  52. 52. 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
  53. 53. Perguntas? Thiago Gomesthiago.mgomes@gmail.com / @thigomes

×