Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Sistemas de Monitoração de Rede Roberto Majewski Especialização em Redes e Segurança de Sistemas Pontifícia Universidade Católica do Paraná Curitiba, novembro de 2009 Resumo Com o grande crescimento da utilização de computadores, servidores, equipamentos de redes em pequenas, médias e grandes empresas, houve também a necessidade de gerenciar estes dispositivos. Para tornar este gerenciamento mais ágil e fácil existem hoje no mercado inúmeras opções de sistemas que realizam este serviço que vão desde simples monitoramento de hosts a complexos sistemas que além de monitorar todo parque de informática geram logs detalhados e gráficos que ajudam na análise e detecção de possíveis problemas. Com intuito de comparação serão analisados neste artigo descritivos técnicos de três destes sistemas: Nagios, Zabbix e Cacti. 1. Apresentação 1.1. Nagios Aplicações de monitoração de rede criada originalmente sob o nome de Netsaint monitora, analisa e alerta de problemas em redes de computadores. É especializado em monitorar serviços de rede e também recursos de computadores ou equipamentos de rede. A monitoração remota de redes e hosts é suportada através de túneis encriptados SSH ou SSL. O Nagios, por meio de seu algoritmo de análise de dados, define a rede hierarquicamente, permitindo distinção dos equipamentos que estão indisponíveis daqueles que estão inalcançáveis. Também existe suporte para implementação de monitoração redundante. Possui excelente interface web para visualização do status da rede, notificações, histórico de problemas e arquivos de log. 1.2. Zabbix Ferramenta criada para monitorar a desempenho e a disponibilidade dos ativos de uma rede, ele possui funcionalidades herdadas do Nagios e do Cacti tornado-o uma das mais completas opções para obter informações sobre servidores, switchs, routers, etc. Com suporte a Banco de Dados, Interface Web o Zabbix monitora a de que guarda as informações coletadas, sendo possível posteriormente sua consulta para saber a performance dos hosts e da rede como um todo. As informações estatísticas e de tempo real podem ser visualizadas através de gráficos simples ou complexas visualizações contento gráficos, mapas e textos. 1.3. Cacti É uma interface e uma infra-estrutura para o RRDTool, que é responsável por armazenar os dados recolhidos e para posteriormente gerar os gráficos. As informações são repassadas para a ferramenta através de scripts ou outros programas escolhidos pelo usuário os quais devem se encarregar de obter os dados. Pode-se utilizar também o protocolo SNMP para consultar informações em elementos de redes e/ou programas que suportam tal protocolo. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Sua arquitetura prevê a possibilidade de expansão através de plugins que adicionam novas funcionalidades. Um destes plugins é o PHP Network Weathermap que mostra um mapa da rede e o estado de cada elemento. 2. Visão Geral 2.1. Nagios • • • • • • • • • Monitora serviços de rede (SMTP, POP3, HTTP, NNTP, ICMP, SNMP); Monitora recursos de computadores ou equipamentos de rede (carga do processador, uso de disco, logs do sistema) na maioria dos sistemas operacionais com suporte a rede, mesmo o Microsoft Windows com a utilização do plugin NRPE_NT; Monitoração remota suportada através de túneis criptografados SSH ou SSL; Desenvolvimento simples de plugins que permite aos usuários facilmente criar seus próprios modos de monitoração dependendo de suas necessidades, usando a ferramenta de desenvolvimento da sua escolha (Bash, C, Perl, Python, PHP, C#, etc.); Checagem dos serviços paralelizados, ou seja, se você tiver muitos itens monitorados não há risco de alguns deles não serem checados por falta de tempo; Capacidade de definir a rede hierarquicamente definindo equipamentos "pai", permitindo distinção dos equipamentos que estão indisponíveis daqueles que estão inalcançáveis; Capacidade de notificar quando um serviço ou equipamento apresenta problemas e quando o problema é resolvido (via email, pager, SMS, ou qualquer outro meio definido pelo usuário por plugin); Capacidade de definir tratadores de eventos que executam tarefas em situações prédeterminadas ou para a resolução pró-ativas de problemas; Suporte para implementação de monitoração redundante; 2.2. Zabbix • • • • • • • • Capacidade de gerenciar mais de cinco mil dispositivos em um servidor. Um servidor Pentium II 350mhz, 256mb de ram pode monitorar em torno de 20 hosts, Intel Dual Core 6400, 4GB de ram em torno de 1000 hosts e um Intel Xeon 2 CPU, 8GB de ram cerca 10000 hosts; Servidor, banco de dados e Interface de administração em servidores diferentes para melhor desempenho e disponibilidade. Dependendo da quantidade de itens monitorados para manter um bom desempenho é recomendado a utilização do banco de dados em um servidor diferente; Monitoramento em tempo real de desempenho, disponibilidade, integridade, condições flexíveis de notificação, alertas para usuários e log de ações; Análise através de gráficos, mapas e visões definidas pelo usuário e visões táticogerenciais flexíveis; Rápida solução de problemas através de alertas enviados por E-mail, SMS e execução de comandos remotos; Facilmente integrável com ferramentas de terceiros, analise de estatísticas: anuais, mensais, semanais e diárias, relatórios de SLA em tempo real; Flexibilidade é possível com agente extensível, variabilidade de métodos de notificação e a execução em qualquer plataforma Unix; Monitoramento agregado de grupos de hosts como um único host; Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. • • • • • Monitoramento serviços remotos (FTP, SSH, http, POP3, IMAP, etc), suporte a SNMP v1,v2,3, SNMP Traps; Monitoramento de Desempenho como a utilização de CPU, utilização de memória, trafego de rede, utilização de I/O, disponibilidade de espaço em disco, integridade de arquivos e avaliação de arquivos de log; Monitoramento através de agentes, ou seja, um “coletor” de informações é instalado em um dispositovo a ser monitorado, e o Zabbix “conversa” diretamente com este coletor para receber informações como processos, espaço em disco, memória, rede, etc. Alem da utilização do agente é possível coletar os dados utilizando outras formas como por exemplo SNMP e IMPI Segurança é através de permissões a nível de usuário, autenticação por endereço IP e permissão de administrador não requerida; Sem limitações de licença, possibilidade de acesso ao código fonte e código aberto para auditoria; 2.3. Cacti • • • • • • • • • • • • • Utilizaçao ilimitado de gráficos podem ser definidos, utilizando CDEFs ou fontes de dados a partir do Cacti; Agrupamento automático de itens do gráfico GPRINT à AREA, STACK e LINE para permitir o rápido seqüenciamento dos itens do gráfico; Auto preenchimento de apoio para se certificar de linhas de texto da legenda do gráfico; Manipulação dos dados do gráfico usando as funções matemáticas incorporado RRDTool; Suporte para todos os tipos de RRDTool do item gráfico incluindo a AREA, STACK e LINE, GPRINT, COMMENT, VRULE e HRULE; Criação das fontes de dados através do PostgreSQL; Possui um mecanismo de entrada de dados que permite que os usuários definam scripts personalizados que podem ser usados para coletar dados; Construído em SNMP que pode usar o php-snmp, UCD-snmp ou net-snmp; Capacidade de recuperar dados usando SNMP ou um script com um índice; Um baseado em PHP poller está prevista a execução de scripts, recuperar dados SNMP, e actualizar os ficheiros RRD; Agrupamento de gráficos através de modelos; Criação de hierarquias gráficas através da exibição em árvore; Permite aos administradores criar usuários e atribuir diferentes níveis de permissões para as interfaces; 3. Vantagens 3.1. Nagios • • Diversidade de serviços que podem ser monitorados. Além de monitorar computadores e equipamentos de rede é possível monitorar outros sistemas como por exemplo um sistema que insere dados em base; Monitoramento de desempenho como a utilização de CPU com a utilização de plugins. O monitoramento pode ser de uma simples disponibilidade do ativo a complexa monitoração que vai desde log do sistema operacional a carga do processador; Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. • • • • • Monitoração remota suportada através de túneis criptografados SSH ou SSL. Com esta funcionalidade é possível monitorar hosts e dispositivos a quilômetros de distancia mantendo a segurança e confiabilidade dos resultados; Desenvolvimento plugins usando a ferramenta de desenvolvimento da sua escolha como, por exemplo, C, Perl, PHP e C#. Caso não ainda não exista o plugin desejado, é possível desenvolver de acordo com as necessidades. Notificação de alertas via email, pager, SMS, ou qualquer outro meio definido pelo usuário por plugin; Controle de permissões; Possui código aberto e licenciado pelo sistema GPL. Possibilidade de customizar o sistema deixando-o de acordo a necessidade 3.2. Zabbix • • • • • • • • • • • • • Alta capacidade de gerenciamento do servidor. Um mesmo servidor é possível gerenciar um grande numero de hosts mantendo um ótimo desempenho; Possui uma interface web amigável, suporta, de fácil gerenciamento e altamente customizavel; Servidor, banco de dados e Interface de administração em servidores distintos. A sobrecarga em um servidor pode fazer com que seu sistema não tenha a disponibilidade esperada. A possibilidade de distribuir em servidores distintos as interfaces facilita a manutenção e diminui os gastos com recursos computacionais; O armazenamento dos resultados do monitoramento pode ser armazenado em varias bases como, por exemplo, mysql, postgresql, oracle e sqlite; Análise através de gráficos, mapas e visões. Baseada em gráficos e mapas a análise torna a detecção de problemas mais ágil e confiável; Alertas enviados por E-mail, jabber e SMS; Monitoramento pró-ativo (executa comandos no servidor sendo monitorado para tentar corrigir problemas) Ferramenta única e completa, não necessitando a utilização de plugins ou scripts adicionais; Facilmente integração com ferramentas de terceiros para analise de estatísticas; Monitoramento de serviços remotos mantendo a confiabilidade, é possível monitorar hosts e ativos mesmo fora da sua rede; Monitoramento de desempenho, recursos, utilização da CPU e rede possibilita analisar o consumo de memória, desempenho do processador e transferência de disco além de outras inúmeras possibilidades; As permissões podem ser definidas em nível de usuários, grupos e IPs; Sem limitações de licença, possibilidade de acesso ao código fonte e código aberto para auditoria 3.3. Cacti • • • • • • Utilização ilimitado de gráficos; Manipulação dos dados do gráfico usando as funções matemáticas incorporado RRDTool; Criação das fontes de dados através da utilização do MySQL; Coleta de dados através de scripts personalizados definidos pelo usuário; Recuperação de dados através de SNMP ou um scripts; Criação de hierarquias gráficas; Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. • • • Controle de permissões; Interface intuitiva e agradável, sendo acessível a qualquer tipo de usuário; E escrito em boa parte em PHP, então a infra-estrutura necessária é um servidor http na famosa estrutura LAMP (Linux, Apache, MySQL, PHP) 4. Desvantagens 4.1. Nagios • Não gera gráficos de utilização ou desempenho. Para ter esta função é necessário utilizar um front-end como, por exemplo, o Cacti. 4.2. Zabbix • • Não realiza o monitoramento de outros serviços apenas monitoramento de desempenho e disponibilidade dos ativos; Devido à necessidade de segurança e a critica missão natural de monitoramento de servidores, UNIX é o único sistema operacional que pode consistentemente responder ao desempenho necessário para instalação do Zabbix. 4.3. Cacti • É apena uma interface de gerenciamento. Para que seja possível o monitoramento através de gráficos e visões é necessária a utilização de outra ferramenta de captura de dados, como por exemplo, o RRDTool, MRTG ou Nagios. • Bibliografia 1. BRISA; Gerenciamento de Rede, Uma Abordagem de Sistemas Abertos. Editora Makron Books. São Paulo 1993. 2. ODA, C. S. Artigo: Gerenciamento de Redes de Computadores – Noções Básicas, 1994 3. http://www.nagios.org 4. http://www.nagios.org/documentation 5. http://pt.wikipedia.org/wiki/Nagios 6. http://www.cacti.net 7. http://www.cacti.net/documentation.php 8. http://www.zabbix.com.br 9. http://www.zabbix.com 10. http://www.zabbix.com/documentation.php 11. http://nagios-br.sourceforge.net/wiki/index.php 12. http://www.vivaolinux.com.br/artigo/Nagios-O-seu-gerenciador-de-redes