Vous êtes sur la page 1sur 15

1

GERENCIA DE REDES E SOFTWARE LIVRE: USO DO NAGIOS



Li anna Mara Castro Duarte

Faculdade Santo Agostinho
Coordenao de Ps-Graduao
Curso de Ps-Graduao em Redes de Computadores

lmcduarte@yahoo.com.br


Resumo: Gerenciar redes nos dias de hoje uma tarefa muito complexa, e,
devido a esta complexidade, vrias solues so criadas para auxiliar o profissional
de gerencia em suas atividades. Levando em considerao que inmeras destas
solues so proprietrias, e de como sai caro utilizar e manter as licenas para tais
softwares percebe-se o enorme potencial dos softwares livres na rea de
gerenciamento, sem deixar a desejar em relao qualidade. Como exemplo disto
existe o Nagios, um software para gerncia remota de recursos.


Palavras-Chave: Gerenciamento de redes, software livre, Nagios, padres
abertos.


Abstract: Nowadays the Network Management is a hard task, and because of the
complexity of this task, a large number of solutions are created to hel the
professionals, Considering that most of that solutions are private, and how
expensive is to use private softwares, we can see the enormous potenctial of the
open source softwares. An example is Nagios, a great service and network
monitoring program.
Keywords: Network Management, free software, Nagios, open source.

1- Introduo



O trfego de informaes dentro das redes vem crescendo continuamente,
principalmente devido ao surgimento de novas aplicaes. Concorrentemente, novas
tecnologias e padres proporcionam uma grande proliferao de dispositivos
heterogneos conectados rede. E tornou-se um grande desafio manter o controle
de um ambiente cada vez mais complexo e heterogneo.
A necessidade de gerenciamento de redes vem fazendo com que, cada vez
2
mais, sejam pesquisadas e desenvolvidas novas tcnicas e abordagens para este
tipo de problema. Como tudo que evolui o gerenciamento de redes, tambm est
evoluindo e muitas coisas que alguns anos atrs eram "verdades" hoje j no so
mais. Pontos que eram considerados importantes e de relevncia j no possuem a
mesma importncia de antes. Assim, antigos conceitos esto sendo revistos, e novos
esto surgindo, levando todos a reavaliar a forma que est sendo feito
gerenciamento de redes hoje, e levantando perspectivas para o futuro.

2- Um pouco da historia do gerenciamento



At o incio da dcada de 1980, redes de computadores eram baseadas em arquiteturas
e protocolos patenteados, a exemplo de System Network Architecture (SNA) da IBM e
DECNET da Digital Equipment Corporation. J no final da dcada de 1980, redes
interconectadas baseadas na arquitetura e protocolos TCP/IP estavam em franca ascenso.
Porm, do ponto de vista da gerncia de tais redes, a situao ainda favorecia arquiteturas
proprietrias, devido inexistncia de solues de gerncia de redes TCP/IP.
O crescimento de redes TCP/IP ao longo da dcada de 80 aumentou
consideravelmente as dificuldades de gerncia. Devido diversidade de
equipamentos das modernas redes de dados, tornou-se necessrio unificar e
padronizar as informaes de gerncia e o protocolo da administrao dessas redes.
Para atender essa necessidade, dois protocolos principais surgiram: o SNMP
(Simple Network Management Protocol) e o CSMIE/CMP (Common Management
Information Service Element/Common Management Information).
A simplicidade do SNMP facilitou sua incluso em equipamentos de
interconexo. No final da dcada de 1990, a soluo SNMP j era to difundida que
se estabelecera como padro de gerncia de redes de computadores. Hoje,
praticamente todos os equipamentos de interconexo do suporte a SNMP, bem
como muitos outros dispositivos (nobreaks, modems etc.), e sistemas de software
(servidores Web, sistemas de bancos de dados etc.). SNMP, alm da parte mais
importante para o gerente de rede: a informao de gerncia, presente na forma de
Management Information Bases (MIBs).

Apenas durante o ano de 1993, foram publicadas 11 RFCs definindo revises
para o SNMP e dando incio ao padro SNMPv2, sendo o primeiro, o RFC 1441
[Case et al 1993]. Esta srie de revises trouxe consigo grandes avanos que foram
3
incorporados ao protocolo original. Tais avanos podem ser classificados de acordo
com as seguintes categorias:

