Zabbix FLISOL Campinas 28-04-2012

12,316
-1

Published on

Palestra sobre Zabbix ministrada no FLISOL Campinas 2012.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
12,316
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
186
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Zabbix FLISOL Campinas 28-04-2012

  1. 1. FLISOL CAMPINAS 2012 André Déo
  2. 2. Gerência de Redes com Zabbix
  3. 3. Agenda• NMS (Network Management System)• O que é Zabbix?• Por que usar Zabbix?• História• Características• Funcionalidades• Exemplos Práticos• Zabbix 2.0: O que vem por aí?• Zabbix-BR
  4. 4. NMS (Network Management System)O Sistema de Gerenciamento de Rede (Network Management System – NMS) é umsistema responsável pelas aplicações que monitoram e controlam os DispositivosGerenciados. Normalmente é instalado em um (ou mais de um) servidor de redededicado a estas operações de gerenciamento, que recebe informações (pacotesSNMP) de todos os dispositivos gerenciados daquela rede.
  5. 5. Por que utilizar um NMS?• Monitorar problemas de forma automatizada• Receber aviso de problema antes da ligação do usuário (ou do diretor!)• Servidores inativos são muito caros• Planejamento de investimentos em recursos de hardware• Avaliação de qualidade de serviços• Um bom sistema de gerenciamento nos torna confiantes, nosso negócio está funcionando!
  6. 6. Zabbix
  7. 7. O que é?Um software Livre (e de código fonte aberto – Open Source) com sistema demonitoramento distribuído capaz de monitorar a disponibilidade e performance detoda sua infra-estrutura de rede, além de aplicações;Suporte a maioria dos sistemas operacionais: Linux, Solaris, HP-UX, AIX, FreeBSD,OpenBSD, NetBSD, Mac OS, Windows, entre outros;Monitora serviços simples (http, pop3, imap, ssh) sem o uso de agentes;
  8. 8. Porque escolher o Zabbix?O que torna o Zabbix tão especial?All-in-one (Tudo em um), única solução quando se trata de monitoramento!Todos os dados históricos, tendências e configuração são armazenados em um bancode dados.Preparado para controle dos pequenos e grandes ambientes distribuídos.Solução verdadeiramente Software Livre (GPLv2), não existe versões comerciais.
  9. 9. Porque escolher o Zabbix?Toda a lógica está do lado do servidor, os agentes são usados apenas para coleta dedadosExtremamente flexível! Triggers, escalations, new checks, screens e muito mais.Projetado para lidar com as comunicações instáveisSuporte total ao IPv6
  10. 10. HistóriaCriado por Alexei VladishevLinha do tempo:• 1998 : Escolhas disponíveis HP OpenView,IBM, BMC: muito caros para comprar e manterQue nome eu dou para este software?ABCDE…Zabbix!2001 : versão 1.0alpha1 em GPL2004 : versão 1.02006 : versão 1.1 Alexei Vladishev Fundador e CEO da Zabbix SIA Desenvolvedor do Zabbix
  11. 11. História• 2007 : versão 1.4• 2008 : versão 1.6Zabbix 1.6.4, 500 downloads por dia, 15.000 usuários no forumA compania Zabbix company está crescendo, 20 parceiros Zabbix (Europa, Japão, EUA,BRASIL)Zabbix Hoje:• Downloads desde 2001: Mais de 1.300.000• Usuários no Fórum: Dezembro quase 54.000; Hoje são mais de 60.000!• Usuários na lista Brasileira: Mais de 480
  12. 12. Características• Versão atual: 1.8.12• Excelente Manual• Suporte do Fórum• Suporte Comercial (ZABBIX SIA - sales@zabbix.com)• Suporte Comercial no Brasil pela Unirede: http://www.zabbix.com.br
  13. 13. Características• Envio de alertas para: e-mail, Jabber, SMS e scripts personalizados• Suporte nativo ao protocolo SNMP• Interface de gerenciamento Web, de fácil utilização• Integração com banco de dados (MySQL, Oracle, PostgreSQL ou SQLite)• Geração de gráficos em tempo real
  14. 14. Características• Fácil instalação e customização• Agentes disponíveis para diversas plataformas:• Linux, Solaris, HP-UX, AIX, FreeBSD, OpenBSD, SCO-OpenServer, Mac OS, Windows 2000/XP/2003/Vista;• Agentes para plataformas 32 bits e 64 bits• Integração com os Contadores de Performance do Windows Windows XP quase 7.000 itens !! Windows Server 2003 R2 mais de 23.000 itens !!
  15. 15. Características Exemplos de Configuração de Hardware:Name Plataform CPU/Memory Database Monitored HostsSmall Ubuntu Linux PII 350 MHZ MySQL MyISAM 20 256MBMedium Ubuntu Linux 64 bit ADM Athlon 3200+ MySQL InnoDB 500 2 GBLarge Ubuntu Linux 64 bit Intel Dual Core 6400 MySQL InnoDB >1000 4GB or RAID 10 PostgreeSQLVery Large RedHat Enterprise Intel Xeon MySQL InnoDB >10000 2xCPU or 8GB PostgreeSQL Fast RAID10 * Zabbix Manual Online http://www.zabbix.com/documentation
  16. 16. CaracterísticasAlguns tipos de itens que não dependem de agente (Simple Checks):• icmpping – Verifica se o host está acessivel através do ping;• http – Verifica se a porta http (80) está respondendo;• pop – Verifica se a porta pop3 (110) está respondendo;• ftp_perf – Tempo de resposta (em ms) do serviço de FTP;
  17. 17. ComponentesServer:• Núcleo do Zabbix, lógica do sistema• Processamento de Dados, Escalonamento Interface Web• Acesso ao histórico de dados• ConfiguraçãoAgente• Servidor de coleta de dados, ações Proxy:• Coleta remota de dados
  18. 18. Componentes
  19. 19. Detalhes TécnicosLinguagem de Programação:• Servidor e agentes: C• Interface de administração: PHP• Não houve reuso de código do Nagios, RRD, CactiPrincípios fundamentais da Zabbix desenvolvimento:• Mantenha as coisas simples (KISS), no entanto, tem que ser muito flexível• Manter os requisitos de hardware baixos, mas não deve afetar a produção
  20. 20. Como MonitorarVerificações de serviço:• FTP, SSH, HTTP, SMTP, DNS ...Agente Zabbix:• Checagem Аtiva e Passiva• Monitoramento de registros, logs de eventos• Fácil de personalizar• Execução de comando remoto• Extremamente eficiente!Outros:• Plugins WMI, JMX, Nagios
  21. 21. Como MonitorarSNMP v1, v2, v3:• Dispositivos de rede• Normalmente NET-SNMP para servidores• Monitoramento de aplicações (Oracle, Weblogic, Websphere, PostgreSQL, MySQL, ...)• Traps SNMP IPMI:• Monitoramento de hardware• Gerenciamento remoto (reboot, reset, desligamento)
  22. 22. Uso do Agente do ZabbixChecagens Ativas:• Altamente eficiente• Buffer de dados coletadosChecagens Passivas:• Requer polling do lado do Servidor Zabbix• Desempenho adicional por causa dos pollings e da largura de banda de rede
  23. 23. Uso do Agente do Zabbix
  24. 24. Hummm ... Triggers!Trigger é uma expressão lógica flexível usada para definir uma condição de problema.• Status (value) de uma trigger representa o estado do sistema• Alteração do valor da trigger gera eventos• É uma das maneiras de lidar com flapping (Intefaces intermitentes, up, down, up, down)• {<server>:<key>.<function>(<parameter>)}<operator><const>
  25. 25. Hummm ... Triggers!• CPU load is too high: {host:cpuload.last(0)}>5• A trigger será verdadeira toda vez que a leitura mais recente da carga do processador for maior que 5.• CPU load is too high: {host:cpuload.min(300)}>2• A trigger será verdadeira se a carga do processador for maior que 2 nos últimos cinco minutos.• CPU load is too high: {host:cpuload.min(300)}>2 & {host:cpuuser.min(300)}>50• A trigger será verdadeira se a carga do processador for maior que 2 nos últimos cinco minutos E a carga do processador com processos de usuário for maior que 50 nos últimos cinco minutos.
  26. 26. Hummm ... Triggers!• CPU load is too high: {host:cpuload.min(300)}>2 & {host2:backup.last(0)}=0• A trigger será verdadeira se a carga do processador for maior que 2 nos últimos cinco minutos E a leitura mais recente do status do backup do host2 for 0 (Pode ser definido o que 0, 1, 2 ... N significam)Nós decidimos como definir «CPU load is too high» não o Zabbix sozinho!
  27. 27. DependênciasElas são usadas para:• Evitar notificações• Definir dependências entre diferentes problemas (relacionados a redes, aplicações, qualquer coisa). Sem dependências de host!• Server está down  Switch1 está down  Switch2 está down• Servidor Web está down  MySQL não está respondendo  Sem espaço livre no /tmp
  28. 28. EscalabilidadeCenários diferentes:• Notificações atrasadas• Notificações repetidas• Execução de comandos• Aviso para outros usuários• Recuperação de mensagens• Diferentes ações para eventos conhecidos e não conhecidos
  29. 29. Exemplo: Reação para a falha de um Servidor WebAumente a etapa a cada 5 minutos• Etapa 1-3: Enviar mensagem para os Unix Admins• Etapa 3-5: Enviar mensagem para Chefe, se não ACK• Passo 6: Reinicie o Apache, se não ACK• Passo 7: Reiniciar o servidor se não ACK• Passo 10: Enviar mensagem a todos os não ACK
  30. 30. Visualização: DashboardRecursos Prediletos:• Mapas• Gráficos• Screens (Telas) Exibição dos itens principais:• Problemas por grupos de hosts• Estatísticas do Zabbix• Lista dos últimos alertas• Informações do Web Monitoring• Auto Discovery
  31. 31. Visualização: Dashboard
  32. 32. Visualização: GráficosAcesso Imediato:• Qualquer período de tempo• Navegação de linha do tempo fácil• Zoom a um clique do mouse• Problemas são visualizados• Marcação de tempo de down-timeTipos de Gráficos:• Standard (Pontos, Linhas, Cores)• Empilhado (Stacked)• Torta
  33. 33. Visualização: Gráficos
  34. 34. Visualização: Telas (Screen)Diferentes Blocos:• Gráficos• Mapas• Dados em texto plano• Lista de problemas• Lista dos últimos alertasSlide Show:• Conjunto de telas• Exibidas uma após a outra
  35. 35. Visualização: Telas (Screen)
  36. 36. Web MonitoringObjetivos:• Acompanhamento da experiência do usuário• Suporte a cenários complexos• Monitoramento de desempenho• Monitoramento de disponibilidadeExemplo:• Passo 1 – Acesso a home page• Passo 2 – Login (POST, GET)• Passo3 – Executar relatório• Passo 4 - Logout
  37. 37. Web Monitoring
  38. 38. Serviços de TIObjetivos:• Monitoramento de nível de negócio• Monitoramento SLA• Nós nos preocupamos com os serviços• Escalonamento de problemas• Causa raíz do problemaEstrutura de árvore baseada em:• Dependências• Localização Física• Tipo de serviço, etc
  39. 39. Serviços de TI
  40. 40. Gerenciamento de UsuáriosAutenticação:• Standard: Banco de dados do Zabbix• LDAP (Active Directory)• Apache (Kerberos, Unix, etc)Permissões:• Depende do tipo de usuário• Nível de permissão por gruposE ainda:• Notificações apenas para grupos de usuários
  41. 41. Extendendo o ZabbixNovas checagens no agente:• UserParameter=mysql.qps,mysqladmin –uroot status|cut –f9 –d”:”• UserParameter=sum[*],echo “$1+$2”|bcExemplos: mysql.qps = 456, sum[4,5] = 9Novo método de notificação:• Apenas uma questão de escrever um shell script (geração de voz, chamada Skype, qualquer coisa)Novas checagens no servidor:• Apenas uma questão de escrever um shell script
  42. 42. Monitoramento de Grandes AmbientesAmbiente da Zabbix SIA:• Vários milhares de servidores e dispositivos de rede• Distribuídos em 2-100 Data Centers ou Filiais• Monitoramento centralizado é necessário
  43. 43. Zabbix: Várias Abordagens• Um Sevidor Zabbix faz tudo • Um Sevidor Zabbix • Um Proxy por Data Center ou Filial • Um Sevidor Zabbix por Data Center • Mais esforço para manter • Pode ser usado Proxy
  44. 44. O que é um Proxy?Proxy é um coletor de dados. É usado também para auto discovery.Vantagens:• Torna arquitetura mais fácil• Não requer recursos significativos• Diminui a carga do servidor
  45. 45. Proxy: Como Funciona?Gerenciamento:• Apenas coleta dados• Gerenciamento completo via front-end Web• A configuração é armazenada no Servidor Zabbix• Todas as conexões são iniciadas pelo Proxy• Coleta de milhares de valores por segundo
  46. 46. Proxy: Como Funciona?Tratamento de perda de conexão:• Os dados estão armazenados no banco de dados do Proxy• Serão enviados quando a conexão for restabelecida• Não envia notificações de problemas locais
  47. 47. Monitoramento DistribuídoAtributos Básicos:• Estrutura em árvore• O nó é um servidor Zabbix• Os nós são plataformas independentesGerencia:• Configuração de replicação em duas vias• Nó pai controla nó filhos
  48. 48. Monitoramento Distribuído
  49. 49. Tratamento de Perda de ConexãoO que vai parar de trabalhar?• Envio de dados para o nó pai• Sincronização da configuraçãoTodo o resto vai continuar funcionando
  50. 50. Milhares de Dispositivos: SoluçõesProblemas e soluções:• Volume de dados enorme: usar partições de banco de dados para informações de históricos• Integração com os sistemas existentes: Autenticação LDAP, XML import / export para a configuração, gerenciamento e inventário• Manutenção: Templates, Atualizações em massa• Atualizações: Todos os componentes do Zabbix da maioria das versões são compatíveis com a release 1.8.x
  51. 51. Escolha o melhor esquema Dependendo dos requisitos: • Administração Local • Toda as opções de monitoramento quando não houver conexão entre os data centers (filiais) • Monitoramento Distribuído • Adicione Proxies• Comece a usar o Zabbix• Adapte o Código Fonte
  52. 52. Exemplos PráticosCaso 1 – Problema• Como saber, antes do diretor, que a telefonia deixou de funcionar na residência?
  53. 53. Exemplos PráticosCaso 1 – Solução• Monitoramento de rádios via ping• Aviso via email sempre que algum ponto deixar de responder
  54. 54. Exemplos PráticosCaso 1 – Visão Gráfica
  55. 55. Exemplos PráticosCaso 2 – Problema• O ar-condiciando na sala dos servidores deixou de funcionar corretamente, podendo comprometer a integridade de diversos servidores/serviços.
  56. 56. Exemplos PráticosCaso 2 – Solução• Monitoramento de temperatura do servidor ZABBIX• Aviso via email (guarita) se temperatura ultrapassar limite definido
  57. 57. Exemplos PráticosCaso 2 – Visão Gráfica
  58. 58. Exemplos PráticosCaso 3 – Problema• Possuir informações históricas sobre a disponibilidade da conexão de internet dos clientes
  59. 59. Exemplos PráticosCaso 3 – Solução• Monitoramento de servidor(es) de clientes (com menor frequência)• Histórico de disponibilidade (e outras informações para auxiliar o gerenciamento dos servidores)
  60. 60. Exemplos PráticosCaso 3 – Visão Gráfica
  61. 61. O Futuro
  62. 62. Zabbix 2.0Design AtualizadoMelhor usabilidade do Zabbix Front-endRevisão de todas os Forms e Páginas
  63. 63. Zabbix 2.0Melhor desempenhoO desempenho é melhorado a cada lançamento do ZabbixCache de memória para quase todos os dados de configuraçãoAPI Zabbix mais eficiente
  64. 64. Zabbix 2.0Descoberta de baixo nívelSituação atual:• Descoberta de Hosts apenas• Difículdade de usar templates para hosts que possuem diferentes sistemas de arquivos, interfaces de rede, etc.Zabbix 2.0:• Descoberta automática de dispositivos de rede, sistemas de arquivos processos, etc.• Descoberta de interfaces SNMP e contadores JMX• Um template para hosts com recursos diferentes!
  65. 65. Zabbix 2.0Múltiplas interfaces de redeSituação atual:• Um endereço IP por dispositivo monitorado• Não é possível monitorar diferentes recursos em IPs diferentesZabbix 2.0:• Dispositivo monitorado suportará múltiplos Ips• Um IP: monitoramento por SNMP, noutro: Agente Zabbix
  66. 66. Zabbix 2.0Monitoramento remoto JMXSituação atual:• Uso do ZapCat ou outras ferramentas de terceirosZabbix 2.0:• Suporte nativo de monitoramento JMX seguro• Descoberta de contadores JMX• Monitoramento de infra-estrutura Java: JBoss, WebLogic, Websphere, Tomcat• Monitoramento de Aplicações Java
  67. 67. Zabbix 2.0Coleta automática de dados de inventário de hardwareSituação atual:• Informações de Hardware devem ser atualizada manualmente Zabbix 2:• Dados coletados automaticamente• Processamento manual também
  68. 68. Zabbix 2.0Comandos remotosComandos remotos baseados em Telnet e SSHAtualmente scripts já podem ser usados, mas o Zabbix não possui suporte nativoIrão simplificar ações automáticas em dispositivos de redeComandos remotos baseados em IPMI (shutdown remoto, reboots)Para dispositivos que não possuem Agente Zabbix ou Agente SNMP
  69. 69. O que veremos em breve
  70. 70. Zabbix 2.XArmazenamentos NãoSQLZabbix Suporta: MySQL, PostgreSQL, Oracle, DB2, SQLiteProblema:Máximo de 15.000 valores por segundoNão é possível escalar!O desempenho cai significativamente quando o tamanho de dados históricosaumentam
  71. 71. Zabbix 2.XSolução:Uso de amazenamento NãoSQL para dados históricos (Cassandra, Hadoop, HBase,Hypertable, MongoDB, CouchDB, Neo4J). Terabytes de dados.Teoricamente, o desempenho pode ser superior a 100.000 valores por segundoPode ser escalado horizontalmente. Mais servidores – mais performance!API para os dados históricos, você poderá escolher qualquer engine!
  72. 72. Zabbix 2.XZabbix na nuvemIntegração com APIs de nuvens:• Amazon EC2• Rackspace Cloud• VMWareMonitoramento• Gestão (adicionar ou remover recursos sob demanda)• Carga de CPU alta  adicionar um servidor novo na nuvem• Falta de armazenamento em disco  adicionar um novo storage em nuvem
  73. 73. Zabbix 2.XZabbix para ambientes virtuais:• KVM• XEN• VMWareMonitoramento• Gestão (adicionar ou remover recursos sob demanda)• Carga de CPU alta  adicionar novas VMs
  74. 74. Zabbix 2.XAgendador Global de tarefas“Nós já temos tudo para tornar isso possível” - Alexei VladishevTipo de calendário global para todo ambiente monitoradoPode ser usado para:• Agendar backups e outras tarefas periódicas• Iniciar / desligar servidores físicos e virtuais, recursos na nuvem• Execução condicional de comandos, dependendo dos problemas existentes. Exemplo: Desligue os nós do cluster à noite, apenas se a carga da CPU estiver baixa.
  75. 75. A Comunidade no Brasil
  76. 76. Zabbix-BRFundada em junho de 2008 por André Déo482 usuáriosSite:http://zabbixbrasil.orgTwitter:http://twitter.com/zabbixbrWiki:http://zabbixbrasil.org/wikiLista de discussão:http://br.groups.yahoo.com/group/zabbix-brasil/
  77. 77. ReferênciasSite do Zabbix:http://www.zabbix.comLicença Zabbix:http://www.zabbix.com/licence.phpManual do Zabbix:http://www.zabbix.com/documentation.phpLista da Comunidade Brasileira:http://br.groups.yahoo.com/group/zabbix-brasil
  78. 78. ReferênciasApresentações:• Alexei Vladishev, Fundador do Zabbix – Open Source Data Center Conference 2009http://www.netways.de/osdc/y2009/programm/v/open_source_enterprise_monitoring_with_zabbix/• Daniel Baurmann - IV Semana das Ciências, Artes e Tecnologias (CIARTEC) promovida pelo Instituição Evangélica de Novo Hamburgo (IENH) 2009http://danielbauermann.wordpress.com/2009/10/07/ciartec-2009/• Alexei Vladishev, Fundador do Zabbix – Free Software that helps, FISL 12, 2011.http://www.slideshare.net/zabbixbr/fisl12-2011
  79. 79. ContatosE-mail:• andredeo@gmail.comBlog:• http://andredeo.blogspot.comTwitter:• @deoandre
  1. ¿Le ha llamado la atención una diapositiva en particular?

    Recortar diapositivas es una manera útil de recopilar información importante para consultarla más tarde.

×