Monitoração de Hosts e Serviços com o NAGIOS

Uma das maiores dificuldades de administradores de redes em ambientes com S.O.´s diversificados e críticos, é a monitoração de hosts e serviços. Por isso, elaboramos um artigo que visa ir um pouco mais a fundo na configuração do Nagios, ajudando iniciantes e experientes a tirar proveito desta consagrada ferramenta.

[ Hits: 119.224 ]

Por: Gilberto Russo em 23/09/2006


Apresentação e instalação



O NAGIOS é um programa de monitoramento de Rede independente de plataforma ou equipamento. Com ele é possível verificar o status de equipamentos ou de toda a rede. Também é possível criar grupos de usuários para receber determinados alertas.

Sistema Operacional: Linux
Mandriva Linux release 2006.0 for i586
Kernel 2.6.12-12mdk on an i686

Ambiente de Teste: Celeron 1.8, 512 RAM, HD 40GB

Pré-Requisitos:
  • Servidor Apache com suporte a CGI
  • Bibliotecas de Imagem para o Status Map (Mapa da Rede)
  • Plugin de VRML no Browser para o 3D- Status Map

Instalação
Instalando Servidor Apache 2.0 no Mandriva

Instale o servidor Web Apache através dos repositórios do Mandriva. Caso desejar poderá instalar o apache através do fonte.

# urpmi apache-modules-2.0.54-13mdk apache-conf-2.0.54-12mdk apache-mpm-prefork-2.0.54-13mdk apache-base-2.0.54-13mdk

Instalando as bibliotecas necessárias de imagem:

# urpmi libgd2 libgd2-devel libpng3 libpng3-devel libjpeg62 libjpeg62-devel zlib1 zlib1-devel

Lista de pacotes das bibliotecas de imagem:

libexpat0-devel-1.95.8-1mdk.i586
libfontconfig1-devel-2.3.2-5mdk.i586
libfreetype6-devel-2.1.10-8mdk.i586
libgd2-2.0.33-3mdk.i586
libgd2-devel-2.0.33-3mdk.i586
libjpeg62-devel-6b-37mdk.i586
libpng3-devel-1.2.8-1mdk.i586
libxorg-x11-devel-6.9-1.cvs20050915.2mdk.i586
libxpm4-devel-3.4k-31mdk.i586
pkgconfig-0.19-2mdk.i586
zlib1-devel-1.2.3-1mdk.i586

Antes de prosseguir a instalação e configuração do Nagios, certifique-se que o servidor Apache está no ar, checando o estado da porta 80:

# netstat -anp | grep -w 80
tcp     0   0 0.0.0.0:80    0.0.0.0:*     OUÇA    3955/httpd

Obtendo o código fonte


Acesse o site oficial do Nagios para realizar o download da versão mais recente do Nagios:
Esse manual está baseado na versão 2.4 lançada dia 31 de maio de 2006.

Você poderá também usar o comando wget para baixar o código fonte direto no servidor caso o mesmo não possua interface gráfica habilitada.

# wget http://superbeast.dl.sourceforge.net/sourceforge/nagios/nagios-2.4.tar.gz

Compilando o Nagios


Antes de descompactar o código fonte do Nagios e realizar a compilação é necessário criar o usuário e grupo que irão controlar os processos desse serviço já definindo o home do mesmo como sendo o diretório onde o Nagios será instalado:

# adduser nagios -d /usr/local/nagios

CheckList:

# tail -1 /etc/passwd
# tail -q /etc/group
# ls -ld /usr/local/nagios


Descompacte o arquivo do código fonte na pasta /usr/local/src por ser a pasta mais indicada pela FHS (File Hierarchy Standard) para armazenamento de fontes:

# tar -xvzf nagios-2.4.tar.gz -C /usr/local/src/
# cd /usr/local/nagios-2.4


Iremos compilar o Nagios sem suporte a banco de dados, então temos apenas que definir algumas informações referente a localizações.
  • --prefix=/usr/local/nagios -> Diretório de Instalação
  • --with-nagios-user=nagios -> Usuário do Nagios
  • --with-nagios-grp=nagios -> Grupo do Nagios
  • --with-cgiurl=/nagios/cgi-bin -> Endereço das páginas CGI's
  • --with-htmurl=/nagios -> Endereço da url principal.

# ./configure --prefix=/usr/local/nagios \
--with-nagios-user=nagios \
--with-nagios-grp=nagios \
--with-cgiurl=/nagios/cgi-bin \
--with-htmurl=/nagios