Estrutura de informao;

Primitivas de comunicao (PDUs);

Comunicao gerente-gerente e gerenciamento hierrquico;

Segurana.

A estrutura de informao de gerenciamento (SMIv2) para o SNMPv2 mais
elaborada, e eliminou ambigidades nas definies dos objetos encontrados nas
especificaes anteriores.

Apesar do SNMP em si ser relativamente "simples", h um certo trabalho para
dar suporte a uma MIB no agente. H ainda mais trabalho para construir o suporte
de gerenciamento para utilizar os dados da MIB, e ainda um pouco mais quando se
fala em desenvolver o gerenciamento nas vrias plataformas existentes para
gerenciamento de redes.

Na eterna batalha de se tentar manter estveis as redes, surgem diversas
pesquisas, modelagens e implementaes de solues rebuscadas para a
automatizao de processos gerenciais e, obviamente carssimos softwares
proprietrios. No entanto, existem alternativas essas solues, que so os
softwares livres.

3-O Uso de Software Livre


Software livre" se refere liberdade dos usurios executarem, copiarem,
distriburem, estudarem, modificarem e aperfeioarem o software. Mais
precisamente, ele se refere a quatro tipos de liberdade, para os usurios do
software:

A liberdade de executar o programa, para qualquer propsito (liberdade n. 0)

A liberdade de estudar como o programa funciona, e adapt-lo para as suas
necessidades (liberdade no. 1). Acesso ao cdigo-fonte um pr-requisito
para esta liberdade.
A liberdade de redistribuir cpias de modo que voc possa ajudar ao seu
prximo (liberdade no. 2).
4
A liberdade de aperfeioar o programa, e liberar os seus aperfeioamentos,
de modo que toda a comunidade se beneficie (liberdade no. 3). Acesso ao
cdigo-fonte um pr-requisito para esta liberdade.

Um programa software livre se os usurios tem todas essas liberdades.
Portanto, voc deve ser livre para redistribuir cpias, seja com ou sem modificaes,
seja de graa ou cobrando uma taxa pela distribuio, para qualquer um em
qualquer lugar. Ser livre para fazer essas coisas significa (entre outras coisas) que
voc no tem que pedir ou pagar pela permisso. Voc deve tambm ter a liberdade
de fazer modificaes e us-las privativamente no seu trabalho ou lazer, sem nem
mesmo mencionar que elas existem. Se voc publicar as modificaes, voc no
deve ser obrigado a avisar a ningum em particular, ou de nenhum modo em
especial.

A liberdade de utilizar um programa significa a liberdade para qualquer tipo de
pessoa fsica ou jurdica utilizar o software em qualquer tipo de sistema
computacional, para qualquer tipo de trabalho ou atividade, sem que seja necessrio
comunicar ao desenvolvedor ou a qualquer outra entidade em especial.

A liberdade de redistribuir cpias deve incluir formas binrias ou executveis
do programa, assim como o cdigo-fonte, tanto para as verses originais quanto
para as modificadas. Est ok se no for possvel produzir uma forma binria ou
executvel (pois algumas linguagens de programao no suportam este recurso),
mas deve ser concedida a liberdade de redistribuir essas formas caso seja
desenvolvido um meio de cria-las. De modo que a liberdade de fazer modificaes, e
de publicar verses aperfeioadas, tenha algum significado, deve-se ter acesso ao
cdigo-fonte do programa. Portanto, acesso ao cdigo-fonte uma condio
necessria ao software livre.

Para que essas liberdades sejam reais, elas tm que ser irrevogveis desde
que voc no faa nada errado; caso o desenvolvedor do software tenha o poder de
revogar a licena, mesmo que voc no tenha dado motivo, o software no livre.

Muitas vezes esquecemos os princpios bsicos que determinam a
estabilidade de uma rede e nos entregamos s falsas necessidades impostas pela
indstria de softwares. Algumas caractersticas se mostram importantes para a
5
manuteno de uma rede de computadores. Podemos citar:

Independnci a de fornecedor

