Exemplos NMS (Network Management System) O Sistema de Gerenciamento de Rede (Network Management System NMS) um sistema responsvel pelas aplicaes que monitoram e controlam os Dispositivos Gerenciados. Normalmente instalado em um (ou mais de um) servidor de rede dedicado a estas operaes de gerenciamento, que recebe informaes (pacotes SNMP) de todos os dispositivos gerenciados daquela rede. Por que utilizar um NMS? Monitorar problemas de forma automatizada
Receber aviso de problema antes da ligao do usurio (ou do diretor!)
Servidores inativos perda $$$
Planejamento de investimentos em recursos de hardware
Avaliao de qualidade de servios
Inventrio de hardware Zabbix Histria Criado por Alexei Vladishev Linha do tempo: 1998 : Escolhas disponveis HP OpenView, IBM, BMC: muito caros para comprar e manter Que nome eu dou para este software? ABCDEZabbix! 2001 : verso 1.0alpha1 em GPL 2004 : verso 1.0 2006 : verso 1.1 2007 : verso 1.4 2008 : verso 1.6 Zabbix 1.6.4, 500 downloads por dia, 15.000 usurios no forum A compania Zabbix company est crescendo, 20 parceiro Zabbix (Europa, Japo, EUA, BRASIL) O que ? Um software Livre (e de cdigo fonte aberto Open Source) com sistema de monitoramento distribudo capaz de monitorar a disponibilidade e performance de toda sua infra-estrutura de rede, alm de aplicaes;
Suporte a maioria dos sistemas operacionais: Linux, Solaris, HP-UX, AIX, FreeBSD, OpenBSD, NetBSD, Mac OS, Windows, entre outros;
Monitora servios simples (http, pop3, imap, ssh) sem o uso de agentes; Caractersticas Suporte nativo ao protocolo SNMP;
Interface de gerenciamento Web, de fcil utilizao;
Integrao com banco de dados (MySQL, Oracle, PostgreSQL ou SQLite);
Gerao de grficos em tempo real;
Fcil instalao e customizao; Caractersticas Agentes disponveis 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;
Integrao com os Contadores de Performance do Windows; Caractersticas Verso atual: 1.8.1
Verso em desenvolvimento: 1.7.4
Software Open Source distribudo pela Licena GPL v2;
Excelente Manual (Em Ingls) Possui licenciamento prprio No GPL;
Suporte do Frum (Em Ingls);
Suporte Comercial (ZABBIX SIA - sales@zabbix.com);
Caractersticas Suporte Comercial no Brasil pela Unirede: http://www.zabbix.com.br
Suporte da comunidade brasileira Site: http://www.zabbixbrasil.org Lista: http://br.groups.yahoo.com/group/zabbix-brasil/
Envio de alertas para: E-mail; Jabber; SMS; Scripts personalizados. Caractersticas Exemplos de Configurao de Hardware: Name Plataform CPU/Memory Database Monitored Small Ubuntu Linux PII 350 MHZ 256MB MySQL MyISAM 20 Medium Ubuntu Linux 64 bit ADM Athlon 3200+ 2 GB MySQL InnoDB 500 Large Ubuntu Linux 64 bit
Intel Dual Core 6400 4GB RAID 10 MySQL InnoDB or PostgreeSQL >1000 Very Large RedHat Enterprise Intel Xeon 2xCPU 8GB Fast RAID10 MySQL InnoDB or PostgreeSQL >10000 * Zabbix Manual v. 1.6 Pginas 33-34 Caractersticas Alguns tipos de itens que no dependem de agente (Simple Checks): icmpping Verifica se o host est acessivel atravs 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 servio de FTP;
Componentes Server: Ncleo do Zabbix, lgica do sistema Processamento de Dados, Escalonamento
Interface Web Acesso ao histrico de dados Configurao
Agente Servidor de coleta de dados, aes
Proxy: Coleta remota de dados
Componentes Detalhes Tcnicos Linguagem de Programao: Servidor e agentes: C Interface de administrao: PHP
Princpios fundamentais da Zabbix desenvolvimento: Mantenha as coisas simples (KISS), no entanto, tem que ser muito flexvel Manter os requisitos de hardware baixos, mas no deve afetar a produo Porque escolher o Zabbix? O que torna o Zabbix to especial? All-in-one (Tudo em um), nica soluo quando se trata de monitoramento!
Todos os dados histricos, tendncias e configurao so armazenados em um banco de dados
Preparado para controle dos pequenos e grandes ambientes distribudos Porque escolher o Zabbix? Soluo verdadeiramente Software Livre (GPLv2), no existe verses comerciais.
Toda a lgica est do lado do servidor, os agentes so usados apenas para coleta de dados
Extremamente flexvel! Triggers, escalations, new checks, screens e muito mais.
Projetado para lidar com as comunicaes instveis
Suporte total ao IPv6 Como monitorar Verificaes de servio: FTP, SSH, HTTP, SMTP, DNS ...
Agente Zabbix: Checagem tiva e Passiva Monitoramento de registros, logs de eventos Fcil de personalizar Execuo de comando remoto Extremamente eficiente!
Outros: Plugins WMI, JMX, Nagios Como monitorar SNMP v1, v2, v3: Dispositivos de rede Normalmente NET-SNMP para servidores Monitoramento de aplicaes (Oracle, Weblogic, Websphere, PostgreSQL, MySQL, ...) Traps SNMP
IPMI: Monitoramento de hardware Gerenciamento remoto (reboot, reset, desligamento) Uso do Agente do Zabbix Checagens Ativas: Altamente eficiente Buffer de dados coletados
Checagens Passivas: Requer polling do lado do Servidor Zabbix Desempenho adicional por causa dos pollings e da largura de banda de rede Uso do Agente do Zabbix Hummm ... Triggers! Trigger uma expresso lgica flexvel usada para definir uma condio de problema.
Status (value) de uma trigger representa o estado do sistema
Alterao do valor da trigger gera eventos
uma das maneiras de lidar com flapping (Intefaces intermitentes, up, down, up, down) Hummm ... Triggers! CPU load is too high: {host:cpuload.last(0)}>5
CPU load is too high: {host:cpuload.min(300)}>2
CPU load is too high: {host:cpuload.min(300)}>2 & {host:cpuuser.min(300)}>50
CPU load is too high: {host:cpuload.min(300)}>2 & {host2:backup.last(0)}=0
Ns decidimos como definir CPU load is too high no o Zabbix sozinho! Dependncias Eles so usados para: Evitar notificaes Definir dependncias entre diferentes problemas (relacionados a redes, aplicaes, qualquer coisa). Sem dependncias de host!
Server est down Switch1 est down Switch2 est down
Servidor Web est down MySQL no est respondendo Sem espao livre no /tmp Escalabilidade Cenrios diferentes: Notificaes atrasadas Notificaes repetidas Execuo de comandos Aviso para outros usurios Recuperao de mensagens Diferentes aes para eventos conhecidos e no conhecidos Exemplo (reao para a falha de checagem 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 no ACK Passo 6: Reinicie o Apache, se no ACK Passo 7: Reiniciar o servidor se no ACK Passo 10: Enviar mensagem a todos os no ACK Visualizao: Dashboard Recursos Prediletos: Mapas Grficos Screens (Telas)
Exibio dos itens principais: Problemas por grupos de hosts Estatsticas do Zabbix Lista dos ltimos alertas Informaes do Web Monitoring Auto Discovery Visualizao: Dashboard Visualizao: Grficos Acesso Imediato: Qualquer perodo de tempo Navegao de linha do tempo fcil Zoom a um clique do mouse Problemas so visualizados Marcao de tempo de down-time
Tipos de Grficos: Standard (Pontos, Linhas, Cores) Empilhado (Stacked) Torta Visualizao: Grficos Visualizao: Telas (Screens) Diferentes Blocos: Grficos Mapas Dados em texto plano Lista de problemas Lista dos ltimos alertas
Slide Show: Conjunto de telas Exibidas uma aps a outra Visualizao: Telas (Screens) Web Monitoring Objetivos: Acompanhamento da experincia do usurio Suporte a cenrios complexos Monitoramento de desempenho Monitoramento de disponibilidade
Exemplo: Passo 1 Acesso a home page Passo 2 Login (POST, GET) Passo3 Executar relatrio Passo 4 - Logout Web Monitoring Servios de TI Objetivos: Monitoramento de nvel de negcio Monitoramento SLA Ns nos preocupamos com os servios Escalonamento de problemas Causa raz do problema
Estrutura de rvore baseada em: Dependncias Localizao Fsica Tipo de servio, etc Servios de TI Gerenciamento de usurios Autenticao: Standard: Banco de dados do Zabbix LDAP (Active Directory) Apache (Kerberos, Unix, etc)
Permisses: Depende do tipo de usurio Localizao Fsica Nvel de permisso por grupos
E ainda: Notificaes apenas para grupos de usurios Extendendo o Zabbix Novas checagens no agente: UserParameter=mysql.qps,mysqladmin uroot status|cut f9 d: UserParameter=sum[*],echo $1+$2|bc Examples: mysql.qps = 456, sum[4,5] = 9
Novo mtodo de notificao : Apenas uma questo de escrever um shell script (gerao de voz, chamada Skype, qualquer coisa)
Novas checagens no servidor: Apenas uma questo de escrever um shell script Zabbix: Vrias Abordagens Um Sevidor Zabbix faz tudo Um Sevidor Zabbix Um Proxy por Data Center ou Filial Um Sevidor Zabbix por Data Center Mais esforo para manter Pode ser usado Proxy O que um Proxy? Proxy um coletor de dados. usado tambm para auto discovery.
Vantagens: Torna arquitetura mais fcil No requer recursos significativos Diminui a carga do servidor Proxy: Como funciona? Gerenciamento: Apenas coleta dados Gerenciamento completo via front-end Web A configurao armazenada no Servidor Zabbix Todas as conexes so iniciadas pelo Proxy Coleta de milhares de valores por segundo Proxy: Como funciona? Tratamento de perda de conexo: Os dados esto armazenados no banco de dados do Proxy Sero enviados quando a conexo for restabelecida No envia notificaes de problemas locais Monitoramento Distribudo Atributos Bsicos: Estrutura em rvore O n um servidor Zabbix Os ns so plataformas independentes
Gerencia: Configurao de replicao em duas vias N pai controla n filhos Monitoramento Distribudo Tratamento de perda de conexo O que vai parar de trabalhar? Envio de dados para o n pai Sincronizao da configurao Todo o resto vai continuar funcionando Milhares de dispositivos: Solues Problemas e solues: Volume de dados enorme: usar parties de banco de dados para informaes de histricos Integrao com os sistemas existentes: Autenticao LDAP, XML import / export para a configurao, gerenciamento e inventrio Manuteno: Modelos, Atualizaes em massa Atualizaes: Todos os componentes do Zabbix da maioria das verses so compatveis com a release 1.6.x Escolha o melhor esquema Dependendo dos requisitos: Administrao Local Toda as opes de monitoramento quando no houver conexo entre os data centers (filiais) Comece a usar o Zabbix Adapte o Cdigo Fonte Adicione Proxies Monitoramento Distribudo Exemplos Prticos Caso 1 problema Como saber, antes do diretor, que a telefonia deixou de funcionar na residncia? Exemplos Prticos Caso 1 soluo Monitoramento de rdios via ping
Aviso via email sempre que algum ponto deixar de responder Exemplos Prticos Caso 1 viso grfica Exemplos Prticos Caso 2 problema O ar-condiciando na sala dos servidores deixou de funcionar corretamente, podendo comprometer a integridade de diversos servidores/servios. Exemplos Prticos Caso 2 soluo Monitoramento de temperatura servidor ZABBIX
Aviso via email (guarita) se temperatura ultrapassar limite definido Exemplos Prticos Caso 2 viso grfica Exemplos Prticos Caso 3 problema Possuir informaes histricas sobre a disponibilidade da conexo de internet dos clientes Exemplos Prticos Caso 3 soluo Monitoramento de servidor(es) de clientes (com menor freqncia)
Histrico de disponibilidade (e outras informaes para auxiliar o gerenciamento dos servidores) Exemplos Prticos Caso 3 viso grfica Referncias: Site do Zabbix: http://www.zabbix.com
Licena 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
Alexei Vladishev, Fundador do Zabbix Open Source Data Center Conference 2009 http://www.netways.de/osdc/y2009/programm/v/open_source_enterprise _monitoring_with_zabbix/
Daniel Baurmann - IV Semana das Cincias, Artes e Tecnologias (CIARTEC) promovida pelo Instituio Evanglica de Novo Hamburgo (IENH) 2009 http://danielbauermann.wordpress.com/2009/10/07/ciartec-2009/