OBS: Preste atenção enquanto o "configure" checa todas as dependências, pois caso falte alguma ele mostra uma mensagem de aviso na tela.

Para prosseguir a instalação verifique se as informações de instalação foram definidas corretamente. Exemplo:

*** Configuration summary for nagios 2.4 05-31-2006 ***:

 General Options:
 -------------------------
        Nagios executable:  nagios
        Nagios user/group:  nagios,nagios
       Command user/group:  nagios,nagios
            Embedded Perl:  no
             Event Broker:  yes
        Install ${prefix}:  /usr/local/nagios
                Lock file:  ${prefix}/var/nagios.lock
           Init directory:  /etc/rc.d/init.d
                  Host OS:  linux-gnu

 Web Interface Options:
 ------------------------
                 HTML URL:  http://localhost/nagios/
                  CGI URL:  http://localhost/nagios/cgi-bin/
 Traceroute (used by WAP):  /usr/sbin/traceroute

Caso alguma informação acima esteja errada, você poderá executar o comando "make clean" e repetir o processo de checagem com o configure.

Para concluir a instalação você deverá executar os seguintes comandos:

Criação dos binários do nagios:

# make all

Instalação dos binários no diretório /usr/local/nagios:

# make install

Instalação do script de inicialização:

# make install-init

Configuração das permissões para os arquivos de comando:

# make install-commandmode

Criação dos arquivos de configuração (/usr/local/nagios/etc):

# make install-config

Instalando os plugins do Nagios


Plugins são basicamente executáveis compilados ou scripts, desenvolvidos em Perl, Shell e etc que podem ser executados na linha de comando para checar o status de um cliente ou um serviço. O Nagios usa o resultado dos plugins para determinar o status atual dos clientes e serviços da rede. Nagios sem plugins não tem utilidade nenhuma.

No site oficial do Nagios você poderá obter o pacote básico de plugins do Nagios. Estarei nesse manual usando a versão 1.4 dos plugins:

# wget -r http://ufpr.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.3.tar.gz

Descompacte o source dos plugins no diretório /usr/local/src para manter um padrão de File System:

# tar -xvzf nagios-plugins-1.4.3.tar.gz -C /usr/local/src

Compilação dos plugins oficiais do Nagios:

# cd /usr/local/src/nagios-plugins-1.4.3/
# ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-grp=nagios
# make all
# make install


CheckList:

# ls /usr/local/nagios/libexec

Todos os plugins instalados do Nagios deverão ficar no diretório /usr/local/nagios/libexec sempre com o prefixo "check".

Exemplos:
  • check_ping - Plugin para checar se um host está ativo.
  • check_ssh - Plugin para checar se a porta do ssh está ativa.
  • check_http - Plugin para checar se a página web está no ar.
  • check_dns - Plugin para checar se o DNS está resolvendo nome.

No site www.nagiosexchange.org existem vários plugins desenvolvidos pela Comunidade Software Livre. Alguns exemplos estarão sendo configurados mais adiante.

    Próxima página

Páginas do artigo
   1. Apresentação e instalação
   2. Configuração
   3. Testando e agradecimentos
Outros artigos deste autor

Proxy reverso e balanceamento de carga utilizando o Pound

KnowledgeTree - Um Gerenciador Eletrônico de Documentos funcional

Acesso remoto utilizando FreeNX

ISCSI - Um sistema de transferência de arquivos diferente

Instalando o Squid + SquidGuard

Leitura recomendada

Instalando OpenWrt no TP-LINK MR3420

Configurando quota de disco no Fedora (fácil e prático)

Autenticação de cliente 802.1x WPA utilizando EAP-TTLS FreeRADIUS + Samba + LDAP

O dia em que o KDE me surpreendeu

Rsyslog - Gerenciamento centralizado de logs

  
Comentários
[1] Comentário enviado por coffani em 23/09/2006 - 17:45h

Esse tuturial era tudo q eu estava precisando, parabens pelo material..

[2] Comentário enviado por pilao51 em 23/09/2006 - 22:46h

Olá, meu nome eh Paulo e ja tenho artigo publicado no VOl, e estava pensando em publicar algo sobre Nagios, mas esse aqui escrito pelo Gilberto Russo, eh o melhor e mais completa artigo sobre nagios q. ja encontrei, muito mais q. nota 10, depois deste nem me atrevo a escrever algo. Parabens mesmo.
Paulo (pilao51)

[3] Comentário enviado por MarioJE em 24/09/2006 - 02:06h