Empresas no duram pra sempre. Algumas solues tornam-se
obsoletas e no encontram sustentabilidade por dependerem de um s
fornecedor. Aquele apliance que faz a anlise de trfego de sua rede hoje, e
que roda um sistema proprietrio numa caixa preta, pode se transformar em
lixo no dia em que seu fabricante fechar as portas. interessante obter um
hardware que siga padres estabelecidos, e que seja suportado por diferentes
sistemas operacionais.
Utilizao de padres abertos

Algum montaria sua rede corporativa implementando uma soluo
no compatvel com o TCP/IP? Este o caso mais absurdo, mas podemos
us-lo para fazer analogia a outras implementaes, a exemplo do SNMP
(Simple Network Management Protocol), que um protocolo para gerncia de
redes bastante popular, com especificao aberta e em constante evoluo.
Mesmo assim alguns fabricantes empurram seus protocolos de gerncia, e
algumas pessoas pagam caro (nos dois sentidos) por isso. Alguns fabricantes
fazem pior. Empacotam protocolos estabelecidos num rtulo com sua
assinatura.
Baixo custo de implementao

Montar uma rede no barato. A infraestrutura custa caro, a
implantao custa caro e o suporte custa caro. O software pode custar caro
tambm, mas essa uma escolha sua. Existem excelentes softwares livres
para monitorar e gerenciar recursos de uma rede. Com sua adoo, dois
aspectos referentes ao custo so atacados: custo de suporte, que agora
descentralizado e custo com licena, que zero.
Bons softwares

Bons softwares de gerncia e monitoramento devem prever situaes
indesejveis na rede, e quando possvel tomar as aes preventivas pelo
administrador. Uma interface clara e a centralizao das informaes so
tambm caractersticas importantssimas para a gerncia da rede. A
independncia de plataforma essencial. muito difcil encontrar uma rede
homognea nos quesitos software e hardware. A que geralmente somos
ludibriados com programas que se dizem multi-plataformas. muito raro um
6
software proprietrio atender a esse requisito. Geralmente encontramos uma
soluo multi-plataforma porque que roda em Windows{XP,2000,NT,etc.}e
no mximo num redhat7.2 ou FreeBSD4.3.
Para um bom gerenciamento existem trs preocupaes bsicas que um
administrador de redes deve ter:
1- Gerncia de Falhas

Aqui temos as tarefas de (1) Identificar a falha, (2) Isolar a falha e (3)
Corrigir a falha. uma das tarefas mais importantes para deixar uma rede
com um bom nvel de confiabilidade. tambm uma tarefa complexa,
necessita de ferramentas bastante escalveis e de preferncia que
automatizem ao mximo o processo, desde a identificao at a correo de
uma falha.


2- Gerncia de Desempenho

Muito importante para (1) evitar o mau uso da rede e (2) prover uma
capacidade de planejamento. Gerenciar o desempenho dos recursos de uma
rede muito importante para identificar quais deles devem ser revisto a
propsito de upgrades, ou mesmo de diminuio de custos (largura de banda
desnecessria, por exemplo). Essencial tambm para detectar atividades
ilcitas na rede, como por exemplo a deteco de utilizao dos recursos
durante perodos em que no deveria existir (nas madrugadas, por exemplo).


3 - Configurao Centralizada

A centralizao das informaes, tal como seu correlacionamento
uma caracterstica muito importante para a administrao de uma rede. Uma
interface simples de se manipular essencial quando se trata de dados
complexos e provenientes de variadas localidades. Aps a consolidao da
WEB ficou muito mais fcil produzir ambientes de gerncia (NMS) remotos
multi-plataforma e amigveis. Criou-se ento uma forte independncia de
GUIs proprietrios, possibilitando a gerncia remota em qualquer sistema
conectado rede.

Frente a essas preocupaes, o software livre tornou-se nos ltimos anos
uma alternativa econmica e financeiramente vivel ao modelo atual de
licenciamento de software e a sua poltica abusiva de renovao constante de
7
licena e atualizao de hardware. O software livre passa a ser uma soluo para as
milhes de cpias de software piratas que existem espalhados pelo Brasil e pelo
mundo.
Dentro deste contexto, mostraremos uma ferramenta especificamente, o

