Gerenciamento de Redes com Zabbix
Transcript of Gerenciamento de Redes com Zabbix
Gerenciamento de Redes com Zabbix
Infraestrutura
Monitoramento da Rede
Serviços
Negócio
Você escolhe!
Mini Bio
André (Luis Boni) Déo
Administrador de Redes no Gabinete do Reitor da Unicamp
Profissional Certificado Zabbix: Zabbix Cerified Specialist e Zabbix for Large Environments, Fundador da Comunidade Zabbix Brasil, Palestrante na Zabbix Conference 2013, Membro da Comissão Organizadora da Trilha Zabbix no Latinoware 2013, Co-Autor do Livro de A a Zabbix, Palestrante da Zabbix Conference LatAm 2016.
Professor Universitário (Instituição Privada), Apaixonado por Gerencia de Redes, Membro da Comunidade OpenSource.
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 (Impactos Diretos e Indiretos)
• 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!
O que é o Zabbix?
Um software Livre (e de código fonte aberto – True Open Source) com sistema de monitoramento distribuído capaz de monitorar a disponibilidade e performance de toda 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 sem o uso de agentes:• 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;
Por que escolher o Zabbix?
Toda a lógica está do lado do servidor, os agentes são usados apenas para coleta de dados
Extremamente flexível! Triggers, Escalabilidade, Novas checagens, Telas e muito mais.
Projetado para lidar com as comunicações instáveis
Suporte total ao IPv6
História
Criado por Alexei Vladishev
Linha do tempo:1998 : Escolhas disponíveis HP OpenView, IBM, BMC: muito caros para comprar e manter
Que nome eu dou para este software?ABCDE…Zabbix!
2001 : versão 1.0alpha1 em GPL
2004 : versão 1.0
2006 : versão 1.1
História
2007 : versão 1.4
2008 : versão 1.6Zabbix 1.6.4, 500 downloads por dia, 15.000 usuários no fórum
2016: versão 3.2Zabbix 3.2.1, 600 downloads por dia, 47.000 usuários no fórum
Livros
Dezoito livros sobre a ferramenta: Oito em Inglês, Três em Japonês, Dois em Chinês, Um em Alemão, Um em Russo e Três em Português.
Livros
Dezoito livros sobre a ferramenta: Oito em Inglês, Três em Japonês, Dois em Chinês, Um em Alemão, Um em Russo e Três em Português.
Livros
Dezoito livros sobre a ferramenta: Oito em Inglês, Três em Japonês, Dois em Chinês, Um em Alemão, Um em Russo e Três em Português.
ZABBIX SIA Hoje
A Compania foi estabelecida há 11 anos, o time não para de crescer
Clientes com mais de 200.000 dispositivos monitorados
6 Premium Partners (Japão, Espanha, Áustria, Itália, Brasil)
Quase 100 Parceiros e Revendedores ao redor do mundo
ZABBIX SIA Hoje
O time é formado por 45 membros em tempo integral
Escritórios em Riga – Letônia (Matriz), Tóquio e Nova York
ZABBIX SIA Hoje
Como é a receita da empresa?
Suporte ComercialDesenvolvimento PatrocinadoImplementaçõesConsultoriaTreinamento0% Licenças
Características
Versão atual: 3. 2.1
Excelente Manual
Suporte do Fórum
Suporte Comercial (ZABBIX SIA - [email protected])
Suporte Comercial no Brasil pela Unirede: http://www.zabbix.com.br
Suporte Comercial no Brasil pela Alerta Security: www.alertasecurity.com.br
Características
Envio de alertas para: E-mail, Jabber, SMS e Scripts personalizados (Agenda do Google, Gtalk, Acender Luzes, Painéis de Led, etc)
Suporte nativo ao protocolo SNMP (Todas as versões)
Interface de gerenciamento Web, de fácil utilização
Integração com banco de dados (MySQL/MariaDB, Oracle, PostgreSQL, IBM DB2 ou SQLite)
Geração de gráficos em tempo real
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;
Agentes para plataformas 32 bits e 64 bits;
Integração com os Contadores de Performance do Windows:Windows 7: Mais de 15.000 itens !!
Windows Server 2008 R2 mais de 23.000 itens !!
Componentes
ZABBIX GUI
ZABBIX Server
ZABBIX Proxy
ZABBIX DB
DATABASE Proxy
JAVA Proxy
Como Monitorar
Verificações de serviço:FTP, SSH, HTTP, SMTP, DNS ...
Agente Zabbix:Checagem Аtiva e PassivaJMXMonitoramento de registros, logs de eventosFácil de personalizarExecução de comando remotoExtremamente eficiente!
Outros:Plugins WMI, Nagios
Como Monitorar
SNMP v1, v2, v3:Dispositivos de redeNormalmente NET-SNMP para servidoresMonitoramento de aplicações (Oracle, Weblogic, Websphere, PostgreSQL, MySQL, Active Directory, Bind, ...)Traps SNMP
IPMI:Monitoramento de hardwareGerenciamento remoto (reboot, reset, desligamento)
Uso do Agente
Checagens Ativas:Altamente eficienteBuffer de dados coletados
Uso do Agente
Checagens Passivas:Requer polling do lado do Servidor ZabbixDesempenho adicional por causa dos pollings e da largura de banda de rede
Triggers... Hummmm....
CPU load is too high: {host:cpuload.last(0)}>5A 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 | {host:cpuuser.min(300)}>50A trigger será verdadeira se a carga do processador for maior que 2 nos últimos cinco minutos OU a carga do processador com processos de usuário for maior que 50 nos últimos cinco minutos.
CPU load is too high: {host:cpuload.min(300)}>2 & {host2:backup.last(0)}=0A 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.
Dependências
Elas são usadas para:Evitar notificações;Definir dependências entre diferentes problemas (relacionados a redes, aplicações, qualquer coisa). Inclusive 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
Escalabilidade
Reação para Falha de um Servidor Web:
Aumente 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
Visualização: Dashboard
Recursos Prediletos:• Mapas• Gráficos• 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
Visualização: Dashboard
Visualização: Gráficos
Acesso 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-time
Tipos de Gráficos:• Standard (Pontos, Linhas, Cores)• Empilhado (Stacked)• Torta
Visualização: Gráficos
Visualização: Telas
Diferentes Blocos:• Gráficos• Mapas• Dados em texto plano• Lista de problemas• Lista dos últimos alertas
Slide Show:• Conjunto de telas• Exibidas uma após a outra
Visualização: Telas
Monitoramento Web
Objetivos:• Acompanhamento da experiência do usuário• Suporte a cenários complexos• Monitoramento de desempenho• Monitoramento de disponibilidade
Exemplo:Passo 1 – Acesso a home pagePasso 2 – Login (POST, GET)Passo3 – Executar relatórioPasso 4 - Logout
Monitoramento Web
Serviços de TI
Objetivos:• Monitoramento de nível de negócio• Monitoramento SLA• Escalonamento de problemas• Causa raíz do problema
Estrutura de árvore baseada em:• Dependências• Localização Física• Tipo de serviço, etc
Serviços de TI
Gerenciamento de Usuários
Autenticação:• Standard: Banco de dados do Zabbix• LDAP (Active Directory/ OpenLDAP, etc)• Apache (Kerberos, Unix, etc)
Permissões:• Depende do tipo de usuário• Nível de permissão por grupos
E ainda:• Notificações apenas para grupos de usuários
Visão Gerencial
Visão Gerencial
Estratégico
Tático
Operacional• Disponibilidade da rede• Disponibilidade de Servidores• Uso de CPU / Disco / Memória• Serviços de SO
• Disponibilidade de aplicações• Fluxos e integrações de dados• Redundância / Balanceamento• Processos e Transações
• Serviços ao usuário• Metas de disponibilidade• Metas de desempenho• Saúde do Ambiente
Visão Gerencial
Visão Tática
Visão Operacional
Visão Estratégica
Visão Gerencial
Vestibular
Operacional:• Rede• Servidores
Tático:• Página• Sistema Inscrições• Sistema de Pagamentos Estratégico:• Inscrição no Vestibular• Pagamento de Taxas• Pedidos de Isenções
Estendendo o Zabbix
Novas checagens no agente:UserParameter=mysql.qps,mysqladmin –uroot status|cut –f9 –d”:”UserParameter=sum[*],echo “$1+$2”|bc
Exemplos: mysql.qps = 456, sum[4,5] = 9
Novo 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
Estendendo o Zabbix
Uso de Itens Calculados:Mailbox Exchangelast("service_state[\"IISADMIN\"]")+last("service_state[\"MSExchangeADTopology\"]")+last("service_state[\"MSExchangeIS\"]")+last("service_state[\"MSExchangeMailboxAssistants\"]")+last("service_state[\"MSExchangeMailSubmission\"]")+last("service_state[\"MSExchangeRepl\"]")+last("service_state[\"MSExchangeRPC\"]")+last("service_state[\"MSExchangeSA\"]")+last("service_state[\"MSExchangeSearch\"]")+last("service_state[\"MSExchangeServiceHost\"]")+last("service_state[\"MSExchangeThrottling\"]")+last("service_state[\"MSExchangeTransportLogSearch\"]")+last("service_state[\"W3Svc\"]")+last("service_state[\"WinRM\"]")
{Server:service_state_Mailbox_Server_Role.last(0)}#0
Estendendo o Zabbix
Uso da API Zabbix (https://www.zabbix.com/documentation/3.2/manual/api) + Ferramentas de Geração de Gráficos (www.maani.us/xml_charts):
Estendendo o Zabbix
Zabbix Extras – Adail Spinolahttp://spinola.net.br/blog/
Zabbix-Cat => Relatório de Análise de capacidade.Zabbix-SC => Relatório de custo de armazenamento do histórico dos itens.Zabbix-NS => Relatório de itens não suportados.Zabbix-IN => Correlacionador de eventos.
Estendendo o Zabbix
Geolocalização em Zabbix – Aristóteles Araújo / Leandro Alves Machadohttp://www.aristoteles.eti.br/zabbix/implementando-geolocalizacao-no-zabbix
Estendendo o Zabbix
Estendendo o Zabbix
Estendendo o Zabbix
Estendendo o Zabbix
Implementação de Árvore de serviços, utilizando HTML 5 2D – SERPRO
https://github.com/rodrigofns
Estendendo o Zabbix
WeatherMap: Mapa do backbone com porcentagem de usohttps://wiki.minet.net/wiki/monitoring/weathermap
Estendendo o Zabbix
Todos os plugins citados anteriormente são compatíveis com a versão 2.4.X, ainda não foram migrados para a versão 3.x.
Estendendo o Zabbix
Grafana: Criação de Gráficos e Dashboards personalizadashttp://grafana.org; http://zabbixbrasil.org/?p=1674; https://www.youtube.com/watch?v=Wg5keqy2L8c
Retrospectiva
Zabbix 2.0
Design Atualizado
Melhor usabilidade do Zabbix Front-end
Revisão de todas os Forms e Páginas
Zabbix 2.0
Descoberta de baixo nível (LLD – Low Level Discovery)
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!
Zabbix 2.0
Múltiplas interfaces de rede
Dispositivo monitorado suporta múltiplos Ips:
• Um IP: monitoramento por SNMP
• Noutro: Agente Zabbix
• Noutro: Agente JMX
• Noutro: Agente IPMI
Zabbix 2.0
Monitoramento remoto JMX
Suporte nativo de monitoramento JMX seguro
Descoberta de contadores JMX
Monitoramento de infra-estrutura Java: JBoss, WebLogic, Websphere, Tomcat
Monitoramento de Aplicações Java
Zabbix 2.0
Coleta automática de dados de inventário de hardware
Dados coletados automaticamente
Zabbix 2.0
Comandos remotos
Comandos remotos baseados em Telnet e SSH
Simplifica ações automáticas em dispositivos de rede
Comandos remotos baseados em IPMI (shutdown remoto, reboots)
Para dispositivos que não possuem Agente Zabbix ou Agente SNMP
Zabbix 2.2
Monitoramento de VMs
Vms descobertas pelo LLDhttp://andredeo.blogspot.com.br/2013/10/monitoramento-de-vms-com-zabbix-22.html
Zabbix 3.0
MVC Plugins e Extensões para a Interface do Zabbix
Fica dentro do /interface/custom e não é afetado na atualização de versão
Reduzir número de cliques, seleções, etc..
Foco na usabilidade...
Zabbix 3.0
Zabbix 3.0
Zabbix 3.0
Criptografia forte e autenticação para todos os componentes com base no TLS v1.2
Zabbix 3.0
Predição de eventos
Analisa um período de tempo (1h, 1 dia), qual a projeção (Próxima hora, Dia, Mês) e se vou ou não ter problemas.
Previsão de problema... 5 ou 6 tipos de projeções diferentes...
Previsão de que terei um alerta no futuro...
Posso gerar um gráfico de projeção de uso!!
Zabbix 3.0
Zabbix 3.0
Zabbix 3.0
Possibilidade de agendar a data e horário da coleta.
Antes apenas o Administrador podia criar mapas, telas e slides. Agora o usuário pode criar e pode compartilhar e definir as permissões (leitura ou Leitura e Alteração).
A Zabbix SIA está caminhando para termos dashboards personalizados e compartilhados ;-)
Granularidade de Gráficos agora é de 1 minuto, antes era de 1 hora.
LLD Nativo para serviços Windows
LLD com múltiplos OIDs, facilita muito, uso com macros
LLD com SQL Queries
Criação de Aplicação automaticamente com LLD, uso a MACRO para gerar a aplicação.
A Zabbix SIA quer que o Monitoramento nasça, se descubra e se monitore automáticamente!
Zabbix 3.0
Zabbix 3.0
SMTP Autenticado
Zabbix 3.0
Macro com contexto, por exemplo macro para o /tmp, a mesma macro para o /boot, etc. Facilita o uso com LLDs
Criar gráficos com itens do tipo Log, Logrt e Eventlog, você determina que ele vai procurar uma string no log e vc gera um gráfico da quantidade de vezes que aquela string apareceu no log. Excelente para criar triggers!
Integração do Zabbix Share na interface gráfica
Zabbix 3.0
Correlacionamento de eventos
Zabbix 3.2
Quantas triggers vou precisar para monitorar essa aplicação?
1 item e 1 Trigger
Zabbix 3.2
1 item e 1 Trigger
Zabbix 3.2
1 item e 1 Trigger
Zabbix 3.2
1 item e 1 Trigger
Zabbix 3.2
Visualização de Problemas
Zabbix 3.2
Filtro por TAGs
Zabbix 3.2
Organização por Grupos e Sub-Grupos
Zabbix 3.2
Veja a palestra:Zen and The Art of Zabbix Template Design – Zabbix Conference 2016
Encerramento Manual de Problemas
Zabbix 3.2
Histerese de Triggers
Zabbix 3.2
O Futuro
Zabbix 3.X
Armazenamentos NãoSQLZabbix Suporta: MySQL, PostgreSQL, Oracle, DB2, SQLite
Problema:Máximo de 15.000 valores por segundo
Não é possível escalar!
O desempenho cai significativamente quando o tamanho de dados históricos aumentam
Zabbix 3.X
Soluçã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 segundo
Pode ser escalado horizontalmente. Mais servidores – mais performance!
API para os dados históricos, você poderá escolher qualquer engine!
Zabbix 3.X
Zabbix na nuvem
Integração com APIs de nuvens:• Amazon EC2• Rackspace Cloud• VMWare
Monitoramento
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
Zabbix 3.X
Agendador Global de tarefas
“Nós já temos tudo para tornar isso possível” - Alexei Vladishev
Tipo de calendário global para todo ambiente monitorado
Pode 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.
Comunidade Brasileira
Comunidade Brasileira
Fundada em junho de 2008 por André Déo1850 membros na lista e 4175 membros no facebookSite:http://zabbixbrasil.org
Twitter:http://twitter.com/zabbixbr
Wiki:http://zabbixbrasil.org/wiki
Lista de discussão:http://br.groups.yahoo.com/group/zabbix-brasil/
Facebook:https://www.facebook.com/groups/zabbixbrasil
Referencias
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
Referencias
Apresentaçõ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
Alexei Vladishev, Fundador do Zabbix – Free Software that helps, FISL 12, 2011.http://www.slideshare.net/zabbixbr/fisl12-2011
Luciano Alves, Unirede Soluções Corporativas – Monitoramento em Camadas Latinoware 2013.
Webinar O que há de novo no Zabbix 3.0 / Webinar O que há de novo no Zabbix 3.2http://www.zabbix.com/webinars.php
Dúvidas?