Não é por nada não, mas aqui não carregou.

Apareceu {PAGINATITULO}, {TEXTO} e {PAGINAS}, no lugar do título, do artigo e a lista das páginas.

O que houve??

[4] Comentário enviado por megatux em 24/09/2006 - 03:30h

Estou com o mesmo problema do amigo MarioJE ...

[5] Comentário enviado por marcelovoax em 24/09/2006 - 18:19h

Não vejo nada tb, sera que etou cego?

[6] Comentário enviado por gilberto.russo em 24/09/2006 - 18:50h

Senhores,

parece que está realmente com problemas, vou entrar em contato com o Fabio de Paula (Administrador do Viva o Linux.

Gilberto Russo

[7] Comentário enviado por pilao51 em 25/09/2006 - 14:53h

Para que o Nagios possa enviar e-mails notificando caso algum hosts monitorado apresente problemas, você deverá criar um checkcommand no arquivo checkcommands.cfg. Para isso adicione as seguintes linhas no final do arquivo:

# vi checkcommands.cfg

Ta faltando as linhas para inserir no checkcommands.cfg , vc. pode me mandar.
Paulo (pilao51)

[8] Comentário enviado por fenunes em 25/09/2006 - 17:07h

Outra dica;

Caso você adicione um número grande de monitorações é necessário a instalação de um Banco de Dados.
Eu por exemplo utilizo este sistema de monitoração e uso uma máquina para rodar a aplicação do Nagios e outra pro banco MySQL.
É importante isso para ter um bom desempenho dos dados.

[9] Comentário enviado por pdjailton em 23/11/2006 - 15:11h

voce colocou servicos como o espacço em disco que verificam o espado do disco local, certo! Gostaria de saber como que faço para rodar estes serviços que voce colocou neste artigo em maqinas remotas.

é que eu tenho varios servidores e gostaria de implementar alguns serviços ( como o espaço em disco ) para verificar isso neles, de preferencia atraves do uso do snmp.

sera q pode me ajudar?

[10] Comentário enviado por claytonbh em 14/06/2007 - 16:25h

parabens e otimo tutorial, vc esclareceu algo que muitos nao fizeram que foi a explicação sobre o arguivo nagios.cfg que controla os arquivos como services e comands.

[11] Comentário enviado por removido em 19/06/2007 - 21:01h

Olá gostaria de saber se alguem sabe como alterar o check_command definido no hosts.cfg para utilizar o check_nrpe ao inves do check-host-alive. Já criei o comando no checkcommands.cfg como abaixo e a config do hosts.cfg:

CHECKCOMMANDS.CFG

define command{
command_name check_nrpe1
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c SERVNRPE
}

HOSTS.CFG

define host{

notifications_enabled 0
event_handler_enabled 1
flap_detection_enabled 1
host_name Host1
alias CPU
parents SERVER1
check_command check_nrpe1
process_perf_data 1
retain_status_information 1
retain_nonstatus_information 1
register 0
max_check_attempts 3
notification_interval 30
notification_period 24x7
notification_options d,u,r
address XX.XX.XXX.XX
}

O nagios não está execuntando o comando. O Status do host ficam sempre como pendente.

[12] Comentário enviado por agimenez em 19/10/2007 - 19:02h

Tudo funcionou, só q não recebo a notificação via e-mail!!!

Alem de tudo isso, preciso instalar/ou configurar serviço de e-mail??

Obrigado

[13] Comentário enviado por leandroalos em 22/10/2007 - 16:11h

Alguem sabe como definir os icones de todos os hosts atraves da identificacao apenas do hostgroups?

[14] Comentário enviado por fontebon em 16/01/2008 - 11:31h

Qual MTA devo usar para o envio de e-mail? Exim4?

Alguem tem algum macete para funcionar o envio de e-mail do nagios?


[15] Comentário enviado por urielpunk em 04/05/2009 - 09:15h

Dica*
Para quem não tem costume vale pena lembra que httpd faz link para /etc/httpd/conf.d/nagios.conf

Se reparar no final do # vi /etc/http/conf/httpd.conf tera a linha de comando # Include /etc/httpd/conf.d/nagios.conf, que seria local correto para configurar Nagios Web.

[16] Comentário enviado por vanvanredes em 28/10/2014 - 21:53h

Boa Noite!!!

Estou aki meio que perdida fiz a instalação do nagios e quando adiciono o host o status aparece down alguém ai pode me ajudar??


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts