Gerenciamento de Recursos Tecnológicos em Software Livre Roberto Mizuuti Junior 1, Andersown Becher Paes de Barros 1 1 Instituto Cuiabano de Educação (ICE) Av. Europa, 63- Jardim Tropical 78.065-130 Cuiabá MT Brasil {Roberto, Andersown} rmizuuti@gmail.com, andersown@gmail.com Abstract. This short article focus, even if briefly, on the importance of managing the technological resources available to a given entity, specially by the means of free open-source software, providing centralized monitoring and management systems with lower TCOs (Total Cost of Ownership) than those met by the use of licensed software. Resumo. Este artigo busca esclarecer, mesmo que brevemente, a importância do gerenciamento dos recursos tecnológicos disponíveis a uma determinada entidade, focalizando a utilização de software livres e de código-fonte aberto (SL/CA), de forma a fornecer sistemas de monitoramento e gerenciamento de utilização de tais recursos de maneira centralizada e com TCOs (Total Cost of Ownership Custo Total de Propriedade) menores que os encontrados com a utilização de softwares proprietários. I Introdução A Tecnologia da Informação é, indubitavelmente, uma das mais importantes e críticas áreas dentro de uma empresa, seja facilitando e otimizando os processos já existentes ou viabilizando a criação e realização de novos processos. Assim sendo, é fácil perceber a dependência, mesmo que em diferentes níveis, de praticamente todos os setores de uma dada organização do perfeito funcionamento de seus recursos tecnológicos. Tendo em vista esta intrínseca relação entre a possibilidade de realização dos processos, sejam eles críticos ou não à empresa, e a disponibilidade e perfeito funcionamento dos recursos tecnológicos disponíveis, faz-se mister que se desenvolva e implemente um plano de gerenciamento destes recursos. Tal plano deve ser desenvolvido de forma a possibilitar a coleta e armazenamento de informações praticamente em tempo real sobre a utilização destes recursos, possibilitando detectar problemas tão logo ocorram bem como realizar estimativas sobre utilização e condições de estresse ou anomalias que possam levar a problemas antes que os mesmos venham a realmente ocorrer, permitindo a tomada de ações pró-ativas pela equipe responsável por tais recursos, prevenindo ou, ao menos, diminuindo o impacto de uma eventual paralização em algum ativo de missão crítica dentro da infra-estrutura lógica da empresa. Porém, uma vez delineados os pontos críticos dentro da infra-estrutura lógica da empresa, chega-se ao ponto mais crítico do planejamento e implementação de uma infra-estrutura de gerenciamento de recursos tecnológicos: os custos associados tanto à implementação quanto à manutenção de tais sistemas. No entanto, com o advento dos
softwares livres e de código-fonte aberto (SL/CA), estes custos podem ser sensivelmente reduzidos, possibilitando à empresas com orçamentos restritivos a se valerem dos mesmos benefícios trazidos pelos softwares comerciais já consagrados no mercado. II Gerenciamento de Recursos Tecnológicos Embora o gerenciamento dos recursos tecnológicos de uma determinada entidade possa ser realizado manualmente e por poucas pessoas em uma estrutura pequena, a situação se torna completamente diferente quando se possui uma estrutura com centenas de estações de trabalho ou servidores, dezenas de ativos concentradores e vários pontos de falhas, das mais diversas naturezas. Nestes casos, torna-se interessante considerar a implementação de sistemas de gerenciamento para tais recursos tecnológicos, de forma a automatizar a coleta e armazenamento de informações praticamente em tempo real a partir dos mesmos, tanto para detectar possíveis condições de estresse, anomalias e erros quanto para fornecer um conjunto de informações referenciais e estatísticas confiáveis para a tomada de decisões pelas esferas gerencial e tática com relação à utilização e possível expansão da infra-estrutura existente. A implementação de tais sistemas de gerenciamento de recursos tecnológicos, contudo, possui um custo relativamente elevado, o que, por muitas vezes, acaba por tornar inviável sua utilização por algumas empresas, em especial àquelas que não possuem os recursos financeiros necessários à implementação de tais sistemas prontamente disponíveis. Não apenas os equipamentos necessários para atuarem como servidores para tais sistemas requerem uma configuração um tanto quanto robusta (dependendo do sistema em questão ou da criticidade do mesmo) como o próprio preço dos softwares que realizam estas funções tende a ser alto. Somando-se a estes fatores os custos totais com treinamento da equipe responsável por implementar e operar os sistemas em questão (deslocamento, estadia e o valor do treinamento própriamente dito) ou com suporte técnico especializado, temos que o TCO (Total Cost of Ownership Custo Total de Propriedade) de tais sistemas é realmente bastante elevado, sendo, por muitas vezes, até mesmo proibitivo, dependendo do orçamento da empresa. III Software Livre Neste ponto, surgem os softwares livres e de código-fonte aberto (SL/CA) como uma alternativa totalmente funcional e pelo menos, no que diz respeito ao software propriamente dito totalmente isenta de custos. Muito embora ainda seja necessário investir em servidores e treinamento para a equipe responsável pela implementação e operação dos sistemas de gerenciamento em questão, os TCO finais tendem a ser sensívelmente menores do que aqueles existentes quando se lida com software proprietário. Um dos principais motivos a serem citados que contribuem para a redução do TCO de um sistema de gerenciamento de recursos tecnológicos baseado em software livre e de código-fonte aberto é que os mesmos, em sua esmagadora maioria, rodam sobre sistemas operacionais também livres e de código-fonte aberto, como o Linux, isentando a entidade que o utiliza de gastos com licenças de sistemas operacionais proprietários. E, embora seja perfeitamente plausível alegar que a adoção do Linux como sistema operacional em um servidor possa acarretar na necessidade de
treinamento da equipe responsável pela operação do sistema, tal treinamento acaba se justificando, uma vez que, após treinada, a equipe como um todo estará perfeitamente capacitada a operar não apenas o sistema em questão, mas também a propor a implementação ou migração de outros sistemas ou servidores existentes que rodem sobre um sistema operacional proprietário qualquer, reduzindo, desta forma, também o TCO destes sistemas. Ainda, é importante ressaltar que, normalmente, sistemas operacionais Linux não exigem equipamentos com configurações tão robustas quanto os sistemas operacionais proprietários para seu perfeito funcionamento, gerando uma economia também no perfil de hardware dos servidores onde tais sistemas serão instalados. Uma outra vantagem a ser considerada quando se utiliza software livre e de código-fonte aberto é a possibilidade de alteração ou expansão do software por pessoas competentes para tanto, podendo fazer com que o mesmo funcione de maneira diversa daquela para a qual foi originalmente concebido, de forma a aprimorá-lo ou ainda, adaptá-lo às necessidades específicas da entidade que o utiliza. Outro ponto bastante positivo é, sem dúvida alguma, a revisão quase constante do código-fonte por profissionais ou entusiastas altamente capacitados, porém não envolvidos no projeto original. Desta forma, as falhas embora existentes tendem a ser corrigidas em tempo muito inferior ao que uma empresa qualquer poderia oferecer aos clientes de seus softwares proprietários. Por fim, pode-se ainda citar a alta estabilidade alcançada com os sistemas operacionais Linux, desde que devidamente instalados, o que acaba por se refletir diretamente na disponibilidade de tais sistemas. IV Software Livre no Gerenciamento de Recursos Tecnológicos Como exemplos de softwares livres e de código-fonte aberto (SL/CA) estáveis e plenamente utilizáveis no gerenciamento de recursos tecnológicos podemos citar as seguintes ferramentas: Cacti O Cacti (atualmente em sua versão 0.8.7b) é uma ferramenta livre escrita em PHP, que possui como principal objetivo fornecer o monitoramento de ativos de rede que possuam suporte ao protocolo SNMP ou ICMP. Basicamente, a ferramenta executa consultas periódicas aos ativos que gerencia, verificando seu status (up ou down) e recuperando dados relativos às interfaces de rede, utilização de processador, memória, processos entre outros suportados pelo protocolo SNMP. Tais dados são armazenados em um SGBD (Sistema de Gerenciamento de Bancos de Dados) MySQL e, posteriormente, organizados de forma a criar gráficos com o suporte do pacote RRDTool.
Figura 1: Gráficos no Cacti Por ser uma ferramenta extremamente leve e de fácil instalação praticamente apenas a descompactação do pacote na pasta raiz do servidor web o Cacti é uma ótima escolha para entidades que possuem estruturas de pequeno, médio ou grande portes, que necessitam mais de uma análise estatística ou amostral da utilização de seus recursos tecnológicos do que alertas de mal-funcionamento. Zenoss O software Zenoss (atualmente em sua versão 2.1.2) possui, como principal objetivo fornecer um ambiente completo e integrado de monitoramento e gerenciamento de ativos em uma rede. Atuando através dos protocolos ICMP (monitoramento simples) ou SNMP (monitoramento e gerenciamento) o Zenoss é capaz tanto de coletar dados a partir dos ativos aos quais gerencia quanto alterar certos atributos, dependendo das permissões da comunidade SNMP a qual pertence. Desta forma, através de seu dashboard simples é possível realizar ações como ligar ou desligar interfaces de rede em switches ou servidores, monitorar ou terminar processos e outras ações suportadas pelo protocolo SNMP. Ainda, o Zenoss é capaz de realizar levantamento (inventário) de hardware dos ativos aos quais gerencia.
Figura 2: Dashboard do Zenoss Usando como suporte o SGBD MySQL para armazenamento dos dados coletados, o Zenoss é, assim como o Cacti, capaz de fornecer gráficos, também valendose da ferramenta RRDTool. Por ser todo desenvolvido sobre a linguagem de programação Python, o Zenoss é um software totalmente modular e de fácil alteração, sendo fácil encontrar na internet pacotes conhecidos como ZenPacks, que adicionam ou alteram funcionalidades do sistema básico. Desta forma, o Zenoss é uma ferramenta extremamente versátil, tanto para monitoramento e gerenciamento da rede quanto para realização de inventário do parque de máquinas. OCS Inventory Também baseado em PHP e Perl, o OCS Inventory é um sistema de inventário completo, sendo capaz de capturar informações tanto de hardware quanto de software dos ativos aos quais gerencia. Atuando através da instalação de agentes nos ativos gerenciados, o OCS Inventory é, ainda, capaz de realizar deploys (distribuição) de softwares ou pacotes de atualizações. Desta forma, o OCS Inventory não apenas atua como um sistema completo de inventário de hardware e software do parque de máquinas da entidade como pode, também, atuar como um repositório de softwares-padrão, a serem instalados remotamente nos hosts assim que entrem em contato com o servidor. Trabalhando em conjunto com um SGBD MySQL, o OCS Inventory é capaz de rastrear e monitorar quaisquer alterações de hardware e software que venham a ocorrer entre os intervalos de atualização do sistema (que podem ser definidos pelo administrador do mesmo). No caso de alguma alteração, pode-se escolher entre simplesmente sobrescrever o perfil antigo do host em questão ou criar-se um arquivo diferencial entre ambos.
V Conclusão Temos, então, com a adoção de software livres e de código-fonte aberto para a implementação de sistemas de gerenciamento de recursos tecnológicos, uma alternativa viável tanto técnica quanto econômicamente para aquelas empresas que não possuem recursos para adquirir sistemas proprietários consagrados no mercado. Não apenas existe a viabilidade, tanto técnica quanto econômica, da adoção de tais softwares como, por muitas vezes, tais softwares chegam até mesmo a funcionar tão bem quanto ou até melhor que seus similares proprietários. Desta forma, é importante que se considere, independente do tamanho da infra-estrutura a ser gerenciada e monitorada, a adoção de sistemas livres, tanto por suas óbvias vantagens econômicas quanto por sua versatilidade técnica (provida pela liberdade de alteração do códigofonte) quanto por sua estabilidade e segurança, providas por suas recorrentes revisões por partes independentes e não ligadas ao projeto original. Referencias CACTI MANUAL, http://docs.cacti.net/node/438 CURSO DE SOFTWARE LIVRE DA INTEL (portal NextGeneration), http://www.nextg.com.br/v2/web/download.php?curso_id=36 ELLEN SIEVER & AARON WEBER & STEPHEN FIGGINS & ET AL. Linux: O Guia Essencial. Quinta Edição, Bookman, 2006 OCS INVENTORY INSTALLATION AND ADMINISTRATION GUIDE, http://prdownloads.sourceforge.net/ocsinventory/ocs_inventory_ng- Installation_and_Administration_Guide_1.9_EN.pdf.zip?download SINDER, GARY; HEIN, TRENT AND NEMETH, EVI, Manual Completo do Linux Guia do Administrador Segunda Edição, Pearson / Prentice Hall, 2007. ZENOSS ADMIN GUIDE, http://downloads.sourceforge.net/zenoss/zenossadmin Guide211.pdf.zip