conceitos - .::dcc - departamento de ciência da computação::. · 2016-04-14 · cacti é uma...

25
Cacti é uma ferramenta gráfica de gerenciamento de dados de rede que disponibiliza a seus usuários uma interface intuitiva e bem agradável de se usar, sendo acessível a qualquer tipo de usuários. Este curso fornece uma base para se utilizar esse programa, recomendado principalmente para usuários com pouca experiência na área de gerenciamento de dispositivos. Conceitos Nesta sessão introduziremos os conceitos básicos do Cacti, e como fazer para instalá-lo em seu computador. Lição 1 - Introdução Para gerenciar processos e recursos do seu computador utilizando a ferramenta Cacti, iniciaremos com as definições de alguns conceitos importantes sobre os quais falaremos durante esse curso. São eles: RRDtool RRD é a abreviação de Round Robin Database, sistema cujo objetivo é armazenar e monitorar dados em série obtidos durante um período de tempo pré-determinado. Esses dados obtidos são denominados dados circulares, pois seu tamanho ocupado em disco não aumenta com o decorrer do tempo e nem com a quantidade de dados já armazenados. Entretanto, o RRDTOOL não é capaz de gerar páginas html ou produzir gráficos, fato que torna necessário a sua comum utilização associada a um front-end. SNMP O SNMP (Simple Network Management Protocol) é um protocolo de gerência definido a nível de aplicação, é utilizado para obter informações de servidores SNMP. Foi desenvolvido para gerenciar, monitorar e controlar configurações, performance, falhas, estatísticas e segurança da rede. Sendo um padrão para gerenciamento de LANs, particularmente para aplicações de missão crítica. O gerenciamento da rede através do SNMP permite o acompanhamento simples e fácil do estado, em tempo real, da rede, podendo ser utilizado para gerenciar diferentes tipos de sistemas. O SNMP é um protocolo inicialmente desenvolvido para ser uma alternativa ao protocolo CMIP (mais completo, porém não foi bem recebido no mercado devido a sua alta complexidade). O SNMP, por ser mais simples e dar a conta do recado, acabou virando padrão de mercado e hoje já está na versão SNMP V3. Veremos mais à frente esse protocolo mais detalhadamente. Cacti O Cacti é uma ferramenta gráfica de gerenciamento de dados de rede desenvolvido para ser utilizado por administradores de rede com uma não muito rica experiência na área, enquanto por outro lado, disponibiliza recursos bem poderosos para serem utilizados em redes bastante complexas. O Cacti é um front-end para o RRDTOOL desenvolvido na linguagem PHP, possui uma interface web e armazena todos os seus dados em um banco de dados MySql. Utilizando essa ferramenta, é possível fazer o polling de hosts SNMP, criar gráficos e gerenciar o acesso de usuários a toda a informação já coletada. Esta ferramenta disponibiliza a seus usuários uma interface intuitiva e bem agradável de se usar, sendo acessível a qualquer tipo de usuários, desde inexperientes até usuários com uma grande experiência. Com o Cacti, é possível fazer o controle de acesso por nível de usuário, ou seja, podemos configurar o acesso a certas informações apenas por determinados usuários. Além disso, o fato do usuário desejar adicionar algum novo equipamento para ser monitorado não é uma tarefa complicada como em outras ferramentas(por exemplo o MRTG), bastando para isso alguns poucos minutos. O monitoramento de redes usando o Cacti é bastante fácil e agradável, e o objetivo deste curso é ensinar o usuário a instalar e configurar essa ferramenta de grande usabilidade no mundo tecnológico atual. E o melhor, é um programa LIVRE, ou seja, disponibilizado para qualquer um baixá-lo e instalá-lo em seu computador.

Upload: trantram

Post on 09-Nov-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Cacti é uma ferramenta gráfica de gerenciamento de dados de rede que disponibiliza a seus usuários uma interface intuitiva e bem agradável de se usar, sendo acessível a qualquer tipo de usuários. Este curso fornece uma base para se utilizar esse programa, recomendado principalmente para usuários com pouca experiência na área de gerenciamento de dispositivos.

