KDD-NMS: Um Sistema de Descoberta de Conhecimento e Mineração em Bases de Dados de Sistemas de Gerência de Redes Flávia Pereira de Carvalho, Aguinaldo Fagundes Junior, Jorge Guedes Silveira, Marcelo Cunha de Azambuja [fpereira, aguinaldo, guedes, azambuja]@freenms.org Laboratório METROPOA - Programa de Pós-Graduação em Engenharia Elétrica (PPGEE) Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS) Avenida Ipiranga, 6681 - Porto Alegre - RS - Brasil Palavras-Chaves: Descoberta de Conhecimento, Base de Dados, Mineração de Dados, Gerenciamento de Redes. 1 Resumo Estendido da Pesquisa 1.1 Introdução Neste trabalho são relatados os estudos e as pesquisas realizadas para a criação de um Sistema de Descoberta de Conhecimento e Mineração em Base de Dados de Sistemas de Gerência de Redes, denominado KDD-NMS (Knowledge Discovery and Data Mining in Network Management System). O trabalho em questão está relacionado com uma série de outras pesquisas e trabalhos desenvolvidos pelo Grupo de Gerência de Redes (PUCMGMT) do Laboratório MetroPoa da PUCRS. Este laboratório é o braço da PUCRS no projeto ReMAV (Redes Metropolitanas de Alta Velocidade) da Grande Porto Alegre (Metropoa), e Gerenciamento de Redes é um dos temas mais presentes como alvo de pesquisas no projeto submetido pela ReMAV Metropoa e da própria RNP2 (Rede Nacional de Ensino e Pesquisa) que estimula a criação de projetos na área de gerência de rede [RNP 2002]. Um dos trabalhos importantes do grupo PUCMGMT é o desenvolvimento da Plataforma de Gerência de Redes FreeNMS (Free Network Management System). Este sistema, desenvolvido por um grupo de pesquisadores (de graduação e pós-graduação) do laboratório, tem como objetivo maior o desenvolvimento de uma Plataforma Software Livre de Gerência [FreeNMS 2002]. Esse projeto vem sendo desenvolvido há mais de três anos de forma ininterrupta e baseado em um grande número de pesquisas. O Sistema KDD-NMS, descrito neste artigo, visa dar continuidade às pesquisas já desenvolvidas pelo grupo e atender um dos principais requisitos levantados pelos pesquisadores do projeto: que o sistema FreeNMS possua funcionalidades de descoberta de conhecimento e mineração de dados (KDD - Knowledge Discovery and Data Mining) na sua extensa base de dados, formada desde o conteúdo de inúmeras variáveis de MIB dos milhares de equipamentos que provavelmente estarão sendo monitorados pelo sistema nos ambientes de produção, como também pelos dados do Sistema de Registro de Falhas (TTS – Trouble Ticket System) já integrado ao FreeNMS. 1.2 Justificativas e Referências De acordo com [Menegazzo 1999], soluções para problemas de redes são sempre construídas através de uma análise da situação considerando a experiência de quem os tenta resolver, com o que a rede oferece de informação, não importando quantas vezes o mesmo problema se repita. Para um mesmo problema, este tipo de procedimento pode ser realizado por um mesmo gerente de rede ou outro diferente, diversas vezes, pois algum detalhe ou procedimento pode ser esquecido, então todo o processo cognitivo precisa ser refeito. Desta maneira, é evidente a necessidade de criação de procedimentos automatizados que venham dar apoio ao gerenciamento de redes de computadores. A solução proposta no trabalho acima citado é a implantação de sistemas auxiliares ao trabalho de gerenciamento de redes de computadores que pudessem, através de experiências e informações fornecidas por alarmes que incluem tipos de erros, causas prováveis, e medidas da gravidade, ditar as causas e soluções prováveis e mesmo as não aplicáveis aos problemas. Em [Veronez 2000] foi apresentada uma solução para interpretar dados e sugerir ações através do “Raciocínio Bayesiano”. O objetivo principal deste trabalho era permitir a monitoração de redes através da análise da base de dados da aplicação de gerenciamento de redes, utilizando conceitos de data mining e possibilitando a criação de um “Sistema de Predição de Acontecimentos”. No estudo de caso deste trabalho foram criadas pequenas rotinas que acessavam a MIB de um roteador e os valores de algumas poucas variáveis eram armazenadas em um banco de dados para posterior análise pelos algoritmos propostos. Já em [Lunardelli 2002], uma proposta de Raciocínio Baseado em Casos (RBC) aplicado ao Sistema de Registro de Falhas do FreeNMS pretende colaborar com os técnicos da empresa que utilizam o sistema através da indicação de chamados antigos que possam ter similaridade com o chamado atual. O técnico pode acessar (através de um hiperlink) os chamados antigos que o algoritmo de RBC do sistema selecionou e enviou junto ao e-mail que notifica o novo problema. Desta forma, é possível ler as soluções encontradas para os problemas similares anteriormente ocorridos antes de se deslocar até o local do chamado. 1.3 Informações e Recursos Disponíveis para KDD em um NMS A maioria dos Sistemas Gerente de Rede (NMS) costuma trabalhar da seguinte maneira: coletam informações das variáveis da Base de Informações de Gerenciamento (MIB) em curtos intervalos de tempos e vão armazenando estas informações em uma base de dados própria. Muitos sistemas, como é o caso do FreeNMS, utilizam Sistemas Gerenciadores de Bancos de Dados (SGBD) para esta tarefa, a fim de possibilitar segurança a estes dados e inúmeras outras funcionalidades (cadastros de equipamentos, emissão de relatórios de uso e estatísticos etc). Basicamente, a estrutura disponível para arquiteturas de gerenciamento e redes é representada pelo protocolo SNMP (Simple Network Management Protocol) e a MIB (Management Information Base). Fornecem, especialmente, informações sobre as cinco Áreas Funcionais de Gerência de Redes: Configuração, Falha, Desempenho, Contabilização e Segurança dos elementos gerenciados [IETF 1990, 1991] Existem 171 objetos (“variáveis” de MIB) definidos na RFC 1213. Esses objetos são divididos em dez grupos, tais como System, Interfaces, IP e TCP. A maioria dos sistemas de gerência de redes utiliza principalmente as informações dos objetos existentes em dois destes grupos: System e Interfaces. Nestes dois grupos realmente estão concentradas as principais informações necessárias a maioria das necessidades de informação. O grupo System provê informações sobre o equipamento como um todo, enquanto o grupo Interfaces provê estatísticas de tráfego. Assim sendo, a base de dados a fim da implementação de um processo de descoberta de conhecimento em bases de dados (DCBD) no Sistema de Gerenciamento de Redes (NMS) FreeNMS é vasta e perfeitamente adequada a este tipo de implementação. 1.4 O Processo de Descoberta de Conhecimento e Mineração de Dados A descoberta de conhecimento em base de dados (DCBD) é o processo de extração de conhecimento novo, útil e interessante a partir de bases de dados. Este processo tem natureza iterativa e interativa e é composto por uma série de atividades [Fayyad 1996]. A mineração de dados, por sua vez, pode ser considerada o núcleo da DCBD, consistindo na aplicação de algoritmos de extração de padrões a partir de dados. Três etapas essenciais fazem parte do processo de DCBD [Feldens 1997]: • Pré-processamento: Atividades que visam gerar uma representação conveniente para os algoritmos de mineração, a partir da base de dados. Inclui a seleção (automática e/ou manual de atributos relevantes), amostragem, transformações de representação, etc; • Mineração de dados: Aplicação de algoritmos de aprendizado aos dados préprocessados; • Pós-processamento: Seleção e ordenação das descobertas interessantes, mapeamentos de representação de conhecimento, geração de relatórios. O processo é dito iterativo por ser composto de uma série de etapas seqüenciais, podendo haver retorno a etapas anteriores, isto é, as descobertas realizadas (ou a falta delas) podem levar a novas hipóteses de descoberta. Neste caso, o usuário (daí o processo ser interativo) pode decidir pela retomada dos processos de mineração, ou uma nova seleção de atributos, por exemplo, para validar hipóteses que surgiram durante o processo. O núcleo de um sistema de descoberta de conhecimento é formado pelos algoritmos de extração de padrões que, quando devidamente aplicados sobre bases de dados, auxiliam nas tarefas de mineração de dados. Os padrões que são detectados, são associações interessantes entre os elementos contidos na base de dados, e podem ser de diferentes tipos. 1.5 Resultados Obtidos, Estágio Atual da Pesquisa e Trabalhos Futuros A definição dos algoritmos de extração de padrões que serão utilizados no Sistema KDD-NMS é o alvo atual desta pesquisa. Várias propostas de trabalhos anteriores citados neste trabalho foram testadas e algumas com resultados plenamente satisfatórios. Mas o grupo trabalha também em pesquisas para a elaboração de um algoritmo próprio para extração dos padrões, tendo em vista particularidades de sistemas NMS. Outro objetivo é a implementação de uma interface para o KDD-NMS perfeitamente integrada ao FreeNMS, facilitando o uso por parte do usuário. Mas principalmente visa o desenvolvimento de um framework para DCBD em NMS que seja genérico e que possa ser utilizado por outros grupos de pesquisa que também estejam se defrontando com esta necessidade. 1.6 Proposta Uma das razões que nos motivou a descrever, neste documento, o trabalho realizado no KDD-NMS é de identificar interesses comuns e aumentar a massa crítica de desenvolvedores através de parcerias nacionais e/ou internacionais, da área de Engenharia de Redes, Gerenciamento e Qualidade de Serviço (QoS). Desta forma, grupos de pesquisa que estejam trabalhando nesta área serão muito bem vindos para colaboração e troca de conhecimentos e experiências. Referências Bibliográficas Azambuja, M. (2000) WebMan - Uma Ferramenta WWW de Gerência SNMP. Workshop RNP2. SBRC 2000 - XVIII Simpósio Brasileiro de Redes de Computadores. Anais do II Workshop RNP2. Azambuja, M. (2001) PSWeM: Desenvolvimento e Implementação de uma Ferramenta Baseada na Web para Gerenciamento de Redes ao Nível de Serviço. Dissertação de Mestrado. Programa de Pós-Graduação em Engenharia Elétrica – PUCRS. Fayyad, M. et al. (1996) Advances in Knowledge discovery and data mining. Menlo Park, CA: AAAI Press. Feldens, M. (1997) Descoberta de Conhecimento em Bases de Dados e Mineração de Dados. Curso de Pós-Graduação em Ciência da Computação – UFRGS. Artigo publicado na I Oficina de Inteligência Artificial – UCPel. Disponível em: <http://gpia.ucpel.tche.br/ioia/ioia.html>. Acesso em Mar 2003. FreeNMS. Free Network Management System. (2002) “FreeNMS – Documentação e Descrição do Projeto”. Disponível em: <http://www.freenms.org> . Acesso em Dez. 2002. IETF. Internet Engineering Task Force. (1990) “Network Management Area”. Disponível em: <http://www.ietf.org/html.charters/OLD/index.html> . Acesso em Dez. 2001. IETF. Internet Engineering Task Force. (1991) “Management Information Base for Network Management of TCP/IP-based internets: MIB-II”. Disponível em: <http://www.ietf.org/rfc/rfc1213.txt?number=1213>. Acesso em Jul. 2002. Lunardelli, F., Azambuja, M. (2002) Sistemas TTS: Uma abordagem voltada para Sistemas de Gerenciamento de Redes. Projeto Parks/PUCRS Management System. Publicações do Projeto. Menegazzo, C. (1999) Apoio ao Gerenciamento de Redes. Plano de Estudo e Pesquisa. Curso de Pós-Graduação em Ciência da Computação – UFRGS. Em <http://penta.ufrgs.br/pesquisa/pepcinara.htm>. Acesso em Mar 2003. RNP. Rede Nacional de Pesquisa. (2002) “Infraestrutura Internet2 para o Brasil”. Disponível em: <http://www.rnp.br/rnp2/>. Acesso em Set. 2002. Veronez, C. (2000) Gerência de Desempenho do Tráfego em Redes Utilizando Baseline Bayesiana. Dissertação de Mestrado. Curso de Pós-Graduação em Ciência da Computação – UFSC. Em < http://lrg.ufsc.br/cleverson.ps>. Acesso em Mar 2003.