Este documento fornece informações sobre monitoramento de rede, serviços e infraestrutura usando o software de gerenciamento de rede Zabbix. Ele descreve as principais características e funcionalidades do Zabbix, incluindo monitoramento ativo e passivo, gerenciamento de alarmes, visualização de dados, extensibilidade e escalabilidade.
2. Mini Bio
André (Luis Boni) Déo
Administrador de Redes no Gabinete do Reitor - 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.
Professor Universitário (Instituição Privada), Apaixonado por Gerencia de Redes, Membro da
Comunidade OpenSource.
3. 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!
4. 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;
5. 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
6. 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
7. História
2007 : versão 1.4
2008 : versão 1.6
Zabbix 1.6.4, 500 downloads por dia, 15.000 usuários no fórum
9. ZABBIX SIA Hoje
A Compania foi estabelecida há 7 anos, o time não para de crescer
Clientes com mais de 200.000 dispositivos monitorados
4 Premium Partners (Japão, Espanha, Áustria, Brasil)
Mais de 50 Parceiros e Revendedores ao redor do mundo
10. ZABBIX SIA Hoje
Como é a receita da empresa?
Suporte Comercial
Desenvolvimento Patrocinado
Implementações
Consultoria
Treinamento
0% Licenças
11. Características
Versão atual: 2.0.9 - 2.2 no forno!
Excelente Manual
Suporte do Fórum
Suporte Comercial (ZABBIX SIA - sales@zabbix.com)
Suporte Comercial no Brasil pela Unirede: http://www.zabbix.com.br
Suporte Comercial no Brasil pela Alerta Security: www.alertasecurity.com.br
12. 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
13. 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 !!
15. Como Monitorar
Verificações de serviço:
FTP, SSH, HTTP, SMTP, DNS ...
Agente Zabbix:
Checagem Аtiva e Passiva
JMX
Monitoramento de registros, logs de eventos
Fácil de personalizar
Execução de comando remoto
Extremamente eficiente!
Outros:
Plugins WMI, Nagios
16. Como Monitorar
SNMP v1, v2, v3:
Dispositivos de rede
Normalmente NET-SNMP para servidores
Monitoramento de aplicações (Oracle, Weblogic, Websphere, PostgreSQL, MySQL,
Active Directory, Bind, ...)
Traps SNMP
IPMI:
Monitoramento de hardware
Gerenciamento remoto (reboot, reset, desligamento)
18. Uso do Agente
Checagens Passivas:
Requer polling do lado do Servidor Zabbix
Desempenho adicional por causa dos pollings e da largura de banda de rede
19. Triggers... Hummmm....
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 | {host:cpuuser.min(300)}>50
A 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)}=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.
20. 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
21. 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
22. 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
24. 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
26. 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
30. 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
32. 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
34. Visão Gerencial
Estratégico
• Serviços ao usuário
• Metas de disponibilidade
• Metas de desempenho
• Saúde do Ambiente
Tático
• Disponibilidade de aplicações
• Fluxos e integrações de dados
• Redundância / Balanceamento
• Processos e Transações
Operacional
• Disponibilidade da rede
• Disponibilidade de Servidores
• Uso de CPU / Disco / Memória
• Serviços de SO
36. Visão Gerencial
Backbone
Operacional:
● Rede
● Equipamentos
● Link
Tático:
● Redundância dos Equipamentos
● Redundância dos Links
Estratégico:
● Acesso à recursos (CAPES, FAPESP, Processamento de Alto Desempenho, etc)
● Acesso às bases de pesquisa (IEEE, ABNT, ISO, etc)
● Disponibilidade de Artigos e Pesquisas
37. 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
38. 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
39. Estendendo o Zabbix
Uso de Itens Calculados:
Mailbox Exchange
last("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"]")
{Morpheus:service_state_Mailbox_Server_Role.last(0)}#0
40. Estendendo o Zabbix
Uso da API Zabbix (https://www.zabbix.com/documentation/2.0/api) + Ferramentas
de Geração de Gráficos (www.maani.us/xml_charts):
41. Estendendo o Zabbix
Zabbix Extras – Adail Spinola
http://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.
42. Estendendo o Zabbix
Geolocalização em Zabbix – Aristóteles Araújo / Leandro Alves Machado
http://www.aristoteles.eti.br/zabbix/implementando-geolocalizacao-no-zabbix
49. 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!
50. 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
51. 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
53. 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
55. Zabbix 2.X
Armazenamentos NãoSQL
Zabbix 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
56. Zabbix 2.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!
57. Zabbix 2.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
58. Zabbix 2.X
Monitoramento de VMs, já disponível na versão 2.2 (beta)
Vms descobertas pelo LLD
http://andredeo.blogspot.com.br/2013/10/monitoramento-de-vms-com-zabbix-22.htm
l
59. Zabbix 2.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.
61. Zabbix 2.X
Fundada em junho de 2008 por André Déo
937 membros
Site:
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/
Planet:
http://planet.zabbixbrasil.org
62. Referências
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
63. Referências
Apresentações:
Alexei Vladishev, Fundador do Zabbix – Open Source Data Center Conference 2009
http://www.netways.de/osdc/y2009/programm/v/open_source_enterprise_monitor
ing_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.