Gerência de falhas, configuração e desempenho dos ativos de redes, servidores e serviços da Cooperativa Agropecuária Castrolanda Alex Martins Garcia Curso de Especialização em Redes e Segurança de Sistemas Pontifícia Universidade Católica do Paraná Curitiba, Dezembro de 2009 Resumo O presente artigo trata da necessidade de monitorar a disponibilidade dos equipamentos, servidores e serviços da Cooperativa Agropecuária Castrolanda que aumentou o número de filiais e expandiu a infra-estrutura tecnológica tornando a administração apenas reativa, reagindo às falhas na medida em que ocorrem. Este fato motivou a realização deste estudo para monitorar e fornecer alertas de forma pró-ativa dos eventos gerados pela indisponibilidade dos links, equipamentos, servidores e serviços indispensáveis para a continuidade do negócio da empresa. Este artigo está dividido em duas partes, a primeira descreve como o projeto foi concebido e qual tecnologia foi implementada e a segunda descreverá as principais configurações e padronizações para implementação. Seção 1 – Introdução O crescimento da empresa Cooperativa Agropecuária Castrolanda e a expansão do número de filiais, atualmente dez unidades, localizadas nos municípios de Castro, Ponta Grossa, Piraí do Sul, Curiúva, estado do Paraná e em Itaberá, estado de São Paulo, motivou a necessidade de controles sobre os links wan, internet e wireless além dos servidores que mantém a operação da empresa e seus respectivos serviços (autenticação de diretório, banco de dados, e-mail, dhcp, dns, proxy, http, antivírus, aplicações web(java, .net e php), etc. A dependência dos servidores, serviços e links wan, internet e wireless demandam cada vez mais disponibilidade já que a falta de um destes afeta a operação de algumas áreas de negócio gerando prejuízos financeiros ou desgastes na imagem da empresa pois atualmente quem comunica a falha ou paralisação é o cliente externo ou interno e o departamento de Tecnologia da Informação - T.I. somente reage a esta falha corrigindo o problema ou acionando o suporte da telecom ou parceiro que fornece ou mantém o serviço. Seção 2 – Implementação 2.1 Escolha do Sistema Operacional Por questão de familiaridade e já estar presente em alguns dos servidores da empresa escolhemos o sistema operacional Debian GNU/Linux versão 5.0.3, codinome lenny rodando em ambiente virtual no VMWare VSphere como sistema operacional para servidor de monitoramento. 2.2 Software de Monitoramento O custo de licenciamento, implementação, treinamento e manutenção de uma ferramenta proprietária para monitoramento nos levou a procurar por soluções open sources. Após pesquisar adotamos o Nagios versão 3 para software de monitoramento da empresa. Nagios é uma ferramenta de monitoramento e gerência de rede distribuída sob a licença GPL para monitorar e exibir alertas quando é detectado erros em computadores ou equipamentos de rede e serviços de rede em sistemas UNIX/Linux e Windows (necessário a instalação do plugin NRPE_NT) , foi escrito e é atualmente mantido por Ethan Galstad e comunidade de desenvolvedores [2] e utiliza duas formas de gerenciamento. • Com agente (programa que coleta dados de um objeto e envia para o gerente processar). Figura 1 – Nagios – gerenciamento com agente. [9] • Sem agente, onde os hosts estão acessíveis remotamente Figura 2 – Nagios – gerenciamento sem agente. [9] 2.3 Instalação e configuração do Nagios O processo de instalação do Nagios em sistemas Debian é simples, como mostramos nos comandos abaixo. vm22:~# apt-get update vm22:~# apt-get install nagios3 nagios-plugins O próximo passo é a criação do arquivo .htaccess (ou "arquivo de configuração distribuída")[3] que controla o acesso a interface gráfica web do Nagios através dos comandos abaixo. vm22:~# cd /etc/nagios3 vm22:~# htpaswd -s htpasswd.users nagiosadmin New password: ****** Re-type new password: ****** Adding password for user nagiosadmin Para acessar a interface web do Nagios digite no browser o endereço http://<Endereço IP>/nagios3/ , informe o usuário e senha do arquivo .htaccess na tela abaixo. Figura 3 – Autenticação ao acessar página inicial do Nagios. [1] Após a validação será apresentada a tela inicial do Nagios como mostrado abaixo. Figura 4 - Página inicial Nagios. [1] Para iniciar o processo de configuração do Nagios é necessário compreender o significado dos arquivos de configuração. Descrição dos arquivos de configuração: • nagios.cfg : responsável por iniciar os serviços de monitoramento. • cgi.cfg : programas CGIs localizados na pasta sbin. • • • • • • • • • • hosts.cfg : informações dos hosts. hostgroups.cfg : informações dos hosts por grupos. contacts.cfg : contatos que deverão ser notificados em caso de problema. contactgroups.cfg : contatos divididos em grupos. service.cfg : serviços que deverão ser monitorados. hostextinfo.cfg: definição das imagens apresentadas no statusmap. dependencies.cfg : informações de dependências de serviços. timeperiods.cfg : informações de diferentes períodos de monitoramento. checkcommands.cfg : definição dos comandos que podem ser executados. resource.cfg : macros definidas pelos usuários. Seqüência básica de configuração de um host para monitoramento: Adicione o host no arquivo de configuração hosts.cfg como mostrado no exemplo abaixo. vm22:/etc/nagios3/conf.d# vi hosts.cfg define host { use generic-host; host_name core_cisco; alias Core de Rede Cisco Catalyst 6500 address 10.x.x.x; notification_period 24x7 notification_options d,u,r contact_groups suporte } Em seguida crie um grupo e adicione o host como mostrado no exemplo abaixo. vm22:/etc/nagios3/conf.d# vi hostgroups.cfg define hostgroup { hostgroup_name core_cisco alias Core de Rede Cisco members core_cisco } Para personalizar as imagens do host ou do grupo é necessário criar um grupo com o mesmo nome do grupo usado no arquivo hostgroups.cfg e alterar as imagens que são encontradas no caminho /usr/share/nagios/htdocs/images/logos/ adicionando apenas a pasta onde encontra-se a imagem e em seguida o nome da imagem. Define hostextinfo{ hostgroup_name core_cisco notes Core de Rede Cisco icon_image cook/multilayer_switch.png icon_image_alt Core de Rede Cisco vrml_image cook/multilayer_switch.png statusmap_image cook/multilayer_switch.gd2 } Caso não encontre nenhuma imagem que represente o host é possível criar uma imagem em formato PNG e gerar um arquivo com o formato GD2 com as dimensões 40X40 pixels e salvar na pasta base com o seguinte comando: vm22:/usr/share/nagios/htdocs/images/logos/base#pngtogd2 imagem.png imagem.gd2 Em seguida crie um contato para receber os alertas do Nagios como mostrado no exemplo abaixo. define contact{ contact_name alex alias Alex Martins Garcia – T.I. service_notification_period 24x7 host_notification_period 24x7 service_notification_options w,u,c,r host_notification_options d,r service_notification_commands notify-service-by-email host_notification_commands notify-host-by-email email [email protected] } Após criar o contato crie um grupo de contatos que deverão receber os alertas no Nagios. define contactgroup{ contactgroup_name suporte alias Suporte Tecnologia da Informação members alex } Depois de alterar os arquivos de configuração é necessário verificar se as alterações na configuração estão corretas antes de reiniciarmos o serviço do Nagios utilizando o comando: vm22:/etc/nagios3# nagios3 -v nagios.cfg Ao final é mostrado o resultado na verificação da configuração, se aparecer à mensagem “Things look okay”, todas as configurações estão corretas e deve-se reiniciar o serviço do Nagios utilizando o comando: vm22:/etc/nagios3# /etc/init.d/nagios3 reload Reloading nagios3 monitoring daemon configuration files: nagios3. 2.4 Avaliação do Nagios O Nagios é capaz de gerenciar a rede através da análise do estado e comportamento dos dispositivos gerenciados com algumas vantagens e desvantagens que destacamos abaixo. Vantagens • • • • • • • • Ser gratuito. Flexível, permite a instalação de plugins ou a criação de comandos personalizados conforme a necessidade de monitorar determinados hosts, equipamentos ou serviços. Escalável. Eficiente. Suporte a monitoração remota através de túneis encriptados SSH ou SSL. Notificações através de e-mail, mensagens instantâneas através de SMS, Messenger, PopUP e sons. 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. Interface de monitoramento Web. Desvantagens • • • A complexidade na configuração, pois é feita apenas através da edição dos arquivos textos. Não possuir uma interface WEB para configuração dos hosts, grupos, contatos, notificações e serviços. A cada nova mudança na configuração é necessário reiniciar o serviço do nagios através do comando nagios reload. Mostraremos na imagem abaixo o resultado parcial da implantação do Nagios na Cooperativa Castrolanda. Figura 5 – Nagios StatusMap Cooperativa Castrolanda Conclusão O estudo e implementação da ferramenta de monitoramento e gerência de rede Nagios, mostrou que o processo inicial de levantamento e mapeamento da rede é oneroso para o administrador de rede, mas após esta etapa são muitas as vantagens no dia-a-dia, pois a ferramenta auxilia na gestão de falhas além de documentar de forma gráfica a rede, servidores, equipamentos, serviços e fornecer alertas e relatórios das mais variadas formas. Como não havia nenhum controle sobre a indisponibilidade e o gerenciamento era apenas reativo a utilização do Nagios permitiu um novo momento na T.I. da Cooperativa Castrolanda onde é possível localizar as falhas de forma mais eficiente e pró-ativa. Pesquisa Bibliografia [1] - http://www.nagios.org/. Acessado em Setembro de 2009. [2] - http://pt.wikipedia.org/wiki/Nagios/. Acessado em Setembro de 2009. [3] - http://httpd.apache.org/docs/2.2/pt-br/howto/htaccess.html/. Acessado em Novembro de 2009. [4] - http://nagios.sourceforge.net/docs/3_0/toc.html/. Acessado em Novembro de 2009. [5] - http://www.ginux.ufla.br/files/mono-HettyAndrade.pdf/. Acessado em Novembro de 2009. [6] - http://www.pop-mg.rnp.br/eventos/wksp2004/trabalhos/nagios.pdf/. Acessado em Novembro de 2009. [7] - http://pt.wikipedia.org/wiki/Nagios/. Acessado em Novembro de 2009. [8] - http://www.vivaolinux.com.br/artigos/impressora.php?codigo=6788/. Acessado em Novembro de 2009. [9] - http://alesauer.googlepages.com/NAGIOS-ApresentaoSauer.pdf/. Acessado em Novembro de 2009.