Conceitos

Nesta sessão introduziremos os conceitos básicos do Cacti, e como fazer para instalá-lo em seu computador.

Lição 1 - Introdução

Para gerenciar processos e recursos do seu computador utilizando a ferramenta Cacti, iniciaremos com as definições de alguns conceitos importantes sobre os quais falaremos durante esse curso. São eles:

RRDtool

RRD é a abreviação de Round Robin Database, sistema cujo objetivo é armazenar e monitorar dados em série obtidos durante um período de tempo pré-determinado. Esses dados obtidos são denominados dados circulares, pois seu tamanho ocupado em disco não aumenta com o decorrer do tempo e nem com a quantidade de dados já armazenados. Entretanto, o RRDTOOL não é capaz de gerar páginas html ou produzir gráficos, fato que torna necessário a sua comum utilização associada a um front-end.

SNMP

O SNMP (Simple Network Management Protocol) é um protocolo de gerência definido a nível de aplicação, é utilizado para obter informações de servidores SNMP. Foi desenvolvido para gerenciar, monitorar e controlar configurações, performance, falhas, estatísticas e segurança da rede. Sendo um padrão para gerenciamento de LANs, particularmente para aplicações de missão crítica. O gerenciamento da rede através do SNMP permite o acompanhamento simples e fácil do estado, em tempo real, da rede, podendo ser utilizado para gerenciar diferentes tipos de sistemas. O SNMP é um protocolo inicialmente desenvolvido para ser uma alternativa ao protocolo CMIP (mais completo, porém não foi bem recebido no mercado devido a sua alta complexidade). O SNMP, por ser mais simples e dar a conta do recado, acabou virando padrão de mercado e hoje já está na versão SNMP V3. Veremos mais à frente esse protocolo mais detalhadamente.

Cacti

O Cacti é uma ferramenta gráfica de gerenciamento de dados de rede desenvolvido para ser utilizado por administradores de rede com uma não muito rica experiência na área, enquanto por outro lado, disponibiliza recursos bem poderosos para serem utilizados em redes bastante complexas. O Cacti é um front-end para o RRDTOOL desenvolvido na linguagem PHP, possui uma interface web e armazena todos os seus dados em um banco de dados MySql. Utilizando essa ferramenta, é possível fazer o polling de hosts SNMP, criar gráficos e gerenciar o acesso de usuários a toda a informação já coletada.

Esta ferramenta disponibiliza a seus usuários uma interface intuitiva e bem agradável de se usar, sendo acessível a qualquer tipo de usuários, desde inexperientes até usuários com uma grande experiência. Com o Cacti, é possível fazer o controle de acesso por nível de usuário, ou seja, podemos configurar o acesso a certas informações apenas por determinados usuários. Além disso, o fato do usuário desejar adicionar algum novo equipamento para ser monitorado não é uma tarefa complicada como em outras ferramentas(por exemplo o MRTG), bastando para isso alguns poucos minutos.

O monitoramento de redes usando o Cacti é bastante fácil e agradável, e o objetivo deste curso é ensinar o usuário a instalar e configurar essa ferramenta de grande usabilidade no mundo tecnológico atual. E o melhor, é um programa LIVRE, ou seja, disponibilizado para qualquer um baixá-lo e instalá-lo em seu computador.

A versão atual do Cacti é a cacti-0.8.6h.

Nesse capítulo ensinaremos como proceder para instalar o Cacti em seu computador, sendo que a distribuição abordada nesse curso é uma baseada em Debian e que possui o APT para instalar pacotes.

Para instalar, abra o terminal e, como usuário root, digite

#apt-get install cacti

Caso você não esteja como super usuário (root), antes digite o comando citado "su" e em seguida a senha de root.

O Cacti exige que se tenha instalado em seu computador os seguinte pacotes:

• Apache (ou outro servidor web)• PHP (versão > 4) + extensões php-snmp e php-gd2• Banco de dados MySQL• net-snmp• RRDtool

Mas no momento que você executa o comando acima para a instalação do Cacti, o APT instalará previamente todos esses pacotes dos quais o Cacti depende para funcionar.

Para verificar se os pacotes acima foram realmente instalados, a forma mais fácil é usando o gerenciador de pacotes Synaptic (Desktop > administração > Synaptic) .

Configurando o Cacti

Após realizar a instalação do Cacti, nesta lição ensinaremos como configurá-lo em seu computador.

Lição 2 - Configuração

Após instalar o Cacti, você precisará configurá-lo. A seguir mostraremos como fazer isso.

A primeira tela que aparecerá, será a seguinte:

Nessa tela você configura o socket para utilizar o servidor Mysql.

• Escolha a opção socket unix

Em seguida aparecerá a tela:

Aqui você escolherá o nome do usuário administrador do banco de dados MySql do seu computador.

• Digite o usuário ROOT e dê ok.

A próxima tela que aparecerá é essa:

Naqual você escolherá o nome do usuário do banco de dados que será o donoda base de dados onde ficarão armazenadas os dados obtidos durante aexecução do programa.

• por padrão, escolha o usuário cacti e dê OK.

Em seguida, a seguinte tela aparecerá:

Onde você escolherá o nome para a base de dados MySQL a ser utilizada pelo Cacti.

• por padrão, escolha a base cacti e dê OK.

Por fim, a seguinte janela:

Na qual você escolherá o tipo de servidor WEB a ser utilizado.

• escolhemos o Apache2 para este curso.

Agora você poderá iniciar o Cacti como veremos adiante. Mas antes disso, abordaremos mais detalhamente o protocolo SNMP na lição seguinte

SNMP

É o protocolo que Cacti o utiliza. Nesta lição, ensinaremos o que é esse protocolo, como ele funciona e os motivos dele estar sendo cada vez mais utilizado no mundo web.

Lição 3 - SNMP

Introdução

O protocolo SNMP (Simple Network Management Protocol) é utilizado para se obter informações de servidores SNMP espalhados em uma rede TCP/IP (o SNMP é parte integrante do protocolo TCP/IP), possibilitando um gerenciamento simples e eficaz da rede. Com o SNMP, pode-se obter informações sobre desempenho, segurança, falhas, estatísticas, etc. Os dados são obtidos através de requisições de um Gerente a um ou mais Agentes. As variáveis que podem ser requisitadas têm seus nomes padronizados internacionalmente. A descrição, tipo do dado e outros dados pertinentes a uma variável, são armazenadas em uma base de dados denominada MIB (Management Information Base).

MIB é um conjunto de informações organizadashieraquicamente e que são acessadas através de protocolos de gerênciade redes, onde o SNMP se encaixa. MIBs compreendem objetos gerenciadose são identificadas por identificadores de objetos. Um objetogerenciado (também conhecido por objeto MIB, objeto, ou apenas MIB) é apenas um dos muitos dispositivos gerenciados. Objetos gerenciados são compreendidos por uma ou mais instâncias, as quais são essencialmente variáveis.

Os dados são obtidos por meio de requisições de um gerente a um ou mais agentes utilizando os serviços do protocolo de transporte UDP ( User Datagram Protocol ) para enviar e receber suas mensagens através da rede.

O gerenciamento da rede através do SNMP permite o acompanhamento simples e fácil do estado, em tempo real desta. E pode ser utilizado para gerenciar diferentes tipos de sistemas. Este gerenciamento é conhecido como modelo de gerenciamento SNMP, ou simplesmente, gerenciamento SNMP.

Os comandos são limitados e baseados no mecanismo de busca/alteração. No mecanismo de busca/alteração estão disponíveis as operações de alteração de um valor de um objeto, de obtenção dos valores de um objeto e suas variações. A utilização de um número limitado de operações, baseadas em um mecanismo de busca/alteração, torna o protocolo de fácil implementação, simples, estável e flexível. Como conseqüência, reduz o tráfego de mensagens de gerenciamento através da rede e permite a introdução de novas características.

