Você está na página 1de 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.
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:

Na
qual você escolherá o nome do usuário do banco de dados que será o dono
da base de dados onde ficarão armazenadas os dados obtidos durante a
execuçã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 organizadas


hieraquicamente e que são acessadas através de protocolos de gerência
de redes, onde o SNMP se encaixa. MIBs compreendem objetos gerenciados
e são identificadas por identificadores de objetos. Um objeto
gerenciado (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 Information
System: Linux equipe08 2.6.15-1-686 #2 Mon Mar 6 15:27:08 UTC 2006 i686
Uptime: 8053316
Hostname: equipe08
Location: 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.

Você também pode gostar