NAGIOS, um software livre usado no gerenciamento de redes.



4- Nagios, software livre para gerncia remota de recursos

O NAGIOS um software para gerncia de recursos, um poderoso monitor
de rede. Com ele, possvel monitorar e gerenciar os recursos de hosts, tai como
sua carga de processamento, utilizao de memria, tempo de resposta, utilizao
de banda, etc., atestar o funcionamento adequado dos equipamentos e servios.
Tambm possui um ambiente WEB capaz de gerar mapas da rede, relatrios e
grficos online e possvel criar grupos de usurios para receber relatrios e alertas
do sistema e executar aes sobre os problemas da rede ou hosts monitorados.


Algumas caractersticas do Nagios:

Monitora servios de rede

Monitora recursos de hosts

Define hierarquia da rede

Sistema inteligente de notificaes

Alertas para pagers, email, celular, etc;

Possibilidade de implementao de servidores de monitoramento
distribudos e redundantes.
Interface WEB capaz de informar sobre status de redes, hosts,
servios, logs, notificaes. mapas da rede 2D e 3D
Relatrios, integrao com BDs, etc



O requisitos para rodar o Nagios so: uma maquina rodando um sistema
operacional Linux (ou qualquer variao UNIX); um compilador C; e provavelmente
ter TCP/IP configurado, um servidor web e uma biblioteca GD, atualizada, para a
gerao de grficos.
8

4.1- Obtendo e instalando o Nagios

O software est disponvel no site : http://www.nagios.org/download, e antes
de comear a usa-lo interessante que seja lida a documentao, para que os
conceitos que so utilizados na configurao do sistema fiquem bem claros.

Os passos para instalao do Nagios sero os seguintes:

1- Instalar o Nagios

2- Instalar o Nagios-plugins

3- Configurar o servidor WEB

4- Configurar o Nagios



4.2 Instalao do Nagios

1- Descompacte o arquivo com o cdigo fonte, use o comando:

tar xzvpf nagios-1.1.tar.gz

2- Crie o diretrio de instalaao

mkdir -p /usr/local/nagios

3 -Adicione o usurio e grupo nagios:

groupadd nagios

useradd -g nagios -d /usr/local/nagios -s /bin/false nagios



4-A compilao ser bsica, sem suporte a banco de dados, para isso so
necessrios os comandos:
./configure --prefix=/usr/local/nagios --with-nagios-user=nagioswith-
nagios-grp=nagios--with-cgiurl=/nagios/cgi-bin--ithhtmurl=/nagios( parmetros
para compilao )
make all -s ( criao de binrios )

make install -s ( instalao de binrios )

make install-init -s ( instalao de script de inicializao )

make install-config -s ( instalao de exemplos de configurao no diretrio

/usr/local/nagios/etc )

Aps a instalao sero criados os diretrios abaixo:

/usr/local/nagios

bin/ ( Arquivos binrios do Nagios )

etc/ ( Diretrio de Configurao )
11