O funcionamento do SNMP é baseado em dois dispositivos: Agente e Gerente. Cada dispositivo gerenciado é visto como um conjunto de variáveis que representam informações referentes ao seu estado atual. Tais informações ficam disponíveis ao Gerente através de consulta e podem ser alteradas por ele. Cada dispositivo gerenciado pelo SNMP deve possuir um Agente e uma base de informações MIB.

Funcionamento

O modelo de gerenciamento do SNMP consiste de um esquema centralizado, ou seja, um servidor (host) é setado como o Gerente, e os demais integrantes da rede são denominados Agentes. O Agente faz a comunicação entre o Gerente e os equipamentos que não implementam o SNMP. Todos os Agentes possuem uma MIB para cada objeto

gerenciado, onde cada MIB contém as variáveis relativas a cada um desses objetos. O SNMP pode ser dividido entre:

• Conjunto de objetos gerenciados, correspondente a um Agente e uma MIB associada;

• Um Host de gerenciamento de rede;

• Um protocolo de gerenciamento de rede que é usado para a comunicação entre o Gerente e os Agentes.

Protocolo de Gerenciamento

O protocolo de gerenciamento é visto sob o paradigma de observação remota, isto é, ele não transporta simplesmente operações de gerenciamento que devem ser executadas pelos objetos gerenciados, ou seja, cada objeto é visto como uma coleção de variáveis (MIB), cujo valor pode ser lido ou alterado, possibilitando, assim, a monitoração e o controle de cada elemento da rede.O Agente, ao receber uma solicitação do Gerente, encaminha as informações ou altera valores das variáveis que representam os objetos gerenciados. É também tarefa do Agente avisar o Gerente, por meio de Traps, caso ocorra algum evento não-esperado no monitoramento.

Gerente

O Gerente é um programa executado no Host que possibilita a obtenção e o envio de informações de gerenciamento junto aos dispositivos gerenciados, feitos através da comunicação com um ou mais Agentes. Essas informações de gerenciamento podem ser obtidas por meio de requisições feitas pelo Gerente ao Agente, como também mediante um envio automático disparado pelo Agente a um determinado Gerente.

Agente

É o integrante do processo, presente no dispositivo gerenciado, e é responsável pela manutenção das informações de gerência desse dispositivo. Essa manutenção é feita quando o Agente atende às requisições enviadas pelo Gerente, e também quando ele envia automaticamente informações de gerenciamento ao gerente, quando previamente programado. Além disso, o Agente comunica ao Gerente a ocorrência de algum acontecimento inesperado, sendo o Gerente responsável por solucionar o problema. O controle das informações do dispositivo é feito por meio de RPC (Remote Procedure Call)

Resumindo:

O Gerente é o responsável pelo monitoramento, relatórios e decisões na ocorrência de problemas enquanto o Agente é o responsável pelas funções de envio e alteração das informações e pela notificação da ocorrência de eventos infortuitos ao Gerente.

As operações de gerenciamento são componentes da aplicação Gerente, as quais controlam e monitoram os Agentes da comunidade de um de um determinado domínio de gerenciamento. Para gerenciar o dispositivo de rede, as operações de gerenciamento podem ler e escrever em variáveis da MIB de cada aplicação Agente. As operações podem também armazenar informações de gerenciamento recuperadas junto as aplicações Agentes em uma MIB própria ou de um banco de dados. O Gerente SNMP realiza basicamente duas funções durante a gerência (SET e GET) e suas variávei (GET-NEXT e TRAP):

• SET: utilizada para alterar o valor da variável, em que o Gerente solicita que o Agente faça uma alteração no valor da variável;

• GET: utilizada para ler o valor da variável, em que o Gerente solicita que o Agente obtenha o valor da variável;

