ver/abrir - Repositório do Departamento de Ciência da Computação

Transcrição

ver/abrir - Repositório do Departamento de Ciência da Computação
Universidade de Brasília
Instituto de Ciências Exatas
Departamento de Ciência da Computação
Desenvolvimento e Implementação de um Kit Portátil
para Gerência de Redes SNMP usando Software Livre
Felipe Valdez Rangel Foscaches
Monograa apresentada como requisito parcial
para conclusão do Curso de Computação Licenciatura
Orientador
Prof. MSc. João José Costa Gondim
Brasília
2011
Universidade de Brasília UnB
Instituto de Ciências Exatas
Departamento de Ciência da Computação
Curso de Computação Licenciatura
Coordenador: Prof. Dra. Carla Denise Castanho
Banca examinadora composta por:
Prof. MSc. João José Costa Gondim (Orientador) CIC/UnB
Prof. Dr. Jorge Henrique Cabral Fernandes CIC/UnB
MSc. Dino Macedo do Amaral CIC/UnB
CIP Catalogação Internacional na Publicação
Foscaches, Felipe Valdez Rangel.
Desenvolvimento e Implementação de um Kit Portátil para Gerência de
Redes SNMP usando Software Livre / Felipe Valdez Rangel Foscaches.
Brasília : UnB, 2011.
89 p. : il. ; 29,5 cm.
Monograa (Graduação) Universidade de Brasília, Brasília, 2011.
1. gerência, 2. redes, 3. monitoração, 4. cacti
CDU 004.4
Endereço:
Universidade de Brasília
Campus Universitário Darcy Ribeiro Asa Norte
CEP 70910-900
BrasíliaDF Brasil
Universidade de Brasília
Instituto de Ciências Exatas
Departamento de Ciência da Computação
Desenvolvimento e Implementação de um Kit Portátil
para Gerência de Redes SNMP usando Software Livre
Felipe Valdez Rangel Foscaches
Monograa apresentada como requisito parcial
para conclusão do Curso de Computação Licenciatura
Prof. MSc. João José Costa Gondim (Orientador)
CIC/UnB
Prof. Dr. Jorge Henrique Cabral Fernandes
MSc. Dino Macedo do Amaral
CIC/UnB
CIC/UnB
Prof. Dra. Carla Denise Castanho
Coordenador do Curso de Computação Licenciatura
Brasília, 10 de fevereiro de 2011
Dedicatória
Dedico este projeto à minha família que tanto me apoiou e incentivou a conclusão
deste. Especialmente à minha esposa Fernanda e ao meu lho Lucas que tiveram que
ceder momentos preciosos para que este documento pudesse ser desenvolvido e nalizado
no prazo determinado.
iv
Agradecimentos
Agradeço a todos que me ajudaram na elaboração deste projeto, em especial ao meu
orientador e ao meu amigo Bertelli, além de outros amigos do trabalho, que contribuíram
com seus conhecimentos e experiência no desenvolvimento do produto implementado
neste, possibilitando uma base teórica e ferramentas para validar os conceitos e idéias
vistos neste documento.
v
Resumo
Este trabalho visa denir procedimentos e parâmetros mínimos para gerenciar hosts
e objetos em uma rede TCP/IP, segundo a arquitetura SNMP, permitindo que usuários
intermediários possam entender os principais processos e conceitos envolvidos no gerenciamento de redes, e para que possam validar essas informações de forma prática, em um
kit portátil provendo ferramentas de gerência de redes.
Palavras-chave: gerência, redes, monitoração, cacti
vi
Abstract
This paper aims to set minimum standards for procedures and manage hosts and
any objects on a TCP/IP network, using SNMP management architecture, allowing that
intermediate users can understand the main concepts and processes involved in managing
networks, and so they can also validate these informations in a practical way, in a portable
kit providing tools for network management.
Keywords: management, networks, monitoring, cacti
vii
Sumário
1 Introdução
2 Gerenciamento de Redes
2.1
2.2
2.3
2.4
2.5
Visão Geral . . . . . . . . . . . . . . . . . . . . .
Denição . . . . . . . . . . . . . . . . . . . . . .
Estrutura de um Sistema de Gerência de Redes .
Áreas Funcionais de Gerenciamento de Redes . .
Alguns Processos e Métodos da Gerência de Rede
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3.1
3.2
Visão Geral . . . . . . . . . . . . . . . . . . . .
Simple Network Management Protocol (SNMP)
3.2.1 Versões SNMP . . . . . . . . . . . . . .
3.2.2 Comandos Básicos SNMP . . . . . . . .
Management Information Base (MIB) . . . . . .
Structure of Management Information (SMI) . .
ASN.1 . . . . . . . . . . . . . . . . . . . . . . .
Remote Network Monitoring (RMON) . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
NMS Cacti . . . . . . . . . . . . . .
NMS Nagios . . . . . . . . . . . . . .
NMS Zabbix . . . . . . . . . . . . . .
Outras Ferramentas . . . . . . . . . .
4.4.1 XAMPP . . . . . . . . . . . .
Comparando os NMS . . . . . . . . .
Estrutura do Kit de Gerência Portátil
3 Protocolos e Padrões de Gerenciamento
3.3
3.4
3.5
3.6
4 NMS e Ferramentas de Rede
4.1
4.2
4.3
4.4
4.5
4.6
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Requisitos e métodos . . . . . . . . . . . . .
Implementando o Kit de Gerência Portátil .
5.2.1 Congurando o Xampp no Pen Drive
5.2.2 Preparando o CACTI com o XAMPP
5.2.3 Congurando o MySQL para o Cacti
5.2.4 Congurando o Cacti . . . . . . . . .
Fazendo upgrade no Cacti . . . . . . . . . .
Instalando Plugins no Cacti . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5 Implementação e Utilização do Kit
5.1
5.2
5.3
5.4
viii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
3
3
4
6
7
9
11
11
12
13
14
15
16
16
17
18
18
19
20
20
20
21
21
23
23
24
24
32
34
40
46
49
5.5
5.4.1 Alguns Plugins do Cacti . . . . . . . . . .
Utilizando o Kit de Gerência Portátil na Prática .
5.5.1 Agendamento de tarefa e Poller . . . . . .
5.5.2 Congurando SNMP em estações Windows
5.5.3 Sugestões e Solução de Problemas . . . . .
6 Conclusão
6.1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
52
52
59
64
68
70
Sugestões para Projetos Futuros . . . . . . . . . . . . . . . . . . . . . . . . 72
A Lista de RFC
73
Referências
75
A.1 Capítulo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
A.2 Capítulo 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
ix
Lista de Figuras
2.1
2.2
Relacionamento entre gerência de Redes, Sistemas e Aplicações [2] . . . . .
Elementos de um Sistema de Gerência de Redes . . . . . . . . . . . . . . .
3.1
3.2
Modelo de Comunicação por TCP/IP e o SNMP [8] . . . . . . . . . . . . . 13
Árvore de identicadores de objetos ASN.1 [5] . . . . . . . . . . . . . . . . 16
4.1
4.2
4.3
4.4
4.5
4.6
Logo Cacti . . . . . . . . . . . . . . . . . . . . . .
Logo Nagios . . . . . . . . . . . . . . . . . . . . .
Logo Zabbix . . . . . . . . . . . . . . . . . . . . .
Logo Xampp . . . . . . . . . . . . . . . . . . . . .
Comparação entre os NMS . . . . . . . . . . . . .
Relacionamento entre o NMS Cacti e os elementos
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
gerenciáveis
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
19
19
20
20
21
22
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.10
5.11
5.12
5.13
5.14
5.15
5.16
5.17
5.18
5.19
5.20
5.21
5.22
5.23
5.24
5.25
Diretório do Xampp na raiz do Pen Drive . . . . .
Tela inicial do Setup do Xampp . . . . . . . . . .
Denindo o diretório de instalação do Xampp . .
Denindo o Xampp no modo portátil . . . . . . .
Congurando o fuso horário do servidor . . . . . .
Tela com as opções de conguração do Xampp . .
Retirando o atributo Arquivo Morto do arquivo .
Ajustando os parâmetros do php.ini . . . . . . . .
Adicionando recursos no arquivo httpd.conf . . .
Iniciando a instalação do NetSNMP . . . . . . . .
Selecionando os componentes do NetSNMP . . . .
Denindo o local de instalação . . . . . . . . . . .
Denindo a opção de inicialização . . . . . . . . .
Redenindo os paths do NetSNMP . . . . . . . .
Extraindo o Cacti no diretório \xampp\htdocs . .
Extraindo o pacote RRDTools . . . . . . . . . . .
Utilizando o 'xampp-portchec' e o 'xampp-control'
Vericando conitos com o 'xampp-portcheck' . .
Acionando os módulos Apache e MySql . . . . . .
Vericando o status dos componentes do Xampp .
Criando o banco de dados do Cacti . . . . . . . .
Arquivo com a base de dados do Cacti . . . . . .
Implementando a base de dados do Cacti . . . . .
Criando o usuário cactiuser . . . . . . . . . . . .
Atribuindo os privilégios do cactiuser . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
25
25
26
26
27
27
28
28
29
29
30
30
31
31
32
32
33
33
34
34
35
35
36
36
37
x
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
6
5.26
5.27
5.28
5.29
5.30
5.31
5.32
5.33
5.34
5.35
5.36
5.37
5.38
5.39
5.40
5.41
5.42
5.43
5.44
5.45
5.46
5.47
5.48
5.49
5.50
5.51
5.52
5.53
5.54
5.55
5.56
5.57
5.58
5.59
5.60
5.61
5.62
5.63
5.64
5.65
5.66
5.67
5.68
5.69
5.70
5.71
Vericando se o root possue senha . . . . . . . . . . . . . . . .
Atribuindo senha ao root . . . . . . . . . . . . . . . . . . . . .
Tela de acesso negado ao servidor MySql . . . . . . . . . . . .
Inserindo credenciais de acesso no arquivo cong.inc.php . . .
Acessando o phpMyAdmin com o cactiuser . . . . . . . . . . .
Atribuindo acesso do Cacti ao banco de dados MySql . . . . .
Guia de instalação do Cacti . . . . . . . . . . . . . . . . . . .
Nova instalação do Cacti . . . . . . . . . . . . . . . . . . . . .
Inserindo os paths dos aplicativos do Cacti . . . . . . . . . . .
Primeiro login no Cacti . . . . . . . . . . . . . . . . . . . . . .
Editando o arquivo de conguração do Spine . . . . . . . . . .
Executando e testando o Spine . . . . . . . . . . . . . . . . . .
Copiando a cygz.dll para o diretório do spine . . . . . . . . . .
Disponibilizando uma arquivo fonte para o RDDTool . . . . .
Redenindo os paths dos aplicativos do Cacti . . . . . . . . .
Denindo os intervalos e processos do poller no Cacti . . . . .
Extraindo os arquivos do Plugin Architecture (PIA . . . . . .
Substituindo os arquivos do Cacti com o PIA . . . . . . . . .
Redenindo as credenciais para acesso ao MySql do Cacti . . .
Importando as tabelas do Pia para o MySql . . . . . . . . . .
Denindo as opções de acesso do usuário ao sistema do Cacti .
Extraindo os plugins no diretório \xampp\htdocs\cacti\plugins
Instalando os plugins inseridos no Cacti . . . . . . . . . . . . .
Inserindo os plugins do estilo antigo no arquivo
.
Instalando os plugins do estilo antigo no Cacti . . . . . . . . .
Habilitando o acesso aos novos plugins instalados no Cacti . .
Vericando as interfaces dos novos plugins . . . . . . . . . . .
Vericando se os paths dos aplicativos do Cacti estão corretos
Vericando e cadastrando novos hosts no Cacti . . . . . . . .
Inserindo os parâmetro dos hosts no Cacti . . . . . . . . . . .
Congurando hosts a serem gerenciados via SNMP . . . . . .
Selecionando os objetos gerenciaveis do host . . . . . . . . . .
Criando grácos para o host gerenciado . . . . . . . . . . . . .
Inserindo o novo gráco na árvore organizacional . . . . . . .
Congurando a árvore organizacional padrão . . . . . . . . . .
Congurando as opções do gráco na árvore organizacional . .
Visualizando o gráco no Cacti . . . . . . . . . . . . . . . . .
Acionando as Tarefas Agendadas . . . . . . . . . . . . . . . .
Assistente para criar uma tarefa agendada . . . . . . . . . . .
Selecionando o programa para agendamento da tarefa . . . . .
Denindo período de execução da tarefa . . . . . . . . . . . .
Congurando a data de início da tarefa . . . . . . . . . . . . .
Denindo os privilégios de execução da tarefa . . . . . . . . .
Finalizando a criação da tarefa . . . . . . . . . . . . . . . . .
Inserindo os parâmetros para execução da tarefa . . . . . . . .
Denindo opções avançadas de agendamento . . . . . . . . . .
cong.php
xi
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
37
38
38
39
39
40
40
41
42
42
43
43
44
44
45
45
46
47
47
48
48
49
50
50
51
51
52
53
54
54
55
56
56
57
57
58
58
59
59
60
60
61
61
62
62
63
5.72
5.73
5.74
5.75
5.76
5.77
5.78
5.79
5.80
5.81
5.82
5.83
5.84
Denindo os privilégios de acesso datarefa . . . . . . . . . .
Ativando e vericando a tarefa agendada . . . . . . . . . . .
Adicionando componentes do Windows . . . . . . . . . . . .
Assistente para adicionar componentes do Windows . . . . .
Ferramentas de gerenciamento e monitoramento do Windows
Instalando o SNMP no Windows . . . . . . . . . . . . . . .
Acionando a janela de serviços do Windows . . . . . . . . .
Lista de serviços do Windows . . . . . . . . . . . . . . . . .
Propriedades do serviço SNMP . . . . . . . . . . . . . . . .
Congurando a comunidade SNMP no Windows . . . . . . .
Ativando e encerrando o serviNMP . . . . . . . . . . . . . .
Vericando se o Spine está rodando corretamente . . . . . .
Vericando se o RRDTool está gerando os grácos . . . . . .
xii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
63
64
64
65
65
66
66
67
67
68
68
69
69
Lista de Tabelas
3.1
Tipos de SNMPv2-PDUs [5] . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.1
Lista de Parâmetros
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
xiii
Capítulo 1
Introdução
Atualmente percebe-se que há uma innidade de fabricantes de hardware e software
que são aglomerados em dispositivos únicos dispostos em datacenters, universidades e
outras entidades distribuídas ao redor do mundo, onde cada um deles é destinado a oferecer algum serviço vital a sua organização. O patamar tecnológico atual permite que
esses equipamentos interajam entre si, por meio de padrões internacionais e protocolos,
formando grandes sistemas distribuídos ou centralizados, do qual a humanidade se faz
cada vez mais dependente para armazenar e manipular dados, necessários a execução das
mais diversas atividades corriqueiras.
Tendo em vista essa diversidade de hardware e software que compõe a maioria dos
ambientes de tecnologia, surgindo a cada dia novas tendências, há uma diculdade imensa
em gerenciar, administrar e monitorar a totalidade de serviços e equipamentos que compõe
a topologia de rede de uma organização, seja por falta de sistemas de gerenciamento
adequados, seja pela falta de recursos humanos qualicados para utilizar esses sistemas e
gerenciar a rede.
É possível encontrar sistemas de gerenciamento proprietários muito abrangentes e
ecazes que acompanham determinados fabricantes de equipamentos de conectividade,
porém a maioria só trabalha de forma otimizada com equipamentos do mesmo fabricante e seus associados, não gerenciando alguns componentes vitais do sistema como um
todo, por pertencerem a plataformas diferentes ou outros sistemas proprietários. Para
evitar problemas como este, há uma entidade reguladora internacional denominada IETF
[13], que se dedica a padronizar funcionalidades que compõe o domínio de dispositivos
de conectividade, que devem trocar dados numa topologia composta por equipamentos
heterogêneos sem comprometer a integridade desses dados.
Sendo assim, este projeto visa o provimento de uma base teórica envolvendo os elementos mais importantes do domínio de gerenciamento de redes, possibilitando ao usuário
deste aplicar os conceitos aqui assimilados na prática, por meio de aplicativos e ferramentas de rede detalhados neste documento. Deste modo, serão demonstrados os procedimentos para a instalação de um servidor web independente de plataforma, baseado em
software livre e de fácil instação e implementação, que possa ser associado a outras ferramentas livres de gerenciamento e monitoramento, permitindo a gerência de uma rede
TCP/IP e assegurando certo nível de qualidade de serviço. Para alcançar essas metas
utilizaremos um Pen Drive contendo o aplicativo Xamp Portátil, que será congurado
como um servidor web onde serão implementados alguns softwares de gerenciamento e
1
monitoramento como o Cacti, junto de outros aplicativos portáteis que serão utilizados
como utilitários em um "kit de gerenciamento de redes".
Para tanto é necessário algum protocolo de comunicação para atender essa necessidade cada vez maior de um padrão para gerenciar os dispositivos IP (Internet Protocol)
[8].Então abordaremos também por meio deste documento as funcionalidades e versões
de um protocolo simples e amplamente difundido: o SNMP.
Após a etapa de conguração, implementação e execução do monitoramento de alguns dispositivos de rede, tentaremos expor procedimentos padrões de gerenciamento de
rede em nível básico. Assim será possível a demonstração das funcionalidades do kit
desenvolvido durante este projeto na prática, em diferentes topologias de rede, e consequentemente conhecer metodologias e, se possível, parâmetros de monitoramento para
avaliar se a utilização da rede corresponde com os requisitos esperados.
Logo, neste capítulo introdutório foram expostas as motivações, o principal protocolo
de gerenciamento utilizado em redes baseadas em TCP/IP, e alguns dos recursos que serão
utilizados na elaboração deste projeto.
2
Capítulo 2
Gerenciamento de Redes
2.1 Visão Geral
Com o surgimento da Internet foi possível a interconexão de redes locais (LANs)
e a expansão de órgãos e instituições globais em diversas localidades geogracamente
distantes, permitindo assim que cada unidade destas entidades se comunicasse uma com
as outras, gerando um sistema composto por uma diversidade de hardware e software sem
precedentes.
Acompanhando a expansão tecnológica, as redes foram evoluindo e se tornando cada
vez mais complexas, agregando roteadores, switches, servidores e uma innidade de dispositivos distintos, como por exemplo eletrodomésticos, que foram incorporados a Internet,
para serem passíveis de gerenciamento remoto.
Como as organizações são diretamente dependentes dos produtos e serviços que elas
provêem e tendo em vista que sua estrutura de rede provavelmente é composta por centenas ou milhares de componentes de rede passíveis de apresentar algum problema físico ou
lógico, que necessariamente trabalham em conjunto e podem interferir no sistema como
um todo dependendo de sua importância. Seria demasiadamente imprudente não avaliar
sistematicamente essa estrutura de rede onde é gerada grande parte dos serviços e informações vitais a existência dessa organização, que pode falir rapidamente caso algum
serviço crítico seja interrompido por um período mínimo de tempo, devido a algum incidente de segurança. E sempre pode haver falhas na rede, do mesmo modo que em outros
equipamentos e softwares de funções variadas, mas como diferencial, onde há gerenciamento de rede pró-ativo, essas falhas poderão ser detectadas, avaliadas, e reparadas.
Além de estar constantemente monitorando a rede para detectar e prevenir problemas, o gerente de rede e sua equipe devem se preocupar em coletar e analisar dados
provenientes dela (nível de utilização do enlace, gargalos, taxas de erros, etc) no intuito
de gerar relatórios para prever limitações e possibilidade de crescimento da mesma, e também para car respaldado quando houver necessidade de garantir a terceiros a qualidade
dos serviços prestados ou se houver necessidade de interagir com outras áreas funcionais
quando componentes de uma instituição com a área de TI bem denida e segmentada.
Então, sabendo da innidade de possibilidades provenientes dos recursos e serviços
advindos da Internet, focaremos exclusivamente no que tange à infra-estrutura de redes
no campo de gerenciamento de redes de computadores, seja de instituições coorporativas
dada sua importância aos seus negócios vitais que são dependentes dela, ou até mesmo
3
gerenciamento de outras redes organizacionais. Veremos também alguns elementos e modelos que compõe os conceitos de Gerenciamento de Rede, porém aprofundar-se neles foge
do foco deste projeto que visa apresentar uma visão geral de ferramentas que permitem
a coleta, manipulação e interpretação de informações passiveis de serem gerenciadas.
2.2 Denição
O problema em denir o que é gerenciamento de redes está no fato do mesmo ser
um assunto muito abrangente, envolvendo diversos equipamentos e serviços heterogêneos
que incorporam vários protocolos e outros conceitos relacionados. Então usaremos uma
denição formal bem abrangente para depois adentrar em suas especicidades. Segundo
Clemm [2], "Gerenciamento de Redes se refere às atividades, métodos, procedimentos, e
ferramentas que pertencem à operação, administração, manutenção, e provisionamento
dos sistemas que compõe a rede", como descrito a seguir:
•
"Operação trata de manter a rede operacional (e os serviços que a rede prove) e
rodando sem problemas. Isso inclui monitorar a rede para detectar problemas o mais
breve possível, preferencialmente antes do usuário ser afetado.
•
Administração envolve observar minuciosamente os recursos da rede e como eles
são atribuídos. Refere-se a todos os procedimentos necessários para manter as coisas
sob controle.
•
Manutenção se preocupa com os reparos e upgrades de performance - por exemplo,
•
quando um driver da placa de rede deve ser substituído, quando um roteador precisa
de uma nova imagem de sistema operacional com alguma atualização critica, ou
quando um novo switch é adicionado à rede. Manutenção envolve também medidas
proativas de correção e prevenção como ajustar um parâmetro de dispositivos quando
necessário, e geralmente intervindo quando preciso para fazer uma rede gerenciada
operar de forma ecaz.
Provisionamento se preocupa com os recursos de conguração de rede necessários
para suportar determinados serviços. Por exemplo, é possível congurar a rede para
que um usuário possa receber um serviço de voz."
Para poder executar essas funções, os gerentes da rede idealmente são amparados
por mais de uma ferramenta que são integradas para prover os recursos necessários para
um gerenciamento ecaz da rede ou pelo menos um gerenciamento que permita que eles
possam garantir que a rede opere, no mínimo, de acordo com os parâmetros de qualidade
denidos no nível de serviço contratado. Esses recursos computacionais providos pela rede
e as informações produzidas nela denem grupos que necessitam de diferentes tipos de
suporte, devendo esses sistemas de gerenciamento abranger preferencialmente parâmetros
passíveis de monitoramento e controle relativos às áreas de disponibilidade, desempenho
e segurança da informação e serviços.
Como citado anteriormente, o termo gerência de rede é muito abrangente e engloba
diversos níveis de gerenciamento, podendo então ser subdividida em outras áreas dependendo do grau de estruturação da instituição. Esses níveis variam muito de uma empresa
para outra, mas podemos dizer que os termos mais empregados são: Gerência de Rede,
4
quando se trata dos dispositivos de comunicação e infraestrutura de rede; Gerência de
Sistemas, que diz respeito aos servidores físicos e sistemas operacionais; e Gerência de
Aplicação, que envolve monitoramento contínuo dos serviços oferecidos por determinados
softwares aplicativos que regem muitas vezes a missão da empresa.
É importante entender que mesmo que seja feita essa divisão da gerência de redes
em níveis, esses subgrupos devem planejar e executar ações em conjunto, pois qualquer
alteração em um dos níveis vai afetar os outros de alguma forma já que eles são componentes de um sistema maior e operam totalmente integrados, cada um amparando o outro,
gerando uma complexa estrutura organizacional de rede, como descrito na gura 2.1. E,
caso haja necessidade de ser feita alguma alteração, esses subgrupos devem se envolver
em todos os processos, para que essa implementação não interra no resto da rede e prejudique os usuários da mesma, e se houver qualquer problema durante a execução desses
procedimentos, deve haver sempre um ponto de restauração ou uma contingência para
que os serviços não sejam interrompidos ou pelo menos sejam minimamente impactados,
exigindo dos mesmos sempre um planejamento prévio e integrado, visando o ambiente de
rede como um todo.
Figura 2.1: Relacionamento entre gerência de Redes, Sistemas e Aplicações [2]
Do mesmo modo que há subníveis de gerência de rede dependendo da granularidade
da estrutura da organização, há também vários componentes humanos que formam uma
equipe ou que agem individualmente nos processos de gerenciamento de rede, de acordo
com a conveniência ou tamanho da mesma. "Geralmente, quando há uma equipe que
gerencia a rede, eles executam quatro tarefas distintas: o pessoal do help desk, o operador
da rede, a equipe de suporte técnico e o gerente da equipe de gerência. Enm, o importante
é que você saiba que, na realidade, o prossional que chamamos neste livro de gerente
de redes pode assumir vários papéis distintos em momentos distintos, mas geralmente,
estaremos falando com a equipe de suporte técnico." [6]
Após nos depararmos com uma visão geral, amparada por alguns dos conceitos de
Gerenciamento de Redes, concluiremos esta seção apresentando uma denição detalhada,
relativa ao tema abordado até aqui, dado por Saydam[10] citado em Kurose[5]:
"Gerenciamento de rede inclui o oferecimento, a integração e a coordenação de elementos de hardware, software e humanos, para monitorar, testar, consultar,
5
congurar, analisar, avaliar e controlar os recursos da rede, e de elementos, para satisfazer as exigências operacionais, de desempenho e de qualidade de serviço em tempo real
a um custo razoável."
2.3 Estrutura de um Sistema de Gerência de Redes
Um sistema de gerência de redes genérico deve ser capaz de monitorar e controlar
os recursos da rede por meio de uma
que pode ser única e
centralizada ou distribuída em diversas regiões geográcas, permitindo que cada lial
mantenha o controle de sua área, prestando contas para uma entidade maior, por exemplo.
Para executar suas funções, essa entidade gerenciadora requer que o dispositivo a ser
gerenciado seja passível de monitoramento por meio de um
pré-instalado que,
quando devidamente congurado, será encarregado de requisitar informações diretamente
de uma base de dados especíca do dispositivo (conhecida como
), onde são centralizadas as informações necessárias para quanticar
e qualicar os recursos oferecidos pelo mesmo, além de suas limitações e atributos.
Mas para intermediar a comunicação entre uma entidade gerenciadora especíca e
os agentes de diversos
provenientes de fabricantes distintos,
é necessário denir uma linguagem em comum ou um padrão de dados estruturados de
forma que permitam uma comunicação entre a entidade e aqueles elementos, formando
um complexo sistema composto por equipamentos e sistemas heterogêneos. Esse método
de comunicação é denido por um
. Os elementos que
compõe essa estrutura se relacionam como mostrado a seguir:
Entidade Gerenciadora
Agente
Management Infor-
mation Base - MIB
Elementos Gerenciados
Protocolo de Gerenciamento
Figura 2.2: Elementos de um Sistema de Gerência de Redes
6
Supondo que um sistema genérico de gerência de redes tenha supercialmente,
exatamente o comportamento detalhado anteriormente, podemos inferir que a arquitetura
desse sistema seja composta basicamente por cinco elementos principais:
1.
Entidade Gerenciadora ou Gerente: é composto por um servidor pertencente
2.
Elementos Gerenciados: são quaisquer dispositivos físicos ou elementos lógicos
3.
Agente: é um software especial presente nos elementos gerenciados, podendo ele
4.
MIB (Management Information Base):
5.
à rede, seja ela centralizada ou distribuída (cada lial contem um cliente web da entidade gerenciadora, por exemplo), onde ele executa um software de gerenciamento
cuja função é solicitar, coletar e manipular informações dos elementos gerenciados
por meio do Agente, atendendo as requisições e consultas solicitadas pelo administrador da rede, de maneira síncrona e/ou assíncrona.
conectados na rede, passíveis de gerenciamento quando eles possuem um software
denominado Agente em seu sistema.
ser integrado ou separado do sistema operacional destes elementos, permitindo uma
coleta de informações diretamente na base de dados do dispositivo (conhecida como
MIB), seja apenas como consulta, seja para executar ou alterar parâmetros quando
solicitado pelo seu respectivo Gerente.
Base de Informações de Gerenciamento é a estrutura de dados que contem as informações gerenciais relevantes do
dispositivo, utilizadas na comunicação entre os Agentes e Gerente, por meio de um
protocolo de gerência. Essa estrutura de dados tem seu formato padronizado pela
Estrutura de Informações de Gerenciamento (SMI), e é representada em uma tabela
onde são armazenados os dados gerenciais do dispositivo, que serão consultados e
manipulados pelo Gerente.
Protocolo de Gerenciamento:
são protocolos que denem padrões baseados
na linguagem que o gerente e os agentes de diversos dispositivos distintos vão se
comunicar, de modo que o gerente consiga acessar todos os dispositivos da rede
para realizar todas as funções de gerenciamento necessárias.
Percebe-se que a junção desses elementos gera um sistema capaz de amparar o gerente
de rede de uma organização a realizar os procedimentos necessários para manter a rede
operando de forma satisfatória, com o auxilio de outras ferramentas diagnósticas e de
monitoramento como complemento a esse sistema de gerência principal. Veremos mais
detalhes a cerca dos protocolos de gerenciamento e as MIBs no Capítulo 3.
2.4 Áreas Funcionais de Gerenciamento de Redes
De fato, para manter a rede operando adequadamente, há muitos parâmetros e atributos relevantes que devem ser monitorados sistematicamente nos dispositivos de rede, que
irão variar dependendo das necessidades e o momento em que ela se apresenta. Denindo
assim as prioridades e modelos dos recursos que serão gerenciados constantemente e os
que serão agregados a esse processo gerencial a cada nova necessidade gerada acrescida
da variável tempo.
7
Historicamente, essa diversidade de parâmetros, recursos e cenários de redes diferentes,
dicultou um entendimento geral na modelagem de um padrão genérico a ser difundido
e referenciado por gerentes de redes nas organizações, anal os elementos de rede que
são essenciais para algumas delas podem ser irrelevantes a outras. Deste modo, tendo
em vista que apesar das diferenças organizacionais, ainda assim há muitos cenários que
são similares em suas especicidades em diversas organizações, gerando vários modelos a
serem empregados em redes Ethernet e de telecomunicações.
Assim, a International Organization for Standardization (ISO) gerou um modelo de
gerenciamento de rede baseado no modelo OSI, útil para representar cenários funcionais
em um padrão melhor estruturado, em redes Ethernet, conhecido como FCAPS (Fault,
Conguration, Accounting, Performance and Security). Esse modelo serviu como base
para vários outros por denir os processos funcionais no gerenciamento de redes, sendo
compatível com os protocolos de rede amplamente empregados, como o SNMP.
Veremos com mais detalhes cada uma dessas cinco áreas funcionais de gerenciamento
de redes, citadas por Kurose[5]:
1.
"Gerenciamento de Falhas: O objetivo do gerenciamento de falhas é registrar,
2.
Gerenciamento de conguração: O gerenciamento de conguração permite que
3.
Gerenciamento de Contabilização: O gerenciamento de contabilização permite
4.
Gerenciamento de Desempenho: A meta do gerenciamento de desempenho é
5.
Gerenciamento de Segurança: A meta do gerenciamento de segurança é con-
1A
linha entre gerenciamento de falhas e de desempenho é muito tênue
detectar e reagir às condições de falha da rede. A linha divisória entre gerenciamento
de falha e gerenciamento de desempenho é bastante indenida 1 . Podemos considerar
o gerenciamento de falhas como o tratamento imediato de falhas transitórias da
rede (por exemplo, interrupção de serviço em enlaces, hospedeiros, ou em hardware
e software de roteadores), enquanto o gerenciamento de desempenho adota uma
abordagem de longo prazo em relação ao desempenho da rede em face de demandas
variáveis de tráfego e falhas ocasionais na rede. Como acontece no gerenciamento
de desempenho, o SNMP tem um papel fundamental no gerenciamento de falhas.
um administrador de rede saiba quais dispositivos fazem parte da rede administrada
e quais são suas congurações de hardware e software. O [RFC 3139] oferece uma
visão geral de gerenciamento e requisitos de conguração para redes IP.
que o administrador de rede especique, registre e controle o acesso de usuários
e dispositivos aos recursos da rede. Quotas de utilização, cobrança por utilização
e alocação de acesso privilegiado a recursos que fazem parte do gerenciamento de
contabilização.
quanticar, medir, informar, analisar e controlar o desempenho (por exemplo, utilização e vazão) de diferentes componentes de rede. Entre esses componentes estão
dispositivos individuais (por exemplo, enlaces, roteadores e hospedeiros), bem como
abstrações m-a-m, como um trajeto pela rede. Veremos, em breve, que padrões
de protocolos como o SNMP [RFC 3410] desempenham um papel fundamental no
gerenciamento de desempenho da Internet.
trolar o acesso aos recursos da rede de acordo com alguma política denida. As
8
centrais de distribuição de chaves e as autoridades certicadoras são componentes
do gerenciamento de segurança. O uso de rewalls para monitorar e controlar pontos
externos de acesso à rede é outro componente crucial."
Neste projeto, esses modelos de gerenciamento serão utilizados de modo supercial
para amparar as metodologias de monitoramento e qualimetria que serão abordados em
capítulos posteriores, relativos às congurações de parâmetros de dispositivos gerenciáveis
e sistemas de gerenciamento.
2.5 Alguns Processos e Métodos da Gerência de Rede
Os conceitos e denições apresentados a partir da seção 2.2 deste capítulo introduzem
um embasamento teórico e agregam valores, permitindo uma noção de como os critérios
e processos do gerenciamento de redes são executados na prática.
Foi sugerido que gerenciar uma rede envolve basicamente o oferecimento e disponibilidade de serviços de forma que cumpra o acordo de nível de serviço (service level
agreement - SLA),com qualidade e ecácia, garantindo pelo menos a integridade das informações geradas nela e exibilidade para acessar essas informações, sendo todos esses
fatores adicionados a custos aceitáveis, como requisitos para satisfazer os clientes.
Pode-se entender que o ato de gerenciar uma rede envolve pelo menos três processos principais: monitorar, diagnosticar e controlar. O processo de monitoramento deve
ser denido por meio de critérios onde serão coletados dados de forma sistemática e
periódica, no intuito de gerar uma base de dados para analise, onde serão extraídas informações relevantes para o gerente. O processo de diagnóstico é feito pelo gerente de
forma automatizada ou por meio de um operador da rede, onde os dados coletados serão
devidamente analisados com o objetivo de detectar erros ou comportamentos anômalos,
além de suas origens e possíveis causas, permitindo uma possível remediação ou outra
tomada de atitude. O processo de controle envolve congurar dispositivos para suportar
recursos e serviços; remediar erros e parâmetros que não estejam em conformidade com
a rede; reparar equipamentos e serviços que não estejam executando ou desempenhando
suas funções de acordo com o esperado; prever novos dispositivos e recursos para suportarem o crescimento físico da organização ou alguma atualização tecnológica; ou seja,
todas as medidas cabíveis para satisfazer as exigências operacionais, de desempenho e de
qualidade da organização.
Há basicamente duas maneiras de gerenciar uma rede: de modo pró-ativo ou reativo.
Idealmente, agir proativamente reduz consideravelmente problemas inoportunos, prevendo
incidentes e novas necessidades de recursos, agilizando os processos de remediação quando
detectados com uma boa antecedência, permitindo assim uma maior manipulação de dados
relevantes, e gerando uma documentação mais elaborada além de uma melhor qualidade
de serviço. Porém, para possibilitar esse ambiente otimizado, são necessárias diversas
ferramentas e recursos, além de pessoal capacitado para operá-las, exigindo um investimento bem elevado. Já o modo reativo, apesar de geralmente ser amparado por sistemas
de gerencias mais simples, visa à reparação e remediação de erros e inconformidades à
medida que eles vão surgindo. é um método que pode ser ecaz quando amparado por
procedimentos e técnicas bem denidas, e com o auxilio de sistemas de gerência e alarmes,
9
podem solucionar problemas impactando minimamente os usuários e operar a rede com
um nível aceitável de qualidade de serviço.
Por motivos óbvios evitaremos expor neste documento técnicas, softwares e procedimentos genéricos de forma imperativa, pois já percebemos que cada organização exige
critérios e níveis de gerenciamento distintos para atender as suas necessidades.
Buscaremos por meio de alguns softwares de gerência e outros aplicativos freewares,
implementar e testar sua capacidade de gerenciamento diante de dispositivos de redes
aleatórios. Visando assim demonstrar a possibilidade de utilizar essas ferramentas de
forma integrada para gerenciar, diagnosticar e relatar informações diversas, desde que
haja uma permissão de acesso mínimo relativo aos dispositivos de uma rede especíca
sem comprometer ou violar regras de segurança que regem a mesma.
Então, neste capítulo, é possível entender as denições da gerência de redes, bem como
as atividades, métodos e procedimentos envolvidos, como a operação, a administração,
a manutenção, o provisionamento de redes e as áreas funcionais no gerenciamento de
redes (FCAPS). Outro fator importante apresentado neste capítulo se refere aos elementos que compõem a estrutura de um sistema de gerência, entre eles estão os Elementos
Gerenciados, a Entidade Gerenciadora, o Agente dos dispositivos, a MIB e o Protocolo
de Gerenciamento.
10
Capítulo 3
Protocolos e Padrões de Gerenciamento
3.1 Visão Geral
Com base no capítulo anterior, percebe-se que um dos elementos mais importantes
no gerenciamento de redes são os Protocolos de Gerenciamento, pois é a partir deles
que se torna viável gerenciar diversos dispositivos de rede com arquiteturas e softwares
heterogêneos, provenientes de fabricantes distintos. Esses protocolos denem regras para
que os elementos envolvidos na gerência de redes troquem informações gerenciais entre si.
Os protocolos de gerenciamento de redes mais conhecidos são o protocolo
para
redes baseadas no modelo TCP/IP (Transmission Control Protocol/ Internet Protocol ) e
o protocolo
(Common Management Service Element/Common Manage-
SNMP
CMISE/CMIP
ment Information Protocol Elemento de Serviço de Gerenciamento Comum/Protocolo de
Informação de Gerenciamento Comum ) baseado no modelo OSI (Open System Interconnections ) [14].
Como o escopo deste projeto visa gerenciar LANs heterogêneas e/ou MANs dispersas
geogracamente por meio da Internet, utilizaremos como base a estrutura de gerência
padrão mais usada no mundo, o Internet-Standard Network Management Framework.
Este padrão descreve o protocolo de gerência, e também um conjunto de regras que são
usadas para denir as informações de gerência, além de um conjunto inicial de informações
gerenciais disponíveis para serem utilizadas [16], citado em [6].
Por ser usado para gerenciamento de redes na Internet, o Internet-Standard Network
Management Framework é baseado no modelo TCP/IP e utiliza o SNMP como protocolo
de gerenciamento padrão. Essa estrutura é denida basicamente por três documentos:
• RFC 1155, "Structure and identication of management information for TCP/Ip
based internets"(SMI)
• RFC 1213, "Management Information Base for network management of TCP/IP
based internets: MIB-II"
• RFC 1157, "A Simple Network Management Protocol (SNMP)"
Sendo um protocolo amplamente difundido e teoricamente simples de ser implementado como relata sua denição, o SNMP (Simple Network Management Protocol) será
utilizado como o padrão de protocolo de gerenciamento deste projeto, sendo ele essencial
11
para atingir os objetivos deste. Veremos nas seções posteriores alguns conceitos relativos
a esse protocolo e alguns dos elementos que o denem.
3.2 Simple Network Management Protocol (SNMP)
O protocolo SNMP (Protocolo Simples de Gerenciamento de Rede) surgiu por volta
de 1988 devido à necessidade cada vez maior de um padrão para gerenciar os dispositivos
de IP [8]. Ele foi criado com base no seu antecessor SGMP (Simple Gateway Monitoring
Protocol), que foi projetado por um grupo de pesquisadores, usuários e administradores
universitários de rede, cuja experiência com esse protocolo permitiu que eles projetassem,
implementassem e oferecessem o SNMP em poucos meses [7], um feito muito distante dos
processos de padronizações atuais, que são bastante prolongados. Desde então, o SNMP
evoluiu do SNMPv1 para o SNMPv2 e chegou à sua versão mais recente, o SNMPv3
[RFC3410], lançada em abril de 1999 [5].
O SNMP atua provendo aos usuários um mecanismo para gerenciar não apenas ativos
de rede, mas também hosts e outros elementos que compõe essa rede, tais como servidores
físicos, aplicações diversas, bancos de dados, racks, fontes de energia e qualquer outro
software e hardware passível de gerenciamento remoto por meio de um agente que vem
integrado ao sistema operacional do dispositivo.
Normalmente o NMS responsável pelo monitoramento da rede, gerencia os elementos
que a compõe usando o SNMP para enviar um conjunto de operações de leitura (consultas)
e escrita (comandos) para um agente previamente congurado no dispositivo, no intuito de
extrair ou alterar as informações gerenciáveis desse dispositivo, concentradas num objeto
MIB. Esses processos de executar regularmente, dado um intervalo de tempo, operações
de consulta e escrita nos agentes, são denominados como polling (poller) no contexto de
gerenciamento de redes [8].
Como o SNMP em si não é capaz de interpretar as informações gerenciáveis trocadas
entre NMS e agentes para saber quando há alguma anormalidade na rede, é necessário
que o agente possa emitir alertas via SNMP, denominadas como Traps, para ser analisada
pelo NMS/gerente independente da requisição destes, para relatar condições extremas do
dispositivo de rede possibilitando uma tomada de atitude pelos gerentes. Ou seja, as
Traps são utilizadas para noticar o gerente sobre a ocorrência de eventos de extrema
relevância e são enviadas de modo assíncrono, mesmo sem requisição do gerente, sendo o
NMS responsável por interpretar a gravidade dessas informações relatadas nas Traps.
O SNMP pode utilizar diferentes protocolos de transporte para intermediar a comunicação das informações gerenciáveis entre Gerentes e Agentes, tais como o UDP [RFC
768], Apple Talk [RFC 1419] e IPX [RFC 1420]. Apesar de o SNMP ter sido implementado através do TCP para permitir uma conexão orientada ponto a ponto e conável, ele
acabou utilizando o TCP apenas para as situações de casos especiais em que alguém esta
desenvolvendo um agente para um equipamento proprietário [8], pois apesar da conabilidade na comunicação, este protocolo pode onerar uma rede que já trabalha a todo vapor
ao car retransmitindo pacote perdidos e mantendo conexões persistentes .
Por isso o protocolo mais utilizado é o UDP, sendo um protocolo de transporte não
orientado a conexão, exigindo assim menos recursos (processamento, banda, memória) dos
dispositivos de rede que podem estar sobrecarregados devido ao uso intenso da rede pelos
usuários e serviços, mesmo perdendo em conabilidade por não checar os datagramas
12
perdidos no nível do protocolo [8]. Deve-se saber também que por padrão, os agentes
enviam as mensagens SNMP Trap via UDP para a porta 162 do NMS, e utiliza a porta
161 para todas as outras operações do SNMP, conforme demonstrado na gura 3.1:
Figura 3.1: Modelo de Comunicação por TCP/IP e o SNMP [8]
3.2.1 Versões SNMP
Nesta seção, veremos sucintamente algumas das características principais das versões
do SNMP, no intuito de analisar a evolução desse protocolo.
•
•
SNMPv1
é a versão padrão inicial do SNMP, denida na [RFC 1157] e é um padrão
completo da IETF. A segurança do SNMPv1 baseia-se em comunidades, que não são
nada mais do que senhas: strings de texto puro que permite que qualquer aplicativo
baseado em SNMP (que reconheça a string) tenha acesso limitado a informações
de gerenciamento de um dispositivo. Geralmente, existem três comunidades no
SNMPv1: read-only, read-write e trap [8].
SNMPv2
O SNMPv2 é conhecido também como SNMPv2c numa denominação
mais técnica e também é baseado em strings de comunidade como a primeira versão.
Ela está denida na [RFC 1905], [RFC 1906], [RFC 1907] e [RFC 1905], sendo esta
última referente a coexistência entre a versão 1 e 2 do SNMP. Ela trabalha com os
mesmo tipos de mensagens utilizadas na versão anterior, conhecidas genericamente
como PDUs (protocol data units) [5], sendo mais eciente e agregando novas funções
como o GetBulkRequest e a SNMPv2-Trap.
13
•
SNMPv3
- é a última versão do protocolo a alcançar o status standard da IETF e o
primeiro a implementar de fato segurança no processo de gerenciamento. Ele inclui
suporte para autenticação rigorosa checando a procedência dos PDUs, comunicação
privativa por meio de criptograa nos pacotes transmitidos entre as entidades gerenciadas além de suportar as operações e consultas das versões anteriores. Para isso,
ele utiliza o
, denido na [RFC 3414], solicitando uma chave secreta deste e
combinando-a com uma função de hash como o algoritmo
ou
, e utilizando o algoritmo
ou
para cifrar e decifrar as mensagens privadas trocadas entre o NMS e os agentes.
modelo de segurança baseada em usuário (User-Based Security Model - USM)
MD5 (Message-Digest
algorithm 5) SHA (Secure Hash Algorithm)
DES
(Data Encryption Standard) AES (Advanced Encryption Standard)
3.2.2 Comandos Básicos SNMP
Para entender melhor a atuação deste protocolo verique abaixo alguns exemplos de
PDUs denidos pelo SNMPv2 e os principais tipos de mensagens trocadas entre o NMS
e os agentes. São basicamente quatro tipos de comandos: read (leitura), write (escrita),
trap (alarmes), e operações transversais:
read
• O tipo write é usado pelo NMS para denir ou alterar as informações nas tabelas
de variáveis dos objetos MIB, por meio dos agentes dos dispositivos gerenciáveis.
• O tipo trap é usado pelo agente dos dispositivos gerenciáveis para reportar algum
• O tipo
é usado pelo NMS para realizar consultas nos agentes dos dispositivos
gerenciáveis, buscando as informações nas tabelas de variáveis dos objetos MIB.
evento excepcional ao NMS, que deverá tratar e denir a severidade da informação
recebida.
•
Operações Transversais são usadas pelo NMS para determinar quais variáveis
um dispositivo gerenciável suporta e para recolher ordenadamente informações nas
tabelas de variáveis dos objetos MIB [15].
Dentre os tipos de comandos citados, veja exemplos de PDUs SNMPv2 segundo
Kurose[5]:
Tipo de PDU SNMPv2 Remetente-Receptor
GetRequest
GetNextRequestt
GetBulkRequest
InformRequest
SetRequest
Response
SNMPv2-Trap
Gerente a agente
Gerente a agente
Gerente a agente
Gerente a gerente
Gerente a agente
Agente a gerente
Agente a gerente
Tabela 3.1: Tipos de SNMPv2-PDUs [5]
14
As PDUs GetRequest, GetNextRequest e GetBulkRequest são requisições enviadas pelo
NMS ao agente de um dispositivo gerenciado, com o intuito de coletar informações das
variáveis dos módulos MIB deste. Essas PDUs de requisição diferem apenas no nível de
especicação da coleta, sendo que o GetRequest pode coletar uma ou mais instâncias do
objeto MIB, o GetNextRequest também faz a coleta de uma ou mais instâncias do objeto
MIB só que de forma sequencial, e a GetBulkRequest pode coletar essas informações em
lotes, ou seja, em grandes blocos de dados evitando sobrecarga de requisições na rede.
A PDU Response é gerada em resposta as PDUs de requisição enviadas pela entidade
gerenciadora, enquanto a PDU InformRequest é utilizada por um NMS para informar
outra entidade gerenciadora remota as informações coletadas na MIB de algum dispositivo.
A PDU SetRequest é um comando enviado pelo NMS ao agente de um dispositivo
gerenciado, visando denir ou alterar a variável de algum campo correspondente ao módulo MIB solicitado [5]. E por m, a PDU SNMPv2-TRAP enviada pelo agente do
dispositivo ao NMS, é responsável por enviar alertas informando eventos excepcionais
ocorridos nos dispositivos gerenciados, para serem tratados e remediados pela equipe de
gerência da rede em questão.
É possível encontrar mais detalhes em relação aos comandos, estrutura das PDUs e
as versões do SNMP, em referências aprofundadas como Stallings [14] e Kurose [5].
3.3 Management Information Base (MIB)
A Base de Informações de Gerenciamento é uma coleção de informações organizadas
hierarquicamente que denem as propriedades do dispositivo gerenciado, sendo especicadas e estruturadas utilizando como padrão o modelo SMI. As MIBs são acessadas
pelos agentes dos dispositivos por meio do protocolo SNMP, sendo compostas por objetos
gerenciáveis agrupados em módulos MIB e classicadas por identicadores de objetos.
Os objetos gerenciáveis são compostos por uma ou mais instâncias de objetos, sendo
essencialmente variáveis que reetem em conjunto o estado de um dispositivo. Existem
dois tipos de objetos gerenciáveis: os escalares e tabulares. Os objetos escalares denem
uma única instância de objeto, enquanto os objetos tabulares denem múltiplas instâncias
de objetos relacionados que são agrupadas em tabelas MIB.
Os identicadores de objeto (ou Id do objeto) identica unicamente um objeto gerenciável na hierarquia MIB, que é representada por uma árvore de identicadores de objetos
adotada pela ISO, a ANS.1, sendo que cada nível da árvore tem um nome e um número
associado a diferentes organizações e entidades de padronização. Deste modo, é possível encontrar qualquer módulo MIB presente nessa estrutura de nomeação percorrendo
sequencialmente o trajeto de nomes e números a partir da raiz da árvore, até o ramo
associado ao objeto.
No topo da árvore estão denidas as duas principais entidades de padronização, a
ISO(1) e o ITU-T(0). Já os níveis mais baixos são alocados para organizações associadas
e vendedores de dispositivos de rede já padronizados, enquanto as MIBs que não foram
padronizadas podem ser alocadas em um ramo experimental.
É interessante saber também que um agente pode implementar várias MIBs distintas,
mas todo o agente tem que implementar uma MIB especíca denominada MIB-II [RFC
1213]. Esse padrão dene variáveis para elementos como dados estatísticos de uma interface, assim como alguns outros aspectos relacionados a informações do próprio sistema,
15
como localização, contato, fabricante, etc. O principal objetivo da MIB-II é fornecer informações gerais sobre gerenciamento de TCP/IP, tentando englobar pelo menos os itens
essenciais para um gerenciamento efetivo, mas não sendo ecaz em itens mais especícos
do dispositivo gerenciado [8].
Figura 3.2: Árvore de identicadores de objetos ASN.1 [5]
3.4 Structure of Management Information (SMI)
A Estrutura de Informações de Gerenciamento é uma linguagem usada para denir
a estrutura de informações de gerenciamento de objetos gerenciáveis e seus respectivos
comportamentos. A SMI é baseada na linguagem de denição de objetos ASN.1, sendo
necessária para assegurar que a sintaxe e semântica dos dados de gerenciamento de rede
sejam bem denidas e não apresentem ambiguidade[5].
O conceito de SMI é similar ao de MIB, para entender a diferença entre eles, veja
a denição dada por Mauro [8]: A SMI é um método para denir objetos gerenciados,
enquanto a MIB é a denição (por meio da sintaxe da SMI) dos próprios objetos. Como
um dicionário, que mostra como pronunciar uma palavra e, em seguida, apresenta o
signicado ou a denição dessa mesma palavra, uma MIB dene um nome em texto de
um objeto gerenciado e explica o seu signicado.
3.5 ASN.1
A ASN.1 é um padrão originado na ISO, sendo utilizado por diversos protocolos relacionados à Internet, especialmente no que se refere a gerenciamento de redes. Além de
fornecer uma linguagem de descrição de dados, a ASN.1 oferece Regras Básicas de Codicação ( Basic Encoding Rules - BERs), que especicam como instâncias de objetos que
16
foram denidas usando a linguagem de descrição de dados ASN.1 devem se comportar ao
trafegar pela rede [5].
3.6 Remote Network Monitoring (RMON)
Como a proposta deste projeto exige um conjunto de sistemas, ferramentas e protocolos não muito complexos, para que sejam efetivos nos recursos básicos que pretendemos
oferecer por meio do produto gerado por este projeto. Então apenas citaremos o objetivo
do RMON sem nos aprofundarmos no assunto.
O SNMP quando bem implementado junto ao NMS permite um bom gerenciamento
da rede, porém ele peca no requisito de visão da rede como um sistema maior, composto
por vários sistemas e dispositivos heterogêneos, focando mais em monitorar os elementos
de rede de forma isolada. Por isso, o comitê do IETF sentiu a necessidade de um padrão
de gerenciamento de redes mais elaborado e eciente, permitindo um gerenciamento de
rede mais detalhado.
Esse aspecto do gerenciamento de rede gerido pelo Remote Network Monitoring (RMON)
visa monitorar os elementos da rede como um todo, ou seja, monitorar uma rede inteira
em vez de componentes individuais, como roteadores, hosts e outros dispositivos de rede.
O RMON foi desenvolvido para ajudar a entender o funcionamento da própria rede, e
como os dispositivos individuais afetam a rede em sua totalidade. E possível utilizá-lo
para monitorar não somente o tráfego de LAN, como também as interfaces de WAN [8].
Por meio deste capítulo, foram aprofundados os protocolos e padrões envolvidos no
processo de gerenciamento de redes baseadas em TCP/IP. Assim, foram detalhadas as
principais características do protocolo SNMP e suas três versões (v1, v2c e v3), além de
especicar algumas PDUs destas versões e suas funcionalidades. Também foram abordados de forma básica, como o padrão ASN.1 foi utilizado como base para a estrutura
SMI, para desenvolver protocolos de gerenciamento e denir a base de informações de
gerenciamento de dispositivos de redes (MIB). Já o protocolo RMON foi comentado supercialmente, no intuito de demonstrar as limitações do SNMP no gerenciamento da
rede como um todo.
17
Capítulo 4
NMS e Ferramentas de Rede
Sabendo da variedade de dispositivos de redes disponíveis no mercado atualmente, e
observando a diversidade de dispositivos e aplicativos que compõe a rede de uma organização, escolher um NMS que possa atender os principais requisitos dos gerentes e consiga
abranger a maior parte destes elementos, torna-se um desao cada vez mais complexo.
Deste modo, para manter certo nível de qualidade quanto ao gerenciamento da rede,
caso não haja possibilidade de adquirir uma suíte de NMS completa, surge à necessidade de
integração entre Entidades Gerenciadoras de acordo com suas funcionalidades principais,
somadas a ferramentas de rede auxiliares. Assim, ao selecionar um NMS que proverá a
gerência na rede da organização, deve-se fundamentar essa escolha baseada na capacidade
de interoperatividade com múltiplos sistemas e dispositivos heterogêneos, bem como sua
viabilidade operacional e recursos humanos capacitados a manipulá-las.
Mesmo considerando essas variáveis, se o projeto não for bem denido quanto as suas
metas e padrões, não há garantias de que todos os elementos da rede serão englobados
ao processo de gerenciamento ou se irão se comportar de acordo com o esperado na
implementação deste. Para tentar resolver problemas gerenciais como este, vale usar
todos os recursos disponíveis, inclusive adaptar o agente do elemento de rede para que
responda as solicitações corretamente, usar mais de um tipo diferente de NMS, inserir
algumas ferramentas como analisadores de trafego e protocolos, alem de usar comandos
como o pathping, traceroute e netstat que são nativos em vários sistemas operacionais
para complementar o processo e o sistema de gerenciamento.
Tendo como base os conceitos vistos até agora, este capítulo será focado na apresentação de alguns NMS de plataforma livre e outras ferramentas projetadas para diagnosticar e corrigir problemas de rede mais simples, amparando a entidade gerenciadora
no processo de gerenciamento. Essa demonstração será orientada a avaliar as principais
características dos NMS selecionados, com base nos seguintes requisitos: Plataformas,
Licenças, e Requisitos de Hardware e Software.
4.1 NMS Cacti
Cacti é uma solução gráca de rede completa, projetada para prover uma interface
amigável e aproveitar os recursos do RRDTool's, que é um sistema baseado em comando de
linha que armazena e gera vários tipos de informações em grácos [9]. O Cacti proporciona
um poller veloz, templates grácos avançados, vários métodos de aquisição de dados, e
18
recursos de gerenciamento de usuários "fora da caixa". Tudo isso é envolto por uma
interface intuitiva, facilmente utilizada para abranger desde pequenas LANs até rede
mais complexas com centenas de dispositivos [1]. Sua arquitetura prevê a possibilidade
de expansão através de plugins que adicionam novas funcionalidades.
Figura 4.1: Logo Cacti
Plataformas: Windows e Linux
2. Licença: Cacti é baseado sob licença GNU (General Public Licence), sendo com1.
pletamente livre, sem amarras. Sendo aberto a doações pelos simpatizantes da
ferramenta, no intuito de incentivar no aprimoramento da mesma.
3.
Requisitos de Software:
• RRDTool 1.0.49 or 1.2.x or greater
• MySQL 4.1.x or 5.x or greater
• PHP 4.3.6 or greater, 5.x greater highly recommended for advanced features
• A Web Server e.g. Apache or IIS
4.2 NMS Nagios
Nagios é um sistema de monitoramento de rede e de aplicação. Ele monitora os recursos
de hosts e serviços especicados pelo gerente, e envia alertas de noticação quando ocorrem
eventos relevantes, alem de rodízio automático de logs [4]
Figura 4.2: Logo Nagios
Plataformas: Linux e Unix
2. Licença: Nagios é licenciado sob os termos da GNU General Public License versão
1.
2 conforme publicada pela Free Software Foundation. Isso lhe dá permissão legal
para copiar, distribuir e/ou modicar Nagios sob certas condições. Leia o arquivo
'licença' na distribuição Nagios ou ler a versão online da licença para mais detalhes.
3.
Requisitos de Hardware Software:
Se desejar usar o Nagios sem seus complementos, é necessário apenas estar sendo executado em plataforma Linux com
um Compilador C. Caso queira usar os CGIs que acompanham o Nagios, deve-se
instalar e congurar um Servidor Web (de preferência o Apache), e a biblioteca
Thomas Boutell's gd versão 1.6.3 ou maior (pré requisitos para o "statusmap"e
"trends"CGIs).
19
4.3 NMS Zabbix
Zabbix é um sistema de monitoramento criado por Alexei Vladishev, que suporta
polling e trapping, e pode monitorar tanto ativos de rede quanto aplicações por meio de
uma ferramenta Web que é o front-end do produto. Deste modo o gerente pode averiguar
o status da rede e dos serviços de qualquer localização com Internet disponível, seja essa
rede de uma organização pequena ou uma grande empresa com centenas de servidores[12].
Figura 4.3: Logo Zabbix
Plataformas: Linux e Unix
2. Licença: Zabbix é desenvolvido e distribuído de acordo com a GPL General Public
1.
License versão 2. Isso signica que seu código-fonte é distribuído gratuitamente e
está disponível para o público em geral. O suporte comercial está disponível e é
fornecido pela Zabbix Company.
3.
Requisitos de Hardware Software:
Zabbix Server pode ser executado nas
plataformas AIX, FreeBSD, HP-UX, Linux, Mac OS X, Open BSD, SCO Open
Server, Solaris, Tru64/OSF. Já o Agente Zabbix alem de ser compatível com as
mesmas plataformas do Zabbix Server, pode ser congurado também na plataforma
Microsoft Windows e Novell Netware.
Quanto aos requisitos de hardware é recomendado disponibilizar 100 MB em espaço
de disco, 256 MB de memória RAM, e processador Pentium IV ou equivalente.
4.4 Outras Ferramentas
Nesta seção estarão disponíveis algumas ferramentas de conectividade que possam vir
a auxiliar o gerente de uma rede a remediar problemas mais comuns encontrados numa
organização.
4.4.1 XAMPP
O XAMPP é uma compilação de softwares livres licenciado sob os termos do GNU,
sendo que cada letra signica os seguintes termos respectivamente: X (relativo ao Sistema
Operacional utilizado), Apache, MySQL, PHP, Perl [11].
Figura 4.4: Logo Xampp
Apesar desta ferramenta não prover funcionalidades de monitoramento de rede, ela é
essencial para o propósito deste projeto, pois prove um servidor web apache e um banco
20
de dados MySQL, o qual tentaremos integrar com algum dos sistemas de monitoramento
vistos neste capítulo. Para esse propósito tentaremos utilizar a versão portátil deste
aplicativo.
4.5 Comparando os NMS
Será demonstrada nesta seção, uma breve comparação entre o Cacti, Nagios e Zabbix,
deixando claro a escolha do NMS para esse projeto, que será baseado na plataforma
Windows.
Figura 4.5: Comparação entre os NMS
4.6 Estrutura do Kit de Gerência Portátil
Para fechar este capítulo, será demonstrada a estrutura do Kit que será implementado
num momento posterior, contendo a relação entre os elementos gerenciáveis e o NMS,
bem como introduzir uma idéia inicial de um laboratório para validar as funcionalidades
do Kit.
Como o ambiente será baseado na plataforma Windows, será instalado num pen drive
o Xampp para Windows no modo portátil, e posteriormente serão implementados o NMS
Cacti junto com os aplicativos necessários para que o Kit funcione plenamente. Desta
forma, os aplicativos dos quais o sistema de gerência implementado depende, todos de
licença GNU/GPL, são o RRDTool , o Net-SNMP e o Spine (opcional). Veja as funções
destes aplicativos a seguir:
21
•
Spine: é um aplicativo desenvolvido para o Cacti que tem como função executar via
SNMP, periódicamente, operações de leitura e escrita nos dispositivos gerenciados
(poller ). Ele foi implementado para ser mais ágil e robusto que o poller padrão do
Cacti (o cmd.php ), sendo assim, ligado diretamente à biblioteca do Net-SNMP.
•
•
RRDTool: ferramenta responsável por armazenar séries de dados numéricos em
uma base de dados round-robin, coletando as informações e gerando em arquivos
RRD (round-robin database ), grácos relativos ao estado de dispositivos gerenciáveis.
Net-SNMP: é uma suíte composta por um conjunto de aplicações executadas via
linha de comando, para implementar os processos e operações do protocolo SNMP,
provendo uma biblioteca para o desenvolvimento de novas aplicações SMNP (API
para C e Perl), além fornecer um agente extensível e um deamon para receber traps.
Com esses aplicativos integrados, o Cacti poderá realizar de modo coordenado as
consultas nos dispositivos via SNMP (Net-SNMP), de acordo com o período denido pelo
poller Spine, retornando como resultado os grácos gerados em arquivos RRD provenientes
do RRDTool. Verique o esboço do ambiente de validação do Kit na gura 4.6.
Figura 4.6: Relacionamento entre o NMS Cacti e os elementos gerenciáveis
22
Capítulo 5
Implementação e Utilização do Kit
Neste ponto do projeto surgem questionamentos sobre o objetivo deste, pois os NMS
citados até agora já são utilizados por diversos usuários em nível mundial e apresentam
versões estáveis com vários recursos adicionais e plugins que elevam seu poder funcional.
Mesmo assim, muitas organizações não têm conhecimento de como utilizar esses recursos
de plataforma livre ou preferem adotar NMS proprietários para obter garantias e suporte
dos fornecedores, adiando aquisições ou investimentos em recursos humanos que poderiam
capacitá-los a gerenciarem sua própria rede.
Logo, com base nos conceitos e objetos apresentados até este capítulo, é necessário
reaver o objetivo deste projeto e questionar a viabilidade e soluções que o mesmo pretende
oferecer. Então quais seriam as vantagens em desenvolver um Kit de Gerência Portátil?
Primeiramente, ao se esboçar os métodos e procedimentos de instalação e conguração
de uma ferramenta, é possível desmisticar a complexidade de como implementar e utilizála, possibilitando que ela se torne mais acessível a um maior número de usuários.
Pelo Kit ser em sua essência portátil, ele pode ser usado como um produto ou ferramenta por usuários quaisquer que desejem gerenciar uma rede, eliminando assim variáveis
de procedimentos relativos à instalação e conguração de NMS em servidores físicos. Ou
seja, gerando exibilidade e agilidade no processo de gerenciamento de outros dispositivos
ou redes, já que NMS não tem sua conguração xada em um servidor físico.
Outra vantagem bem signicante, é o fato de selecionar apenas ferramentas livres
para incrementar o Kit, possibilitando diversas possibilidades de interação e integração de
softwares voltados para redes e permitindo certa independência de Sistemas Operacionais.
De fato, há diversos motivos que tornam viáveis a elaboração deste produto, mas o
mais importante é entender a innidade de possibilidades de como podem ser utilizados
essas ferramentas para agregar funcionalidades ou solucionar problemas de forma exível
e criativa. Provendo também, uma interface para que os usuários possam aprimorar o
conhecimento teórico adquirido, implementando estes conceitos na prática, incluindo em
um ambiente real em produção.
5.1 Requisitos e métodos
Para criar o kit de Gerência Portátil poderemos utilizar ferramentas de rede variadas
com o objetivo de complementar as funcionalidades oferecidas pelo NMS selecionado para
a implementação deste kit. Foram abordados supercialmente alguns NMS no capítulo 4,
23
e pela simplicidade e provável compatibilidade com o servidor web Xampp, utilizaremos o
CACTI na tentativa de congurá-lo neste servidor web que será disposto num pen drive,
de forma que seja possível utilizar os recursos deste NMS como um aplicativo portátil.
Visto a variedade de software e hardware que são envolvidos no processo de gerenciamento de redes e tendo em mente o objetivo deste projeto, deniremos alguns recursos
que serão utilizados sistematicamente, de forma experimental, na elaboração deste kit:
• Plataforma Windows XP SP2 ou superior;
• Dispositivos quaisquer de rede compatíveis com SNMP e congurados;
• Pen Drive com interface USB 2.0 e capacidade acima de 1GB;
• Browser Mozilla Firefox 3.6; [3]
• Xampp para Windows 1.7.3; [11]
• Cacti-0.8.7g;
• Net-snmp-5.5.0-1.x86;
• RRDtool-1.2.15-cygwin-1.5.20;
• Cacti-spine-0.8.7g.
5.2 Implementando o Kit de Gerência Portátil
Será demonstrada a elaboração do Kit passo a passo de forma que cada ferramenta que
tenha interdependência de outras ferramentas tenha seus requisitos previamente atendidos
e implementados na ordem correta, caso haja necessidade. Os procedimentos de instalação do Cacti serão baseados no manual encontrado no endereço ocial da ferramenta:
'http://docs.cacti.net/manual:087:1_installation.2_install_windows'.
5.2.1 Congurando o Xampp no Pen Drive
'xampp-win32-1.7.3.zip'
Baixe a versão
no site 'www.apachefriends.org/pt_br/xamppwindows.html' para congurar posteriormente o Xampp no pen drive, de forma que se
torne portátil. Após baixar o arquivo, extraia o arquivo zip na raiz do pen drive previamente formatado no sistema de arquivos FAT 32.
Finalizada a extração, procure e execute o arquivo
, localizado
no diretório \xampp, para iniciar a conguração deste servidor web.
'setup_xampp.bat'
24
Figura 5.1: Diretório do Xampp na raiz do Pen Drive
Ao executar o setup, surgirá a tela do prompt de comando (cmd.exe), questionando
se ele deve criar atalhos do Xampp no Menu Iniciar e no Desktop. Escolha
pois não
pretendemos criar associações com o sistema já que ele será congurado no modo portátil.
"n"
Figura 5.2: Tela inicial do Setup do Xampp
Nesta etapa ele solicita conrmação do caminho de instalação, previamente denido
pelo Xampp. Conrme com
e siga para a próxima etapa.
"y"
25
Figura 5.3: Denindo o diretório de instalação do Xampp
Esta é a etapa mais importante da conguração, onde o processo de instalação solicita
que o usuário escolha se o Xampp será portátil, ou seja, sem mapeamento de drivers. Devese inserir a escolha como
para que ele termine a instalação do aplicativo no modo
portátil, caso escolha 'não', ele irá mapear o drive para o Xampp em algum diretório do
host onde ele está sendo congurado. Verique o processo de instalação na gura abaixo e
veja a conrmação do status do Xampp, que deverá estar pronto para ser usado. Pressione
a tecla
após o mesmo nalizar a instalação
"y"
Enter
Figura 5.4: Denindo o Xampp no modo portátil
Com o Xampp já instalado, esta ultima etapa informa o timezone selecionado e solicita
que o usuário altere a conguração se necessário. Avance esta etapa com a tecla
.
Enter
26
Figura 5.5: Congurando o fuso horário do servidor
Nesta ultima tela serão visualizadas as opções disponíveis no Xampp, insira o número
como comando para habilitar somente o protocolo Ipv4, e então saia deste modo de
comando inserindo
para nalizar.
"5"
'x'
Figura 5.6: Tela com as opções de conguração do Xampp
Concluído o processo de instalação do Xampp no pen drive, selecione com o botão
direito o diretório \xampp e acione Propriedades. Verique se o diretório está com o
Atributo
selecionado, caso esteja desmarque esse atributo e aplique a
alteração.
'Arquivo Morto'
27
Figura 5.7: Retirando o atributo Arquivo Morto do arquivo
No intuito de preparar o ambiente do Xampp para hospedar os serviços do Cacti e
outros recursos, serão necessárias algumas alterações em arquivos chaves do aplicativo.
Entre no diretório \xampp\php\ e abra o arquivo
para edição. Com o arquivo
selecionado, procure os seguintes recursos no documento (sugestão: Ctrl + F no Bloco de
Notas), sejam para descomentar alguns destes retirando o pontovirgula dos parâmetros
precedidos pelo mesmo, seja para alteração de atributo devendo car exatamente como
os parâmetros abaixo:
'php.ini'
Lista de Parâmetros do php.ini
extension_dir = "\xampp\php\ext"
extension=php_sockets.dll
le_uploads = On
mysql.connect_timeout = 120
mssql.compatability_mode = On
extension=php_snmp.dll
cgi.force_redirect = 0
upload_max_lesize = 128M
mysql.trace_mode = On
mysql.default_port = 3306
Tabela 5.1: Lista de Parâmetros
Figura 5.8: Ajustando os parâmetros do php.ini
28
'php.ini'
'httpd.conf'
'AddType'
application/x-httpd-php .php'
Após as alterações no arquivo
salve e feche o arquivo. Procure e abra para
edição o arquivo
, encontrado no diretório \xampp\apache\conf. Procure
onde estão localizados os argumentos
no arquivo e insira a string
conforme a gura, e então salve e feche o arquivo.
'AddType
Figura 5.9: Adicionando recursos no arquivo httpd.conf
Haverá outras congurações no Xampp e em seu banco de dados, porém nesta etapa focaremos na instalação do Net-Snmp para nalizar os arquivos e aplicativos base do kit. Vá
ao site 'http://sourceforge.net/projects/net-snmp/les/net-snmp binaries/5.5-binaries/' e
baixe o executável
. Copie o executável para a raiz do pen drive
e o execute.
'net-snmp-5.5.0-1.x86'
Figura 5.10: Iniciando a instalação do NetSNMP
Ao acionar o instalador, selecione avançar nas congurações padrão até encontrar a tela
Choose Components. Então selecione os seguintes componentes adicionais para prosseguir
a instalação: Marque a caixa
e deixe as que já estavam marcadas
selecionadas, e avance para próxima etapa.
'Development les'
29
Figura 5.11: Selecionando os componentes do NetSNMP
Ao avançar para tela Choose Install Location, o programa solicitará que seja informado
o diretório de destino da instalação. Escolha a raiz do pen drive e prossiga a instalação.
Figura 5.12: Denindo o local de instalação
Ao chegar à tela Choose Start Menu Folder, digite o endereço \usr\SNMP e acione
o botão
para nalizar a instalação do conjunto de aplicativos do Net-SNMP.
O diretório \usr é criado pelo aplicativo para armazenar o conjunto de executáveis do
Net-Snmp.
'Install'
30
Figura 5.13: Denindo a opção de inicialização
Para nalizar esta seção transra o instalador para o diretório recém criado \usr e
abra o arquivo
no diretório \usr\bin para alteração. No arquivo
localize os seguintes argumentos e
o apontador
apenas, conforme exemplo:
'snmpconf'
remova
c:
• $confpath = "c:/usr/share/snmp";
• push @searchpath, "c:/usr/etc/snmp".
c:
'snmpconf'
• $opts{'c'} = " /usr/share/snmp/snmpconf-data";
Figura 5.14: Redenindo os paths do NetSNMP
Ao salvar o arquivo, verique que foram removidos os argumentos que xavam algumas
congurações do snmp para a raiz do host onde ele será executado, tornando assim o
ambiente mais portátil e concretizando uma base exível para o Cacti.
31
5.2.2 Preparando o CACTI com o XAMPP
'cacti-0.8.7g.zip'
Após instalar o Xampp portátil no pen drive, baixe o arquivo
no endereço 'http://www.cacti.net/downloads/' e extraia este arquivo no diretório \xampp\htdocs
do pen drive, que é o diretório padrão para documentos do tipo WWW. Se desejar, poderá
renomear o diretório do
para simplicar a localização, como no exemplo, o
diretório foi renomeado para \cacti.
cacti-0.8.7g
Figura 5.15: Extraindo o Cacti no diretório \xampp\htdocs
Agora é necessário instalar o núcleo do NMS para o qual o Cacti prove seus recursos e
interface mais intuitiva, o sistema RRDTool's. Baixe o arquivo
no endereço 'http://www.cacti.net/downloads/rrdtool/win32/' e então crie
o diretório \rrdtool na raiz do pen drive. Com o diretório \rrdtool criado, extraia os
componentes do arquivo
dentro deste diretório
1.5.20.zip'
'rrdtool-1.2.15-cygwin-
'rrdtool-1.2.15-cygwin-1.5.20.zip'
Figura 5.16: Extraindo o pacote RRDTools
A partir de agora é possível utilizar a interface gráca do Xampp para fazer algumas
congurações necessárias para o Kit. No diretório \xampp há dois aplicativos principais
que iremos utilizar: o
para vericar se há algum conito entre o
'xampp-portcheck'
32
Xampp e o host onde ele será executado, e o
controle do Xampp.
'xampp-control' que ativa o painel de
Figura 5.17: Utilizando o 'xampp-portchec' e o 'xampp-control'
Antes de executar o Xampp em algum host, verique se há algum conito entre eles
proveniente de outros aplicativos similares ou que utilizem mesma porta, executando para
isso o
. Se não houver nenhum conito, será demonstrada uma tela
onde o status dos serviços deve ser
. Caso contrario aparecerá no status do serviço,
o aplicativo que esta conitando diretamente com ele. Neste ultimo caso, encerre ou
desinstale o aplicativo conitante e seus serviços.
'xampp-portcheck'
'free'
Figura 5.18: Vericando conitos com o 'xampp-portcheck'
Finalmente o Xampp poderá ser executado a partir do pen drive em um host de
plataforma Windowns XP ou superior por meio do
. Na interface
XAMPP Control Panel Application, estarão disponíveis os serviços oferecidos pelo Xampp,
bastando acionar o
para executar cada módulo que o usuário deseje utilizar como
recurso. Neste caso, os recursos essenciais para o Kit com o CACTI como o NMS base,
são o
e
. Acione os dois módulos para continuar a conguração.
'xampp-control'
'Start'
Apache MySql
33
Figura 5.19: Acionando os módulos Apache e MySql
Para vericar se o Xampp esta sendo executado corretamente, basta abrir o browser e
inserir o endereço http://localhost/. Se estiver operando corretamente, a página padrão do
Xampp será visualizada com os respectivos menus de conguração no idioma selecionado.
Verique os componentes que estão habilitados no menu Status.
Figura 5.20: Vericando o status dos componentes do Xampp
5.2.3 Congurando o MySQL para o Cacti
Com as preparações e requisitos concluídos, é preciso congurar o banco de dados
do CACTI no Xampp para que ele possa ser executado corretamente e seja possível
gerar grácos, consultar e armazenar informações dos dispositivos gerenciáveis em uma
base de dados MySQL. Para acessar o banco de dados no Xampp, insira o endereço
'http://localhost/phpmyadmin/' no browser para ser encaminhado a tela inicial do phpMyAdmin e crie um novo banco de dados exatamente com o nome
acionando o
botão
.
cacti
'Criar'
34
Figura 5.21: Criando o banco de dados do Cacti
cacti
Após criar o banco de dados com nome
, vá à aba Importar e selecione o botão
. Então procure e selecione por meio do botão
, o arquivo
localizado no diretório \xampp\htdocs\cacti. O arquivo
é um script
que contem todos os comandos e atributos necessários para criar o banco de dados do
CACTI conforme requisitos deste NMS.
'Enviar arquivo...'
'cacti.sql'
'Abrir'
'cacti.sql'
Figura 5.22: Arquivo com a base de dados do Cacti
Verique se o endereço do diretório do arquivo a ser importado foi corretamente selecionado e então acione o botão
no canto inferior direito da página.
'Executar'
35
Figura 5.23: Implementando a base de dados do Cacti
Conrmado com sucesso a importação, vá à aba Privilégios e então acione a opção
'Adicionar Novo Usuário', para criar o usuário que será utilizado como padrão no
Cacti. Para uma melhor organização e entendimento neste tutorial, será denida como
padrão a senha 'cacti' para todos os módulos e aplicativos. Insira o parâmetro 'cactiuser' como usuário e dena 'localhost' como servidor. Então dena 'cacti' no campo
senha, repita-a no campo seguinte, e deixe selecionada a opção 'Grant all privileges
on database cacti' em Banco de Dados para usuário. Para nalizar a conta selecione
a opção 'Marcar todos' em Privilégios Globais e acione o botão 'Executar' no canto
inferior direito da tela.
Figura 5.24: Criando o usuário cactiuser
36
'cactiuser'
'Grant'
Após criar o usuário
verique se o privilégio
em Administração
esta selecionado, caso não esteja, selecione a opção e acione o botão
novamente.
'Executar'
Figura 5.25: Atribuindo os privilégios do cactiuser
'root'
De volta à aba Privilégios, verique que o usuário
não possui senha. Para
tornar o ambiente um pouco mais seguro clique no ícone parecido com um lápis para
edição desta conta.
Figura 5.26: Vericando se o root possue senha
No campo Alterar Senha, dena a senha do
.
cutar'
37
'root' como 'cacti' e conrme em 'Exe-
Figura 5.27: Atribuindo senha ao root
Após executar a alteração de senha, atualize a página e verique que você não possui
mais privilégios para acessar o banco pelo phpMyAdmin. Observe que há um aviso indicando para que o usuário verique se as informações de autenticação do servidor MySql
correspondem com as informações contidas no arquivo
deste servidor.
'cong.inc.php'
Figura 5.28: Tela de acesso negado ao servidor MySql
'cong.inc.php'
Localize o arquivo
situado no diretório \xampp\phpMyAdmin e o
selecione para edição. Verique que os argumentos do arquivo estavam denidos para o
usuário root e sem senha. Altere o usuário para
com a senha
e então
salve o arquivo antes de fechá-lo.
'cactiuser'
38
'cacti'
Figura 5.29: Inserindo credenciais de acesso no arquivo cong.inc.php
Verique que agora é possível acessar novamente o banco de dados do Xampp pelo
sistema de gerenciamento phpMyAdmin, que agora está preparado para receber o NMS
Cacti.
Figura 5.30: Acessando o phpMyAdmin com o cactiuser
'cong.php'
Antes de acessar o Cacti é necessário alterar o arquivo
situado no diretório include do cacti, no endereço \xampp\htdocs\cacti\include. Insira o usuário
e a senha
para atribuir acesso do Cacti a sua base de dados, e salve e feche
o arquivo.
tiuser'
'cacti'
39
'cac-
Figura 5.31: Atribuindo acesso do Cacti ao banco de dados MySql
5.2.4 Congurando o Cacti
Insira em seu browser o endereço http://localhost/cacti/ para iniciar as congurações
relativas ao Cacti. A seguinte página deverá ser exibida, bastando avançar para a próxima
etapa selecionando o botão
.
'Next'
Figura 5.32: Guia de instalação do Cacti
Na página seguinte você poderá visualizar algumas congurações que foram denidas
anteriormente no arquivo
. Selecione o tipo de instalação como
e avance no botão
.
stall'
'cong.php'
'Next'
'New In-
40
Figura 5.33: Nova instalação do Cacti
Agora será necessário denir os caminhos (paths) onde estão disponíveis os aplicativos baseados em comandos de linha, oferecido pela suíte Net-SNMP, necessários para
o gerenciamento via SNMP. Para isso informe os caminhos de acordo com a localização
no pen drive, mas sem inserir a unidade da raiz do mesmo ou outra partição, e nalize
a conguração acionando o botão
. Estas congurações poderão ser alteradas
posteriormente.
'Finish'
41
Figura 5.34: Inserindo os paths dos aplicativos do Cacti
'admin'
'admin'
'cacti' e a
Nesta etapa basta fazer o primeiro acesso com o usuário
e senha
para que seja solicitada a inserção de uma nova senha. Dena a senha como
conrme.
Figura 5.35: Primeiro login no Cacti
Antes de iniciar a conguração do NMS, anteciparemos a instalação do
42
'spine', um
deamon que será utilizado como o poller do Cacti. Para isso baixe o arquivo 'cacti-spine0.8.7g.zip' no endereço http://www.cacti.net/downloads/spine/packages/Windows/ e então o extraia na raiz do pen drive. Em seguida, altere o nome do diretório recém extraído
para spine e então abra o arquivo 'spine.conf.dist' para edição. Edite o parâmetro
DB_Host para '127.0.01' e o DB_Pass para 'cacti', então salve o arquivo como
'spine.conf' apenas.
Figura 5.36: Editando o arquivo de conguração do Spine
No prompt do DOS, acesse o diretório \spine e o execute via linha de comando. Observe que o mesmo solicita uma dll adicional para funcionar corretamente.
Figura 5.37: Executando e testando o Spine
'rrdtool-1.2.15-cygwin-1.5.20.zip',
'cygz.dll' e cole no diretório \spine.
Felizmente esta dll é um componente do arquivo
então vá ao diretório \rrdtool e copie o arquivo
43
Figura 5.38: Copiando a cygz.dll para o diretório do spine
'AnkeCalligraph.TTF'
Aproveite para copiar também o arquivo
(ou outra fonte
do tipo TTF) no diretório \xampp\htdocs\xampp e cole o mesmo no diretório \rrdtool.
Este arquivo será utilizado como fonte dos textos que serão gerados juntamente com os
grácos.
Figura 5.39: Disponibilizando uma arquivo fonte para o RDDTool
Concluída a cópia, será possível nalmente proceder com a conguração do Cacti pela
interface gráca. Acesse o endereço //localhost/cacti no browser. Acesse o sistema e vá
ao campo Conguration no menu à esquerda e selecione a opção
. Em seguida,
selecione
nas abas superiores e dena os caminhos dos executáveis corretamente,
o diretório atual denido ao pen drive.
'Settings'
'Paths'
incluindo
44
Figura 5.40: Redenindo os paths dos aplicativos do Cacti
'Poller' 'spine'
'Poller Type'
2, 5, 5, 25 e 50
Congure também na aba
o
como o
do Cacti. Em
seguida aumente o valor dos argumentos abaixo para
respectivamente,
no intuito de incrementar os recursos e desempenho do sistema, conforme o exemplo:
Figura 5.41: Denindo os intervalos e processos do poller no Cacti
45
Nesta etapa já é possível utilizar o NMS para um gerenciamento efetivo. Porem,
no intuito de corrigir bugs e para incrementar recursos com as atualizações e plugins
deste sistema, demonstraremos em seguida como implementar o
, alem da instalação de Plugins. Sendo a PIA, uma arquitetura que substitui alguns
arquivos do Cacti, corrigindo problemas e provendo uma base para instalação de Plugins
adicionais neste NMS.
Plugin Architecture
(PIA)
5.3 Fazendo upgrade no Cacti
Para montar a nova base do Cacti com arquivos corrigidos e com o alicerce para
receber plugins, vá ao endereço http://www.cacti.net/downloads/pia/ e baixe o arquivo
compactado
. Para extrair os dados desse arquivo
será necessário um programa dedicado, neste caso foi usado o
, um aplicativo que
pode ser baixado em qualquer site de download de utilitários. Após a extração, observem
no diretório
os arquivos que serão copiados e substituídos no diretório cacti
em \xampp\htdocs\cacti.
'cacti-plugin-0.8.7g-PA-v2.9.tar.gz'
'les-0.8.7g'
WinRar
Figura 5.42: Extraindo os arquivos do Plugin Architecture (PIA
todos
Então copie
os arquivos do diretório \les-0.8.7g e cole e substituía os arquivos
correspondentes dentro do diretório cacti em \xampp\htdocs\cacti. Conrme a substituição para todos os arquivos.
46
Figura 5.43: Substituindo os arquivos do Cacti com o PIA
'cong.php'
'cacti' e altere
Para voltar a utilizar o Cacti, será necessário alterar novamente o arquivo
dentro do diretório \xampp\htdocs\cacti\include. Altere o password para
o parâmetro
exatamente como na imagem.
$url_path para "/cacti/"
Figura 5.44: Redenindo as credenciais para acesso ao MySql do Cacti
cong.php
Após alterar o arquivo
vá ao endereço http://localhost/phpmyadmin, abra
o Banco de Dados
, selecione a aba Importar, e então procure e selecione o arquivo
disponível no diretório \cacti-plugin-arch. Por ultimo, selecione o botão
para nalizar o processo de importação das novas tabelas.
'pa.sql'
'Executar'
cacti
47
Figura 5.45: Importando as tabelas do Pia para o MySql
Agora faça login novamente no NMS, procure e selecione no menu no canto inferior
esquerdo a opção
. Então selecione o usuário em uso, no caso o
'admin', e verique na aba Realm Permissions que surgiu uma nova opção não selecionada,
o
. Marque a nova opção e salve a conguração.
'User Management'
'Plugin Manager'
Figura 5.46: Denindo as opções de acesso do usuário ao sistema do Cacti
48
A partir de agora será possível inserir plugins na plataforma Cacti. Observe que surgiu
no menu a esquerda, a opção
abaixo de Settings, e nela que serão
feita as instalações dos mesmos.
'Plugin Management'
5.4 Instalando Plugins no Cacti
Há vários plugins disponíveis para o Cacti, provenientes de diversas fontes. Para
utilizar os 'ociais', acesse o endereço http://cactiusers.org/downloads/ e verique a lista
de opções para baixá-las. Após baixar o plugin compactado em zip, extraia seu conteúdo
no diretório \xampp\htdocs\cacti\plugins. É importante que mantenha o nome do plugin
no diretório onde os arquivos foram extraídos, evitando assim problemas posteriores.
Figura 5.47: Extraindo os plugins no diretório \xampp\htdocs\cacti\plugins
Se o plugin selecionado for preparado para ultima versão da arquitetura, basta extrair o
conteúdo do plugin num diretório com o nome do mesmo, no endereço \xampp\htdocs\cacti\plugins.
Assim surgirá o objeto para instalação na opção
. Para instalá-lo
efetivamente, acione o ícone azul com uma seta para baixo.
'Plugin Management'
49
Figura 5.48: Instalando os plugins inseridos no Cacti
Caso o plugin seja do estilo antigo, será necessário inserir seus parâmetros no arquivo
'cong.php' disponível no diretório \xampp\htdocs\cacti\include. Verique o formato
para inserção dos parâmetros e que atento ao nome, que deve ser exatamente o mesmo
no arquivo e no diretório.
Figura 5.49: Inserindo os plugins do estilo antigo no arquivo cong.php
O mesmo deverá surgir no menu
status de já instalado.
'Plugin Management' para instalação ou com
50
Figura 5.50: Instalando os plugins do estilo antigo no Cacti
'User Management'
'admin'
Por m, retorne ao meu
e selecione o usuário
. Então
verique se há novas opções desmarcadas e habilite-as para utilizar os novos recursos.
Figura 5.51: Habilitando o acesso aos novos plugins instalados no Cacti
Sabendo instalar os plugins destas duas maneiras, basta repetir estes procedimentos
para inserção de novas ferramentas na plataforma Cacti. Por m, observe no Layout do
NMS que surgiram novas opções conforme congurado neste projeto.
51
Figura 5.52: Vericando as interfaces dos novos plugins
5.4.1 Alguns Plugins do Cacti
Veja a lista de alguns plugins do Cacti extraídos do site http://cactiusers.org/downloads/
que foram implementados neste projeto por serem ferramentas importantes, cando a
critério do usuário estabelecer a necessidade da utilização destes em seu NMS.
1.
2.
Discovery: Este plugin adiciona a capacidade de auto descoberta de dispositivos
em uma sub-rede e informa se estes possuem SNMP habilitado. é possível criar
modelos de conguração para adicionar automaticamente dispositivos de acordo
com o especicado.
Router Congs: Este plugin permite que seja feito backup de congurações de
Roteadores Cisco via telnet. é possível também fazer comparações entre arquivos
para gerenciamento de mudanças.
Thold: Este plugin permite que você seja alertado quando dispositivos estiverem
com status 'down' e interrompe a coleta de dados para não corromper os grácos.
4. Cycle: Este plugin permite que você visualize todos os grácos, um após o outro,
depois de um determinado intervalo de tempo.
5. Boost: Este plugin aumenta a performance do Cacti, principalmente se ele estiver
3.
monitorando muitos dispositivos.
5.5 Utilizando o Kit de Gerência Portátil na Prática
Com o Cacti você poderá gerenciar vários tipos de dispositivos de rede por meio de
templates pré denidos, responsáveis por coletar tipos de dados distintos, quando houver
SNMP congurado. Caso contrário, é possível vericar o status de conectividade dos hosts
52
utilizando para isso o protocolo ICMP (ping), se não houver como congurar SNMP no
equipamento.
Cada vez que for inserir o kit em um novo 'servidor' para iniciar o gerenciamento, será
necessário ativar o Xampp, entrar via browser no endereço \localhost\cacti e fazer logon.
Dependendo de quantas partições houver no HD do host e outras variáveis, o pen drive
poderá assumir uma unidade de disco diferente do que foi congurado anteriormente.
Para solucionar esse problema acesse a aba Paths no menu
, e então altere os
caminhos com as respectivas unidades de disco corretas.
'Settings'
Figura 5.53: Vericando se os paths dos aplicativos do Cacti estão corretos
'Devices'
Verique no menu
se há hosts cadastrados no sistema. Caso haja algum
host de outro ambiente congurado anteriormente, exclua esse dispositivo do sistema,
marcando a caixa de seleção no canto esquerdo da tela referente ao mesmo, e acionando a
ação
em Choose an action. Em seguida, acesse a opção
no canto direito
superior para adicionar um novo dispositivo.
'Delete'
'Add'
53
Figura 5.54: Vericando e cadastrando novos hosts no Cacti
Insira os dados do dispositivo a ser gerenciado, informando seu hostname ou endereço
IP, denindo uma descrição e escolhendo o template mais apropriado para o tipo de dispositivo em questão. Verique que há dois métodos de vericar a disponibilidade do
dispositivo: via SNMP ou por ICMP, ou ambos. Neste caso, será inserida uma estação
Windows no Cacti, onde o kit está sendo executado, após habilitação do protocolo SNMP
neste host. A versão congurada foi o SNMPv1, com o parâmetro 'SauronEye' na comunidade SNMP.
Figura 5.55: Inserindo os parâmetro dos hosts no Cacti
54
Se o Cacti estiver funcionando corretamente e o dispositivo devidamente congurado
com o SNMP, será visualizada a informação
e surgirão algumas informações do dispositivo como System, Uptime, Hostname, e outros. O dispositivo será
gerenciado após seu cadastro, e para criar um gráco para o mesmo, selecione a opção
.
'Save Successful'
'Create Graphs for this Host'
Figura 5.56: Congurando hosts a serem gerenciados via SNMP
Nesta tela, serão oferecidas diversas opções de gerenciamento de acordo com o template selecionado. No caso de uma estação, tem várias opções de hardware, como processamento, memória e rede. Escolha uma ou mais opções no menu 'Create' ou marque a
caixa de seleção conforme desejado, salvando as congurações ao nal acionando o botão
no canto inferior direito da tela. Neste exemplo, serão gerenciados os processos
(Host MIB Processes) da estação.
'Create'
55
Figura 5.57: Selecionando os objetos gerenciaveis do host
'Cre-
Selecione uma cor para a legenda do gráco gerado pelo Cacti e acione o botão
. é interessante alternar cores caso sejam criados outros grácos para o mesmo dispositivo, facilitando a visualização da informação esboçada.
ate'
Figura 5.58: Criando grácos para o host gerenciado
Após congurar os parâmetros do gráco, é necessário inserir o mesmo em um ramo
da 'árvore' de grácos, que dene uma hierarquia organizacional delimitada pelo usuário.
Para isso acesse no menu a opção
e verique que há uma árvore padrão.
Selecione a opção
caso deseje criar outra árvore ou selecione a árvore padrão para
inserir o gráco na mesma.
'Add'
'Graph Trees'
56
Figura 5.59: Inserindo o novo gráco na árvore organizacional
Nesta tela é possível alterar o nome da árvore e denir um método de organização dos
grácos inseridos nesta. Acione a opção
para inserir o gráco na árvore, e caso
deseje fazer alguma alteração no nome ou forma de organização, altere e utilize o botão
antes de adicionar o gráco.
'Save'
'Add'
Figura 5.60: Congurando a árvore organizacional padrão
Para nalizar a inserção do gráco do dispositivo no sistema, selecione o tipo de item
que será exibido na árvore, no caso um gráco, e em seguida surgirá à relação de grácos
criados no Cacti. Selecione o gráco em questão a acione o botão
para nalizar.
'Create'
57
Figura 5.61: Congurando as opções do gráco na árvore organizacional
Para visualizar o gráco, vá à aba graphs no canto superior esquerdo da tela e selecione
a árvore onde foi inserido o gráco. Então serão visualizados todos os grácos inseridos
nesta árvore, que serão atualizados conforme o intervalo de tempo denido pelo usuário
no poller do sistema.
Figura 5.62: Visualizando o gráco no Cacti
Repita essa operação para adicionar outros dispositivos de rede para serem gerenciados,
e para criar grácos e árvores personalizadas pelo usuário, facilitando a visualização das
informações disponíveis. Verique sempre se os status dos dispositivos estão como 'Up'
no menu 'Devices' ou congure um plugin (thold) para enviar alertas quando houver
mudanças nestes estados.
58
5.5.1 Agendamento de tarefa e Poller
Para executar o Spine no ambiente Windows, no intuito de coletar dados para os
grácos e vericar se os dispositivos estão operacionais, é necessário criar um agendamento
de tarefas como administrador para executar este poller, conforme intervalo denido no
Cacti. Para isso vá ao menu Iniciar e em seguida no menu Congurações, então acione o
Painel de Controle. No Painel de Controle selecione a opção
.
Tarefas Agendadas
Figura 5.63: Acionando as Tarefas Agendadas
Adicionar tarefa agendada
Surgirá então uma janela com a opção
. Acione a opção
e prossiga com o botão
até chegar à tela onde é solicitado que se escolha
o aplicativo que será executado de acordo com o intervalo denido. Acione o botão
para selecionar o arquivo responsável pela função de poller.
'Avançar'
'Procurar'
Figura 5.64: Assistente para criar uma tarefa agendada
'php.exe'no endereço \xampp\php, e então selecione o arquivo e
'Abrir'
Procure o arquivo
acione o botão
.
59
Figura 5.65: Selecionando o programa para agendamento da tarefa
Dena um nome para a tarefa criada, selecione a opção
conguração com o botão
.
Avançar
Diariamente e prossiga a
Figura 5.66: Denindo período de execução da tarefa
Avance novamente sem congurar hora e dia para o inicio da tarefa, esses parâmetros
serão denidos posteriormente.
60
Figura 5.67: Congurando a data de início da tarefa
Na tela para inserir usuário e senha, insira os atributos de administrador da estação
para ter todos os privilégios necessários para execução da tarefa.
Figura 5.68: Denindo os privilégios de execução da tarefa
Concluir
Na ultima tela nalize a criação da tarefa com o botão
. Verique então que
foi criado à tarefa abaixo da opção Adicionar tarefa agendada, selecione essa nova tarefa
com o botão direito do mouse e vá em
.
Propriedades
61
Figura 5.69: Finalizando a criação da tarefa
Na aba Tarefa em propriedades insira o seguinte parâmetro no campo Executar :
Insira também no
campo Iniciar em, o parâmetro:
\
\
. No campo Executar como, insira
os atributos do administrador do host, e por m, a ultima opção desta aba deve ser
selecionada para ativar o agendamento ou desmarcada quando desejar desativar a tarefa.
'G:\xampp\php\php.exe G:\xampp\htdocs\cacti\poller.php'.
'G: xampp php'
Figura 5.70: Inserindo os parâmetros para execução da tarefa
Na aba Agendar, estão disponíveis os horários de agendamento denidos. Acione o
botão
e dena o dia de inicio do agendamento. Na opção Repetir a tarefa
dena o tempo para
e a Duração para
. Conrme as congurações.
Avançado
5 minutos
24 horas
62
Figura 5.71: Denindo opções avançadas de agendamento
Para nalizar, basta conferir na aba Segurança se o administrador do host tem todos
os privilégios para executar o agendamento e o serviço.
Figura 5.72: Denindo os privilégios de acesso datarefa
Conrme as congurações no botão
Agendadas.
Ok e verique o status da tarefa em Tarefas
63
Figura 5.73: Ativando e vericando a tarefa agendada
5.5.2 Congurando SNMP em estações Windows
Na plataforma Windows é possível ativar e congurar o serviço de SNMP nas estações,
e tendo em vista que este projeto abordou o Windows XP para implementação do NMS,
será demonstrado como habilitar esse recurso neste sistema.
Acesse o menu Congurações no menu Iniciar, e em seguida, selecione o Painel de
Controle. No Painel de Controle, selecione a opção Adicionar ou remover programas,
e então acione no menu à esquerda a opção
.
Adicionar/remover componentes do
Windows
Figura 5.74: Adicionando componentes do Windows
64
No Assistente de componentes do Windows, selecione com um clique duplo sobre a
opção
.
Ferramentas de gerenciamento e monitoramento
Figura 5.75: Assistente para adicionar componentes do Windows
Na janela Ferramentas de gerenciamento e monitoramento, basta marcar a opção
e conrmar acionando o botão
.
Simple Network Management Protocol
Ok
Figura 5.76: Ferramentas de gerenciamento e monitoramento do Windows
Ao retornar a janela Assistente de componentes do Windows, prossiga acionando o
botão
e verique que o novo componente está sendo instalado. Quando a instalação for nalizada, conrme as alterações acionando o botão
.
Avançar
Concluir
65
Figura 5.77: Instalando o SNMP no Windows
Executar
Volte ao menu Iniciar e selecione a opção
. Na janela Executar do Windows,
insira o comando
para abrir a lista de serviços disponíveis e congurados
no sistema.
services.msc
Figura 5.78: Acionando a janela de serviços do Windows
Na lista dos serviços do Windows, procure e selecione com o botão direito o
, e em seguida, selecione
.
SNMP
Propriedades
66
Serviço
Figura 5.79: Lista de serviços do Windows
Este serviço ca disponível no sistema após ser instalado conforme demonstrado anteriormente. Verique na aba Geral o status do serviço, deixe como
, para o
mesmo ser ativado somente quando o usuário assim desejar.
Manual
Figura 5.80: Propriedades do serviço SNMP
Congure na aba Segurança a comunidade SNMP. Para isso, verique se a opção
Enviar interceptação de autenticação está habilitada e então acione o botão Adicionar. Dena o Nome da Comunidade e os direitos da mesma (Noticação, Somente
Leitura, Leitura Gravação, Leitura Criação) e conrme no botão Adicionar. Para nalizar, selecione Aceitar pacotes SNMP de qualquer host para que qualquer NMS
possa gerenciar esse host ou dena um NMS especico marcando e adicionando o servidor
na opção Aceitar pacotes SNMP destes hosts.
67
Figura 5.81: Congurando a comunidade SNMP no Windows
Toda vez que o usuário desejar habilitar ou nalizar o SNMP na estação, basta selecionar o Serviço SNMP com o botão direito e Iniciar ou Parar o serviço, respectivamente.
Figura 5.82: Ativando e encerrando o serviNMP
5.5.3 Sugestões e Solução de Problemas
Com intuito de auxiliar os usuários na solução de problemas, verique as seguintes
opções caso o NMS não esteja funcionando corretamente:
Verique se o spine está sendo executado corretamente utilizando o parâmetro \
no prompt de comando do Windows.
g: spine>spine,
68
Figura 5.83: Vericando se o Spine está rodando corretamente
g: xampp php>php
Verique se o poller esta funcionando corretamente utilizando o parâmetro \
\
\
\
\
\
, no prompt de comando do Windows. Deverá
haver um número maior que 0 em RRDsProcessed.
g: xampp htdocs cacti poller.php
Figura 5.84: Vericando se o RRDTool está gerando os grácos
Verique se o Xampp está funcionado corretamente acessando \\localhost no browser
e acessando o menu
.
Verique se a propriedades das pastas do Kit não estão denidas como
.
Tente utilizar outro arquivo de fonte (.ttf) caso o gráco não esteja sendo esboçado.
Habilite o modo
em Graph Management e as opções de log em Settings/General/Event
Logging para visualizar possíveis erros e outros alertas.
Morto'
Status
'Arquivo
Debug
69
Capítulo 6
Conclusão
No decorrer do aprendizado sobre redes de computadores é perceptível a necessidade e
diculdade de gerenciar e administrar os diversos elementos heterogêneos que a compõe,
sendo que essa complexidade vai se agravando à medida que a rede vai aumentando,
englobando mais dispositivos críticos e provendo mais serviços elementais à organização.
Devido à necessidade cada vez maior de disponibilidade dos serviços providos por
uma organização, é essencial que haja planos e dispositivos de contingência caso ocorram
eventos excepcionais que comprometam esse ambiente em produção plena, evitando assim
grandes prejuízos e fornecendo integridade e segurança da informação.
Para tanto, um dos requisitos básicos é exatamente gerenciar ativamente os elementos
que compõe a rede, por meio de procedimentos bem denidos, vericando se os níveis de
utilização dos recursos estão operacionalmente dentro do esperado, detectando, assim, a
necessidade de uma manutenção preventiva. Deste modo, é possível acompanhar também o crescimento dos ativos e serviços da organização, provisionando uma margem de
crescimento para este ambiente em um determinado período de tempo.
Os capítulos apresentados anteriormente foram fornecendo gradualmente conhecimentos e habilidades a cerca de gerenciamento de redes, prevendo desde os conceitos mais
básicos e importantes, até a implementação de um NMS e ferramentas de rede, possibilitando a aplicação desses conceitos na prática.
Assim, abordamos no capítulo 2 os elementos que compõe um sistema de gerência
de redes (Entidade Gerenciadora, Elementos gerenciados, Agentes, MIB e Protocolos de
gerenciamento), bem como os principais processos de gerenciamento, também conhecido
como FCAPS (Gerenciamento de Falhas, de Conguração, de Contabilização, de Desempenho e de Segurança). Por m, por meio desse capítulo, foi possível inferir os elementos
básicos das relações entre gerenciamento de redes, sistemas e aplicações.
Em seguida, denimos e examinamos alguns detalhes referentes à um protocolo de
gerência de redes baseado em TCP/IP, amplamente utilizado para gerir processos, dispositivos de rede, sistemas e aplicações heterogêneas: o SNMP. A respeito deste protocolo,
foram abordadas as suas três versões e principais características, além de outros protocolos e padrões diretamente relacionados ao SNMP e ao processo de gerenciamento, como
a Estrutura de Informações de Gerenciamento (SMI) e o ASN.1, ambos utilizados para
linguagem de denição e como regras de codicação na comunicação entre os protocolos,
denindo inclusive as estrutura da Base de Dados de Informações Gerenciáveis (MIB). Ao
70
nal do capítulo 3, há também uma breve descrição do protocolo RMON e sua utilização,
no intuito de agregar mais conteúdo e conhecimento para a proposta deste documento.
Após toda fundamentação teórica necessária para iniciar o processo de gerenciamento
de uma rede, apresentamos no capítulo 4 alguns NMS como o Cacti, Nagios e Zabbix, além
de outros aplicativos que fariam parte do kit portátil arquitetado para este projeto. Como
os NMS citados já possuem versões estáveis para a plataforma de software livre, optamos
por selecionar um que pudesse ser implementado também na plataforma Windows, já que
boa parte das organizações e universidades ainda possui hosts baseados nesta plataforma
e carece de um sistema de gerenciamento, preferencialmente sob licença livre (GNU).
Por ser mais maleável, de caráter livre e apresentar maior compatibilidade com a
plataforma Windows, selecionamos o NMS Cacti para implementá-lo, juntamente com o
Xampp portátil, em um pen drive. Toda a implementação deste NMS portátil foi esboçada
no capítulo 5, incluindo a instalação de recursos mais avançados, como a implementação
da arquitetura PIA para receber novos plugins do Cacti, responsáveis por incrementar e
centralizar novos recursos e funcionalidades ao sistema, dispensando ferramentas avulsas.
Após muitas tentativas, ao nalizar a instalação do Cacti houve uma fase de validação
onde foram detectadas algumas instabilidades, sendo elas remediadas à medida que algumas congurações do sistema foram sendo ajustadas, de acordo com as conformidades
entre ele e o servidor web portátil (Xampp). Com o conjunto estável, foi possível executálo em diferentes hosts baseados na plataforma Windows, sendo necessário apenas fazer
modicações relativas aos Paths nas congurações do próprio Cacti, para que o mesmo
funcionasse plenamente.
Durante a validação do produto, foram inseridos no NMS alguns Switches gerenciáveis
e estações de trabalho baseadas na plataforma Windows (XP, Vista e 7). Os switches
gerenciáveis foram inseridos no sistema e validados com as três versões do SNMP, sendo
que o Cacti permitiu acessar as informações e esboçar grácos de todas as interfaces
ethernet desses dispositivos. No entanto, apesar de ter cadastrado os switches via SNMPv3
com sucesso no sistema, não foi possível gerar grácos pois houve problema com suporte
a criptograa. Já as estações com Windows foram gerenciadas somente via SNMPv1 e
SNMPv2c (pela comunidade), após ser habilitado o Serviço SNMP nas mesmas, sendo
vericadas estatísticas de alguns componentes de hardware como processamento, memória
e espaço em disco. Ambos os dispositivos foram monitorados com o objetivo de se vericar
a disponibilidade destes hosts e esboçar grácos a partir dos templates predenidos para
cada tipo de dispositivo contemplado.
Apesar da demonstração de como inserir os plugins no Cacti, não foi possível utilizar
todas estas funcionalidades em produção. O Boost e o Cycle aparentemente funcionam no
ambiente, porém não havia disposição de muitos dispositivos para testar plenamente esses
recursos em execução. O Router Congs e o Discovery tiveram problemas para comparar
dois arquivos de conguração de Switches, para acessar estes dispositivos via Telnet e para
buscar dispositivos na rede via SNMP, sendo esses problemas aparentemente resolvidos
alterando alguns arquivos do php relacionados a estes plugins. O Thold pareceu estável
durante a implementação do produto, porém não houve como preparar um ambiente ideal
com serviço de email para testar sua capacidade, tendo em vista o tempo restante para o
nal do projeto.
Quanto aos grácos, foram vericadas diversas opções para gerenciar elementos especícos de um dispositivo, tais como processamento, capacidade da interface de rede,
71
memória e outros. Porém, os procedimentos relativos à qualimetria e detecção de anomalias nos dispositivos de rede não foram abordados intencionalmente, já que cada um desses
temas fazem referência a outros e são fortemente interligados, sendo necessário todo um
livro ou disciplina somente para abordar essas propriedades do gerenciamento de redes.
Analisando todas as partes desse projeto e compreendendo a relação entre os elementos da rede, o NMS e os protocolos que regem essa comunicação, podemos inferir que o
objetivo principal era viabilizar a multidisciplinaridade dos processos e conceitos apresentados, a partir da preparação do usuário para a prática de gerência de redes, por meio
de um Kit implementado para este m. Por meio dessa integração entre teoria e prática
no âmbito de gerenciamento de redes, acredito que o projeto atendeu às expectativas de
forma satisfatória.
6.1 Sugestões para Projetos Futuros
Por ter sido implementado em um pen drive, não havendo a necessidade de instalação
em um host, além de possibilitar a utilização de forma exível no ambiente Windows, o
kit de gerência produzido neste projeto poderia ser particionado em diferentes versões,
assim como o Xampp, para trabalhar em diversas plataformas.
Outra possibilidade seria implementar um pacote com as congurações do Cacti pré
denidas, para ser instalado sobre algum servidor Web, observando os requisitos desse
sistema de gerência.
Com a inserção dos recursos dos plugins disponíveis para o Cacti, considerando os
recursos computacionais atuais e até mesmo com o desenvolvimento de novos plugins, é
possível que em um futuro próximo seja possível implementar um NMS completo e de
qualidade com base nesse kit. Podendo este kit abranger os principais processos do gerenciamento de redes, e suportando o gerenciamento de falhas, conguração, contabilização,
desempenho e segurança. Sendo que esse kit poderá sempre ser melhorado, mantendo sua
essência de software livre.
72
Apêndice A
Lista de RFC
A.1 Capítulo 2
RFC 3139 -"Requirements for Conguration Management of IP-based Networks"
RFC 3410 - "Introduction and Applicability Statements for Internet Standard Management Framework"
A.2 Capítulo 3
RFC 1155 - "Structure and identication of management information for TCP/Ip
based internets"
RFC 1213 - "Management Information Base for network management of TCP/IP
based internets: MIB-II"
RFC 1157 - "A Simple Network Management Protocol (SNMP)"
RFC 768 - "User Datagram Protocol"
RFC 1419 - "SNMP over Apple Talk"
RFC 1420 - "SNMP over IPX"
RFC 1905 - "Protocol Operations for Version 2 of the Simple Network Management
Protocol (SNMPv2)"
RFC 1906 - "Transport Mappings for Version 2 of the Simple Network Management
Protocol (SNMPv2)"
RFC 1907 - "Management Information Base for Version 2 of the Simple Network
Management Protocol (SNMPv2)"
73
RFC 1908 - "Coexistence between Version 1 and Version 2 of the Internet-standard
Network Management Framework"
RFC 2578 - "Structure of Management Information Version 2 (SMIv2)"
RFC 3414 - "User-based Security Model (USM) for version 3 of the Simple Network
Management Protocol (SNMPv3)
74
Referências
[1] Ian Berry, Tony Roman, Larry Adams, J. Pasnak, Jimmy Conner, Reinhard Scheck,
Andreas Braun, and Cacti Group. The cacti manual. Copyright 2010 The Cacti
Group, http://www.cacti.net/downloads/docs/pdf/manual.pdf, 2010. 19
[2] Alexander Clemm. Network Management Fundamentals. Cisco Press, Indianapolis,
2006. x, 4, 5
[3] Firefox.
Firefox.
Copyright
BR/refox/3.6/releasenotes/, 2010. 24
Firefox,
[4] Ethan Galstad.
Nagios.
Copyright
http://www.nagios.org/about/overview, 2009. 19
http://www.mozilla.com/pt2009
Nagios
Enterprises,
[5] James F. Kurose and Keith W. Ross. Redes de Computadores e a Internet - Uma
abordagem top-down - 3 Edição. Pearson Addison Wesley, São Paulo, 2006. x, xiii,
5, 8, 12, 13, 14, 15, 16, 17
[6] Raquel V. Lopes. Melhores Práticas para Gerência de Redes de Computadores. Campus, Rio de Janeiro, 2003. 5, 11
[7] D. Lynch and M. Rose. Internet System Handbook. Addison Wesley, 1993. 12
[8] Douglas R. Mauro and Kevin J. Schmidt. Essencial SNMP. OReilly, 2001. x, 2, 12,
13, 16, 17
[9] RRDTool. Rrdtool. Copyright RRDTool, http://oss.oetiker.ch/rrdtool/download.en.html,
2010. 18
[10] T. Saydam and T. Magedanz. From Networks and Network Management into Service
and Service Management - Volume 4. Journal of Networks and System Management,
1996. 5
[11] Kai Oswald Seidler, André Domarques, and Apachefriends. Xampp. Copyright 2010
Apache Friends, http://www.apachefriends.org/pt_br/xampp.html, 2010. 20, 24
[12] Zabbix
SIA.
Zabbix.
Copyright
http://www.zabbix.com/requirements.php, 2010. 20
[13] Internet Society.
Internet engineering
http://www.ietf.org/rfc.html, 1992. 1
75
task
force.
Zabbix
SIA,
Internet
Society,
[14] William Stallings. SNMP, SNMPv2,SNMPv3, and RMON 1 and 2. Addison Wesley,
1999. 11, 15
[15] CISCO Systems.
Cisco university,
snmp.
Copyright
http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/snmp.pdf,
14
CISCO,
2010.
[16] Rose T.M. and McCloghrie K. How to Manage Your Network using SNMP: The
Network Management Practicum. Prentice Hall, 1995. 11
76

Documentos relacionados