sbin/ ( CGI's )

share/ ( Arquivos HTML )

var/ ( Diretrio de logs )





4.2 Instalao do Nagios-plugins

Descompacte o arquivo com o cdigo fonte, use o comando:

tar xzvpf nagios-plugins-1.3.1.tar.gz

Antes de iniciar a instalao ALTAMENTE recomendvel ler o arquivo
REQUIREMENTS para verificar quais os requisitos dos plugins. Para compilar
use o seguinte parmetro:
./configure --prefix=/usr/local/nagios --with-nagios-user=nagios

--with-nagios-grp=nagios

Verifique se no est faltando algum componente para os plugins. Caso
esteja faltando algum ir aparecer uma mensagem com o link para download
e instalao.

make all -s ( criao de binrios )

make install -s ( instalao de binrios )

Aps a instalao ser criado o diretrio abaixo:

- /usr/local/nagios

libexec/ ( Arquivos de Plugins do Nagios )



4.2 Configurando o servidor web

Para acessar o Nagios via web, necessrio adicionar a seguinte
configurao no httpd.conf do apache:
ScriptAlias /nagios/cgi-bin/ /usr/local/nagios/sbin/

< Directory "/usr/local/nagios/sbin/" >
AllowOverride AuthConfig
Options ExecCGI
Order allow,deny
Allow from all
< /Directory >

Alias /nagios/ /usr/local/nagios/share/

< Directory "/usr/local/nagios/share" >
12

Options None
AllowOverride AuthConfig
Order allow,deny
Allow from all

< /Directory >



Depois necessrio criar o arquivo com usurio e senha, para isso use o
comando abaixo:
htpasswd -c /usr/local/nagios/etc/htpasswd.users usuario

chown apache:apache /usr/local/nagios/etc/htpasswd.users (verifique qual o
usurio e grupo do apache)
4.2 Confi gurando o Nagi os

No h complexidade alguma nesse processo, porm deve-se estar
atento que os arquivos de configurao do Nagios devem estar em sintonia.
A primeira boa prtica agora gerar os arquivos-exemplo de configurao do
Nagios, entrando no diretrio que contm os fontes (aquele que voc executou o
make) e executar o seguinte comando:
make install-config

Antes de iniciar a configurao iremos fazer uma cpia dos arquivos
originais):
cd /usr/local/nagios/etc
mkdir original
mv *.cfg-sample original

for i in *cfg-sample; do mv $i `echo $i|sed -e s/cfg-sample/cfg/`; done;



Depois iremos copiar somente os arquivos necessrios:

cd /usr/local/nagios/etc/original

cp cgi.cfg checkcommands.cfg misccommands.cfg nagios.cfg
resource.cfg timeperiods.cfg ../


Arquivos de configurao:

1. CGI.CFG

Nele ficam as configuraes de utilizao de arquivos cgi pelo Nagios.
Devem ser configurados os parmetros de autorizao de utilizao da
13

interface Web. Altere os campos para o nome do usurio cadastros no
arquivo /usr/local/nagios/etc/htpasswd.users e assim tero acesso ao sistema,
os parmetros so:
authorized_for_system_information=usuario1, usuario2
authorized_for_configuration_information=usuario1, usuario2
authorized_for_system_commands= usuario1, usuario2
authorized_for_all_services=usuario1, usuario2
authorized_for_all_hosts=usuario1, usuario2
authorized_for_all_service_commands=usuario1, usuario2
authorized_for_all_host_commands=usuario1, usuario2


2. CHECKCOMMANDS.CFG

Configurao dos plugins que esto no diretrio

/usr/local/nagios/libexec. Basta adicionar o plugin e seus parmetros.



3. MISCCOMMANDS.CFG

Definio de algums comandos, tais como envio de e-mail, envio de
pager, etc ...


4. NAGIOS.CFG

Arquivo com as configuraes principais. O padro bem completo,
somente altere os parmetros:
check_external_commands=0 -> check_external_commands=1
date_format=us -> date_format=euro


5. RESOURCE.CFG

Configurao de parmetros de recursos. Por padro vem definido qual
o caminho dos plugins. Pode ser setadas variveis para serem utilizadas nos
arquivos CHECKCOMMANDS.CFG e MISCCOMMANDS.CFG.


6. TIMEPERIODS.CFG

Arquivo com os horrios pr-definidos para checagem de servios e/ou
servidores. muito til para avisos para diferentes grupos.
14

Configurando usurios e grupos de usurios



Existem dois arquivos que se referem a essa tpico. So eles:

contactgroups.cfg e contacts.cfg. Abaixo cada um deles explicados.
contacts.cfg
define contact{
contact_name login
alias Nome do Usuario
service_notification_period Periodos definidos em TIMEPERIODS.CFG
host_notification_period Periodos definidos em TIMEPERIODS.CFG
service_notification_options w,u,c,r ( w=warning / u=unknown /
c=critical / r=recoveries / n=none)

host_notification_options d,u,r ( d=down / u=notify / r=recoveries /

n=none )

service_notification_commands notify-by-email
host_notification_commands host-notify-by-email
email root@dominio.com.br
}contactgroups.cfg
define contactgroup{
contactgroup_name grupo

alias Nome do Grupo

members Logins definidos no arquivo contacts.cfg

}

Configurando hosts e grupos de hosts