• GET-NEXT: utilizada para ler o valor da próxima variável, em que o Gerente fornece o nome de uma variável e o Agente obtém o valor e o nome da próxima variável. Também é utilizado para se obter valores e nomes de variáveis de uma tabela de tamanho desconhecido;

• TRAP: utilizada para o Agente comunicar ao Gerente a ocorrência de um evento. Há 7 tipos básicos diferentes de Trap determinados:

1. coldStart: indica que entidade que a envia foi reinicializada, ou que a configuração do agente ou a implementação pode ter sido alterada;

2. warmStart: indica que a entidade que a envia foi reinicializada sem que a configuração do Agente e a implementação fossem alteradas;

3. linkDown: indica que o enlace de comunicação foi interrompido; 4. linkUp: o enlace de comunicação foi estabelecido; 5. authenticationFailure: indica que o Agente recebeu uma mensagem SNMP do Gerente que não foi

autenticada; 6. egpNeighborLoss: indica que um par EGP (Exterior Gateway Protocol) parou; 7. enterpriseSpecific: indica a ocorrência de uma operação TRAP não básica.

Histórico

O SNMP foi desenvolvido no final dos anos 80 por um grupo da Internet Engineering Task Force (IETF) e foi baseado em um protocolo de monitoração de gateways IP, o Simple Gateway Management Protocol (SGMP). O modelo SNMP possui uma abordagem altamente genérica, característica que faz com que esse protocolo possa ser usado para gerenciar diferentes tipos de sistemas. Sua especificação está contida no RFC 1157.

• 1989: SNMP v1 • 1992: Remote Monitoring – RMON • 1993: SNMP v2 • 1996: SNMP v2c (Community Security) • 1996: MIB RMON v2 • 1998: SNMP v3 (User Security Model)

Limitações

Falta de segurança

• Esquema de autenticação trivial • Limitações no uso do método SET

Ineficiência

• Esquema de eventos limitado e fixo • Operação baseada em pooling • Comandos transportam poucos dados

Falta de Funções Específicas

• MIB com estrutura fixa • Falta de comandos de controle • Falta de comunicação entre gerenciadores

Não Confiável

• Baseado em UDP/IP • Trap sem reconhecimento

-

Ultimas versões: SNMPv2 e SNMPv3

Visando obter melhorias com relação aos aspectos de segurança foram desenvolvidas novas versões do SNMP.

SNMPv2,

Contém recursos adicionais para resolver os problemas relativos á segurança do SNMPv1 como:

• privacidade de dados, • autenticação • controle de acesso.

SNMPv3

Desenlvolvido com o objetivo principal de alcançar a segurança, sem deixar de lado a simplicidade do protocolo, através de novas funcionalidades como:

• Autenticação de privacidade • Autorização e controle de acesso • Nomes de entidades • Pessoas e políticas • Usernames e gerência de chaves • Destinos de notificações • Relacionamentos proxy • Configuração remota

Agora continuaremos falando do Cacti, objetivo principal deste curso. Na próxima lição mostraremos como iniciá-lo para ser usado pela primeira vez.

Inaugurando o Cacti

Nesta lição, mostraremos como proceder para utilizar o Cacti depois de instalado e configurado.

Lição 4 - Iniciando o Cacti pela primeira vez

Para começar a usar o Cacti é muito fácil. Basta abrir qualquer navegador que desejar o digitar o seguinte na barra de endereços:

http://ip/cacti.

No nosso exemplo, utilizamos a rede local http://localhost/cacti.

Em seguida aparecerá no seu navegador o seguinte:

Leia as instruções se desejar e em seguida clique em NEXT.

A próxima tela que aparecerá em seu navegador é essa:

Essa tela mostra as informações do banco de dados as quais você configurou previamente. Caso elas estejam corretas, clique em NEXT.

Caso os dados acima não estejam corretos, é só editar o arquivo debian.php contido em /etc/cacti.

Enfim, aparecerá a tela:

