gerência de redes com zabbix

62
Gerência de Redes com Zabbix Prof. André Déo – Policamp 2009

Upload: chaeli

Post on 13-Jan-2016

88 views

Category:

Documents


0 download

DESCRIPTION

Gerência de Redes com Zabbix. Prof. André Déo – Policamp 2009. Agenda. NMS (Network Management System) Zabbix Exemplos. NMS (Network Management System). - PowerPoint PPT Presentation

TRANSCRIPT

Gerência de Redes com Zabbix

Prof. André Déo – Policamp 2009

Agenda• NMS (Network Management System)

• Zabbix

• Exemplos

NMS (Network Management System)

O Sistema de Gerenciamento de Rede (Network Management System – NMS) é um sistema responsável pelas aplicações que monitoram e controlam os Dispositivos Gerenciados. Normalmente é instalado em um (ou mais de um) servidor de rede dedicado a estas operações de gerenciamento, que recebe informações (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 ligação do usuário (ou do diretor!)

• Servidores inativos → perda $$$

• Planejamento de investimentos em recursos de hardware

• Avaliação de qualidade de serviços

• Inventário de hardware

Zabbix

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

• 2007 : versão 1.4

• 2008 : versão 1.6

• Zabbix 1.6.4, 500 downloads por dia, 15.000 usuários no forum

• A compania Zabbix company está crescendo, 20 parceiro Zabbix (Europa, Japão, EUA, BRASIL)

O que é?

• Um software Livre (e de código fonte aberto – 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 (http, pop3, imap, ssh) sem o uso de agentes;

Características

• 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;

• Fácil instalação e customização;

Características

• 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;

Características

• Versão atual: 1.8.1

• Versão em desenvolvimento: 1.7.4

• Software Open Source distribuído pela Licença GPL v2;

• Excelente Manual (Em Inglês) – Possui licenciamento próprio – Não GPL;

•Suporte do Fórum (Em Inglês);

• Suporte Comercial (ZABBIX SIA - [email protected]);

Características

• 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.

Características

Exemplos de Configuração 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 4GBRAID 10

MySQL InnoDBorPostgreeSQL

>1000

Very Large RedHat Enterprise Intel Xeon 2xCPU8GBFast RAID10

MySQL InnoDBorPostgreeSQL

>10000

* Zabbix Manual v. 1.6 – Páginas 33-34

Características

• Alguns 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;

Componentes• Server:

• Núcleo do Zabbix, lógica do sistema

• Processamento de Dados, Escalonamento

• Interface Web

• Acesso ao histórico de dados

•Configuração

•Agente

• Servidor de coleta de dados, ações

• Proxy:

• Coleta remota de dados

Componentes

Detalhes Técnicos

• Linguagem de Programação:

• Servidor e agentes: C

• Interface de administração: PHP

• Princí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

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 banco de dados

• Preparado para controle dos pequenos e grandes ambientes distribuídos

Porque escolher o Zabbix?

• Solução verdadeiramente Software Livre (GPLv2), não existe versões comerciais.

• Toda a lógica está do lado do servidor, os agentes são usados apenas para coleta de dados

• Extremamente flexível! Triggers, escalations, new checks, screens e muito mais.

• Projetado para lidar com as comunicações instáveis

• Suporte total ao IPv6

Como monitorar

• Verificaçõ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

Como monitorar

• SNMP 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)

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 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)

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

• Nós decidimos como definir «CPU load is too high» não o Zabbix sozinho!

Dependências

• Eles são usados 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

Escalabilidade

• Cená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

Exemplo (reação 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 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

• 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

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 (Screens)

• 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 (Screens)

Web Monitoring

• 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 page

• Passo 2 – Login (POST, GET)

• Passo3 – Executar relatório

• Passo 4 - Logout

Web Monitoring

Serviços de TI

• Objetivos:

• Monitoramento de nível de negócio

• Monitoramento SLA

• Nós nos preocupamos com os serviços

• 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)

• Apache (Kerberos, Unix, etc)

• Permissões:

• Depende do tipo de usuário

• Localização Física

• Nível de permissão por grupos

• E ainda:

• Notificações apenas para grupos de usuários

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 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

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

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

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

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

Monitoramento Distribuído

• Atributos Básicos:

• Estrutura em árvore

• O nó é um servidor Zabbix

• Os nós são plataformas independentes

• Gerencia:

• Configuração de replicação em duas vias

• Nó pai controla nó filhos

Monitoramento Distribuído

Tratamento de perda de conexão

• O que vai parar de trabalhar?

• Envio de dados para o nó pai

• Sincronização da configuração

• Todo o resto vai continuar funcionando

Milhares de dispositivos: Soluções

• Problemas 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: Modelos, Atualizações em massa

• Atualizações: Todos os componentes do Zabbix da maioria das versões são compatíveis com a release 1.6.x

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)

• Comece a usar o Zabbix

• Adapte o Código Fonte

• Adicione Proxies• Monitoramento Distribuído

Exemplos Práticos

• Caso 1 – problema

• Como saber, antes do diretor, que a telefonia deixou de funcionar na residência?

Exemplos Práticos

• Caso 1 – solução

• Monitoramento de rádios via ping

• Aviso via email sempre que algum ponto deixar de responder

Exemplos Práticos

• Caso 1 – visão gráfica

Exemplos Práticos

• Caso 2 – problema

• O ar-condiciando na sala dos servidores deixou de funcionar corretamente, podendo comprometer a integridade de diversos servidores/serviços.

Exemplos Práticos

• Caso 2 – solução

• Monitoramento de temperatura servidor ZABBIX

• Aviso via email (guarita) se temperatura ultrapassar limite definido

Exemplos Práticos

• Caso 2 – visão gráfica

Exemplos Práticos

• Caso 3 – problema

• Possuir informações históricas sobre a disponibilidade da conexão de internet dos clientes

Exemplos Práticos

• Caso 3 – solução

• Monitoramento de servidor(es) de clientes (com menor freqüência)

• Histórico de disponibilidade (e outras informações para auxiliar o gerenciamento dos servidores)

Exemplos Práticos

• Caso 3 – visão gráfica

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

Referências:

• Artigos:

http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=3951

http://www.dicas-l.com.br/dicas-l/20070728.php

http://www.slacklife.com.br/article.php?sid=1498

http://gentoo-wiki.com/HOWTO_Zabbix

Referências:• Apresentações:

João Ricardo Pecanha Mendes - 3º Encontro Nacional LinuxChix-BR 2005

http://www.linuxchix.org.br/files/evento/2005/palestras/zabbix.pdf

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 Ciências, Artes e Tecnologias (CIARTEC) promovida pelo Instituição Evangélica de Novo Hamburgo (IENH) 2009

http://danielbauermann.wordpress.com/2009/10/07/ciartec-2009/

Contatos André Déo:• [email protected]

• http://andredeo.blogspot.com