Existem dois arquivos que se referem a essa tpico. So eles:

hostgroups.cfg e hosts.cfg.



hosts.cfg

define host{
event_handler_enabled 1
flap_detection_enabled 1
max_check_attempts 5
name generic-host
15

notification_interval 20
notification_options d,u,r
notification_period 24x7
notifications_enabled 1
process_perf_data 1
retain_status_information 1
retain_nonstatus_information 1
register 0
}

#Definicao do 'servidor1'
define host{
use generic-host
address IP do Servidor
alias Nome do Servidor
check_command Comando a ser efetuado ( funcao do services.cfg)

host_name Host_Name_do_servidor

}

hostgroups.cfg



define hostgroup{
hostgroup_name nome_do_grupo
alias Descricao do Grupo
contact_groups grupos_que_fazem_parte

members membros_que_fazem_parte

}

Cri ando os arquivos dependencies.cfg e escal ations.cfg

Utilize o comando abaixo para criar os dois arquivos pelo primeira vez.

necessrio para iniciar o Nagios:

touch /usr/local/nagios/etc/dependencies.cfg
touch /usr/local/nagios/etc/escalations.cfg
Tambm necessrio criar o diretrio abaixo:

mkdir -p /usr/local/nagios/var/rw

chown nagios:nagios -R /usr/local/nagios/var/rw

Iniciando o Nagi os
16

Aps as configuraes necessrio iniciar o Nagios. Utilize o comando
abaixo para verificar se est correto os arquivos:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Se tudo estiver certo, inicie o Nagios com o comando:

/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg

Assim ser iniciado como daemon. No esquea que foi criado o arquivo
de inicializao no diretrio /etc/rc.d/init.d/nagios.


5- Consideraes Finais

Podemos sentir hoje o grande potencial do software livre nas diversas reas,
e no seria diferente na gerncia e segurana de redes/sistemas. A evoluo dos
equipamentos empregados e a maior dependncia dos negcios na agilidade e
confiabilidade deste meio de comunicao faz com que a rea de gerenciamento
cresa e oferea um enorme potencial futuro.
Assim como o Nagios, que oferece muitos recursos de
monitoramento,existem, e esto surgindo a cada dia, vrias outras solues livres
para auxiliar a complexa tarefa de gerenciar uma rede, como o CACT(
monitoramento de recursos), o NTOP (analisador de trfego), e vrios outros que
esto disponveis para a comunidade que deseja utilizar softwares livres. Toda esta
evoluo juntamente com a popularizao dos softwares livres ajuda a auxiliar o
profissional de gerencia e aumenta o leque de opes na hora da escolha dos
softwares para gerenciamento das redes.

17

Referncia Bibliogrfica


TANEMBAUM, Andrews S.: traduo Vandenberg D. de Souza. Redes de
Computadores. 4. ed.. Rio de J aneiro: Elsevier, 2003.

COMER, Douglas E., STEVENS, David L. Interligao em Rede com TCP/IP. 3.ed..
Rio de J aneiro: Campus, 1999.

Monitoramento Inteligente com o Nagios. Disponvel em:
<http://www.opencode.com.br/modules.php?name=News&file=article&sid=376>.
Acesso em 27 maio 2005.

Simple Network Management Protocol (SNMP). Disponvel em:
<http://www.teleco.com.br/tutoriais/tutorialsnmp/pagina_1.asp>Acesso em 25 maio
2005.

Gerenciamento de Redes TCP/IP. Disponvel em:
<http://www.rnp.br/newsgen/9712/gerencia.html>Acesso em 24 maio 2005.


Sistemas TTS: Uma abordagem voltada para Sistemas de Gerenciamento de
Redes. Disponvel em: <http://www.rnp.br/_arquivo/wrnp2/2003/oscfa04a.pdf>
Acesso 23 maio 2005.

Tutorial SNMP. Disponvel em:
<http://www.teleco.com.br/tutoriais/tutorialsnmp/pagina_1.asp>


Instalao e configurao do Nagios. Disponvel em:
<http://web.onda.com.br/humberto/arquivo/nagios.pdf>Acesso 03 maio 2005.

Vous aimerez peut-être aussi