contendo os paths os quais o Cacti necessitará. Caso estejam todos corretos, clique em FINISH.

Agora aparecerá a tela inicial de login: entre com

• usuário:admin • senha: admin

Em sequida o Cacti forçará você a mudar essa senha por motivos de segurança. Mude-a e, em seguida, faça o login.

Finalmente, a tela inicial do Cacti se abrirá como mostrada abaixo:O Cacti nos fornece a possibilidade de poder personalizar cada gráfico: como mudar as cores dos gráficos, cores de

áreas específicas, largura e altura dos gráficos, escala, dentre outros requisitos.

Para isso, no menu da esquerda da página, clique em Graph Templates , e a seguinte tela aparecerá:

Escolha qual template deseja alterar e clique nele. Para exemplificar, escolhemos modificar Netware-LoggedInUsers,

e a seguinte tela apareceu:

Agora é só começar a monitorar seus dispositivos que necessitar.

Utilização

Nesta lição, mostraremos como utilizar o Cacti e alguns de seus recursos.

Lição 5 - Utilizando o Cacti

Ao iniciar o Cacti, a primeira coisa a fazer é adicionar um dispositivo.

Para isso, clique em Create devices for network na tela inicial mostrada abaixo:

Em seguida a seguinte tela aparecerá:

Clique no nome do Host e em seguida aparecerá as configurações dele, como mostrado abaixo:

Mude a opção SNMP Community para Public e salve. Em seguida, entre de novo e confira os dados sobre o SNMP na parte superior da página:

SNMP InformationSystem: Linux equipe08 2.6.15-1-686 #2 Mon Mar 6 15:27:08 UTC 2006 i686Uptime: 8053316Hostname: equipe08Location: localhost

Contact: admin

Na Guia Associated Grafic Templates você pode escolher o que deseja monitorar.

Agora é só clicar na aba Graphs na parte superior da tela e ver os gráficos como na figura abaixo:

OBS: Caso seus gráficos não aparecam, ocorreu algum erro nas configurações (verifique se ocorreu algum erro nas configurações do SNMP) . Tente configurar novamente , sempre verificando se estas estão corretas. Caso contrário, os gráficos continuarão não aparecendo.

O Cacti nos permite setar configurações personalizadas para cada usuário, permitindo que este apenas visualize o que realmente o interessa. É possível criar novos usuários e também alterar permissões de usuários já existentes. Para isso, no menu esquerdo da tela clique em User Management. A seguinte tela abrir-se-á:

Para verificar ou alterar algumas configurações do cacti, clique no menu Settings presente no canto esquerdo da tela na guia Configuration. Em seguida a seguinte tela aparecerá:

Daremos uma breve descrição de cada aba presente nessa tela de configurações:

General

Nessa aba( imagem acima) você pode visualizar e alterar as configurações do SNMP, algumas especificações dos arquivos de Log, dentre outros.

Paths

Aqui você pode visualizar os caminhos dos diretórios onde o Cacti guarda seus arquivos, quais os diretórios onde SNMP e o RRDTOOL trabalham, e o path para o arquivo de log.

Poller

Nesse local você encontra as configurações do Poller, pode ativar ou desativá-lo, alterar quais scrips PHP são utilizados, alterar as configurações do Poller Host, dentre outras.

Graph Export

Aqui encontram-se as configurações para a exportação de gráficos, como o Tiiming e as configurações dos servidores FTP os quais disponibilizarão as exportações dos gráficos.

Visual

É o local onde você pode alterar o visual do seu gráfico, isto é, alterar a quantidade de linhas a serem mostradas por página para a gerência dos seus gráficos, a quantidade de caracteres máximas por campo, além da possibilidade de se poder alterar as fontes das letras que o RRDtool, incorporado ao Cacti, utiliza nos gráficos.

Authentication

Local onde você pode alterar as configurações da autenticação no cacti, incluindo a possibilidade de se usar o LDAP para fazer a autenticação.