Vous êtes sur la page 1sur 7

Nagios - Um poderoso programa de monitoramento de rede (parte 1) [Artigo] Page 1 of 7

Nagios - Um poderoso programa de monitoramento de rede (parte 1)

Autor: Wanderson Berbert <w.berbert at hotmail.com>


Data: 13/01/2004

Introdução

Nagios é um programa open source de monitoramento de redes que verifica constantemente a


disponibilidade do serviço, local ou remoto e avisa por meio de email ou celular sobre o problema
ocorrido.

É possível obter relatórios de disponibilidade e configurar ações corretivas para os problemas


ocorridos na rede. O Nagios tem uma interface que permite monitoramento via WAP e Browser
(Netscape, Mozilla, Galeon...), possui configuração de alertas, o que permite tomar ações
corretivas para um erro eminente.

O programa se encontra disponível para download em:

 http://www.nagios.org

A versão atual do Nagios é a 1.1.

Instalando

Faça o download da versão atual do Nagios, você pode usar o wget:

$ wget http://heanet.dl.sourceforge.net/sourceforge/nagios/nagios-1.1.tar.gz

Descompacte o arquivo utilizando o tar:

$ tar zxvf nagios-1.1.tar.gz

É necessário criar uma conta de usuário para o programa, um possível comando seria:

# adduser --disabled-password --shell /bin/false nagios

Entre na pasta inicie a compilação:

$ ./configure

se tudo estiver correto:

$ make all
# make install

http://www.vivaolinux.com.br/artigos/impressora.php?codigo=595 29/4/2011
Nagios - Um poderoso programa de monitoramento de rede (parte 1) [Artigo] Page 2 of 7

A compilação irá gerar arquivos CGIs que serão utilizados em conjunto com o Apache, então para
que o Nagios funcione corretamente, o Apache deverá estar funcionando.

O Nagios funciona através de plugins, ou seja, caso queira disponibilizar alguma funcionalidade
que não esteja no pacote padrão, basta baixar o plugin e instalar.

Por padrão o Nagios é instalado em /usr/local/nagios.

Os próximos passos são:

# make install-ini
-> para instalar o script de inicialização do nagios.

# make install-commandmode
-> para configurar as permissões de pasta para aplicativos externos.

# make install-sample
-> um modelo de arquivo de configuração será instalado em /usr/local/nagios/etc.

Configurando o Apache

Existem duas maneiras de se configurar o Apache, uma delas é simplesmente definindo um alias
no arquivo srm.conf, que no meu caso se localiza em /etc/apache/:

# vi srm.conf

Adicione as seguintes linhas no arquivo:

ScriptAlias /nagios/cgi-bin/ /usr/local/nagios/sbin/


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

# vi access.conf

Adicione as seguintes linhas no arquivo:

<Directory /usr/local/nagios/sbin>
AllowOverride None
Options ExecCGI FollowSymLinks
</Directory>

Ou então através de um host virtual. Edite o arquivo httpd.conf e adicione as linhas:

<VirtualHost seuipexterno seuipinterno>


ServerAdmin wberbert@seudominio.com.br
ServerName nagios.seudominiocom.br
DocumentRoot /usr/local/nagios/share/
ErrorLog /var/log/apache/nagios.seudominio.com.br-erro.log
Transferlog /var/log/apache/nagios.seudominio.com.br-access.log
</VirtualHost>

http://www.vivaolinux.com.br/artigos/impressora.php?codigo=595 29/4/2011
Nagios - Um poderoso programa de monitoramento de rede (parte 1) [Artigo] Page 3 of 7

É necessário que exista um alias no DNS ou no arquivo host para o endereço


nagios.seudomino.com.br.

Maiores informações sobre como criar um host virtual você pode encontrar em
http://www.apache.org ou procurando aqui mesmo no Viva o Linux.

Neste artigo assumirei a configuração do Nagios através da criação de um alias.

A versão do Apache utilizado neste arquivo foi:

Server version: Apache/1.3.26 (Unix) Debian GNU/Linux

Arquivos de configuração

A seguir darei uma breve descrição dos principais arquivos de configuração do Nagios.

 nagios.cfg, arquivo de configuração principal do Nagios, responsável por iniciar os serviços


de monitoramento.
 cgi.cfg, arquivo de configuração dos programas CGIs localizados na pasta sbin.
 hosts.cfg, arquivo contendo informações sobre hosts.
 hostgroups.cfg, arquivo contendo informações de hosts por grupos.
 contacts.cfg, contatos que deverão se notificados caso alguma falha aconteça.
 contactsgroups.cfg, contatos divididos em grupos.
 services.cfg, serviços que deverão ser monitorados.
 dependencies.cfg, informações de serviços que dependem de outros serviços.
 timeperiods.cfg, informações sobre o período de monitoramento, podem ser definidos
vários períodos de monitoramento diferentes.
 checkcomands.cfg, definição dos comandos que podem ser executados pelo Nagios.
 resource.cfg, macros definidas pelo usuário.

Configurando o Nagios

Primeiramente copie todos os arquivos .cfg-sample para .cfg.

A configuração do Nagios não é direta, uma vez que os arquivos são interdependentes, caso ao
iniciar o Nagios aconteça algum erro na configuração, geralmente o motivo foi a falta de
configuração de todos os arquivos cfg necessários, uma vez que o cfg copiado de cfg-sample não
irá funcionar, ele é apenas utilizado como referência para suas próprias configurações.

Mostrarei aqui os arquivos que deverão ser alterados para que o Nagios funcione corretamente e
mostrarei alguns exemplos de configuração.

Os arquivos que a princípio devem ser modificados são:

