Introdução
Para o administrador de redes é fundamental ter em mãos ferramentas que o auxiliem no monitoramento dos componentes de sua infra-estrutura. Com base em relatórios e/ou alertas administrativos, o administrador poderá prever futuras situações aonde seja necessária a sua intervenção. Seja para uma correção de configuração incorreta ou até mesmo a substituição de algum dispositivo em mau funcionamento. O
Zenoss é uma ferramenta criada com o propósito de ajudar ao administrador a ter um controle efetivo sobre sua rede.
O Zenoss possui uma arquitetura modular, facilitando assim a incorporação de novas funcionalidades à ferramenta. Sendo capaz de monitorar vários tipos de dispositivos como, computadores
Linux, switches, roteadores e até máquinas Windows. O Zenoss possui uma interface web e faz uso do gerenciador de banco de dados MySQL para armazenar suas informações.
Arquitetura
O Zenoss possui em sua arquitetura um modelo hierárquico de quatro camadas, listados na figura 1.
A camada User
Esta camada é implementada como uma aplicação para web, sendo acessível pela maioria dos navegadores (browsers) atuais. A camada User foi construída com base no framework de desenvolvimento Zope Web, da empresa Zope Plone. Utilizando-se de tecnologias como JavaScript, Mochi Kit, ExtJS, YUI, fornecendo um ambiente dinâmico e poderoso para a aplicação.
Com base nestas tecnologias é nessa camada que o usuário do Zenoss poderá acessar e gerenciar as funcionalidades e componentes, como por exemplo: verificar o status dos ativos da rede; observar e responder aos eventos gerados; gerenciar os usuários e obter e gerar relatórios.
Camada de Dados
É nesta camada que são armazenados as informações de configuração e coleta, utilizados pelo Zenoss. Utilizando para isso três repositórios distintos:
- ZenRRD, para armazenamento de coletas temporárias e para adição de novos coletores.
- ZenModel, funcionando como um modelo de configuração para dispositivos, componentes, grupos e localidades.
- ZenEvents, utilizado para armazenar dados em um banco de dados MySQL.
Camadas de Processo
Nesta camada são geradas as comunicações entre a coleta e a camada de dados. A camada de processo utiliza a tecnologia Twisted PB - um sistema bi-direcional do sistema de RPC (Remote Procedure Call) para sua comunicação.
Camada Collection
Esta camada compreende os serviços que coletam dados provenientes da camada de dados. Utilizando nestes serviços vários daemons que dão suporte para execução da modelagem, acompanhamento e gerenciamento de eventos. O sistema de modelagem utiliza os protocolos SNMP (Simple Network Management Protocol), SSH (Secure Shell) e WMI (Windows Management Instumentation) para coletar informações a partir das máquinas e dispositivos remotos.
Após esta coleta de dados, através destes protocolos, entra em cena o sistema de plugins de modelagem que é responsável por converter os dados coletados para o formato utilizado pelo Zenoss.