Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Monitoramento Open Source com Zabbix

Monitoramento Open Source com Zabbix

12.ª Semana de Sistemas de Informação da Faculdade Sete de Setembro

Thiago Gomes

October 01, 2012
Tweet

Other Decks in Technology

Transcript

  1. 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)
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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;
  13. 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
  14. 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
  15. Servidor Zabbix - Exemplo: Processor load is too high on

    {HOSTNAME} {teste:system.cpu.load[percpu,avg1].last(0)}>5 TRIGGER
  16. Servidor Zabbix - Configuração padrão de itens, triggers - Configuração

    automática em associação - Agilidade na adição de novos hosts TEMPLATE
  17. 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)
  18. 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
  19. 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
  20. 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
  21. 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
  22. 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
  23. Mapas • Fácil edição • Dados de referência • Fácil

    edição • Fundo de tela • Ícones Dinâmicos
  24. 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
  25. 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
  26. 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”
  27. 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 +>
  28. 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
  29. 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
  30. Zabbix Mobile ZAX - Android Mobbix - Android Mozaby -

    iPhone MoZBX – Android / iPhone / Windows Mobile
  31. 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.
  32. 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-brasil http://zabbixbrasil.org