hosts.cfg
hostgroups.cfg
contacts.cfg
contactgroups.cfg

http://www.vivaolinux.com.br/artigos/impressora.php?codigo=595 29/4/2011
Nagios - Um poderoso programa de monitoramento de rede (parte 1) [Artigo] Page 4 of 7

services.cfg
cgi.cfg
escalation.cfg
dependencies.cfg

nagios.cfg

O nagios.cfg é o arquivo de configuração principal do programa, nele se encontra todas as


configurações básicas do mesmo.

A princípio nenhuma modificação precisará ser feita. Basta apenas colocar o nagios.cfg
em /usr/local/nagios/etc/.

cgi.cfg

Neste arquivo, a fim de facilitar a configuração, iremos desabilitar a autenticação CGI para
usuários. Localize a linha:

use_authentication=1

e modifique para:

use_authentication=0

Explicarei em outro artigo como habilitar a autenticação de usuário no Nagios, a princípio nos
preocuparemos em colocar o serviços funcionando.

Este arquivo deverá estar em /usr/local/nagios/etc/.

hostgroups.cfg

Armazena informações de grupos de equipamentos (computadores, switch, impressoras)


existentes em sua rede.

A configuração de hostgroups.cfg torna-se necessário para que se organize os dispositivos de rede


e torne a leitura mais fácil.

Um exemplo de hostgroups.cfg:

define hostgroup {
hostgroup_name servidores
alias Servidores windows e linux
contact_groups administrador
members computador.dominio.com.br
}

omputador.dominio.com.br terá que existir no arquivo de configuração hosts.cfg.

http://www.vivaolinux.com.br/artigos/impressora.php?codigo=595 29/4/2011
Nagios - Um poderoso programa de monitoramento de rede (parte 1) [Artigo] Page 5 of 7

administrador terá que existir no arquivo de configuração contactgroups.cfg.

hosts.cfg

Armazenas as informações sobre os dispositivos de rede (computador, switch, impressora,


roteador).

Um exemplo de hosts.cfg com apenas uma máquina:

define host {
use generic-host ; Name of host template to use
host_name computador.dominio.com.br
alias computador
address 192.168.0.1
check_command check-host-alive
max_check_attempts 10
notification_interval 120
notification_period 24x7
notification_options d,u,r
}

 host_name é o nome do computador na rede.


 alias é um apelido amigável para o computador.
 address é o endereço IP da máquina.
 check_command é o comando a ser executado, está definido em checkcommands.cfg.
 max_check_attempts é o número máximo de vezes que o programa irá checar pelo serviço
até reportar um erro.
 notification_interval, de quantos em quantos segundos será enviado uma notificação para o
usuário responsável pelo serviço.
 notification_period, qual o horário que o serviço ficará ativo.
 notification_options, quando notificar um erro, d-down,u-unrecheable,r-recovery.

contactgroups.cfg e contacts.cfg

contactsgroups.cfg são os contatos divididos em grupos.

Um exemplo de contactgroups.cfg:

define contactgroup {
contactgroup_name administrador
alias Administradores de rede
members wberbert
}

contacts.cfg são os contatos cadastrados no sistema. Estes contatos serão notificados caso algum
erro aconteça na rede.

http://www.vivaolinux.com.br/artigos/impressora.php?codigo=595 29/4/2011
Nagios - Um poderoso programa de monitoramento de rede (parte 1) [Artigo] Page 6 of 7

Um exemplo de contacts.cfg:

define contact {
contact_name wberbert
alias Wanderson Berbert
service_notification_period workhours
host_notification_period workhours
service_notification_options c,r
host_notification_options d,r
service_notification_commands notify-by-email
host_notification_commands host-notify-by-email
email wberbert@sermap.com.br
}

Instalando os plugins

Os plugins são os programas que farão a checagem do serviço propriamente dito, sem os plugins o
Nagios é um programa inútil.

Primeiramente obtenha os plugins com o comando:

$ wget http://keihanna.dl.sourceforge.net/sourceforge/nagiosplug/ nagios-plugins-


1.4.0alpha1.tar.gz

Descompacte com o comando:

$ tar -zxvf nagios-plugins-1.4.0alpha1.tar.gz

Entre na pasta e execute:

$ ./configure
$ make
# make install

Pronto, os plugins estarão instalados na pasta /usr/local/nagios/libexec/.

Se tudo foi feito corretamente, o Nagios a esta altura estará funcionando com a configuração
básica.

Boa sorte.

Disponibilizei na sessão de .Conf os arquivos básicos de configuração do Nagios:

 nagios.tar.gz

ATENÇÃO: todos os arquivos da pasta /usr/local/nagios deverão pertencer ao usuário


nagios.nagios, a fim que se evite problemas desnecessários com permissões de arquivos.

Considerações finais

http://www.vivaolinux.com.br/artigos/impressora.php?codigo=595 29/4/2011
Nagios - Um poderoso programa de monitoramento de rede (parte 1) [Artigo] Page 7 of 7

E importante que se tenha em mente:

 O Nagios não irá funcionar sem os plugins.


 O Nagios não irá funcionar se o Apache não estiver configurado corretamente.
 Verifique as permissões dos arquivos antes de ficar desesperado :-).
 Preste atenção na localização dos arquivos.
 Tenha certeza que configurou tudo antes de iniciar o programa.

Maiores informações podem ser obtidas em: http://www.nagios.org.

Qualquer dúvida envie um email.

http://www.vivaolinux.com.br/artigo/Nagios-Um-poderoso-programa-de-monitoramento-de-rede-
(parte-1)

Voltar para o site

http://www.vivaolinux.com.br/artigos/impressora.php?codigo=595 29/4/2011