Nagios - Um Poderoso Programa de Monitor Amen To de Rede (Parte 1)

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

Transcript of Nagios - Um Poderoso Programa de Monitor Amen To de Rede (Parte 1)

Page 1: Nagios - Um Poderoso Programa de Monitor Amen To de Rede (Parte 1)

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

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

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

Page 2: Nagios - Um Poderoso Programa de Monitor Amen To de Rede (Parte 1)

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 [email protected] 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>

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

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

Page 3: Nagios - Um Poderoso Programa de Monitor Amen To de Rede (Parte 1)

É 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

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

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

Page 4: Nagios - Um Poderoso Programa de Monitor Amen To de Rede (Parte 1)

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.

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

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

Page 5: Nagios - Um Poderoso Programa de Monitor Amen To de Rede (Parte 1)

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.

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

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

Page 6: Nagios - Um Poderoso Programa de Monitor Amen To de Rede (Parte 1)

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 [email protected] }

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

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

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

Page 7: Nagios - Um Poderoso Programa de Monitor Amen To de Rede (Parte 1)

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

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

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