você está aqui: Home  → Arquivo de Mensagens

Configurando o Nagios no Debian Lenny parte 2 (Atualizado)

Colaboração: Guilherme Rezende dos Santos

Data de Publicação: 16 de dezembro de 2010

O título do tutorial se refere a configuração apenas no debian, pois quando escrevi esse tutorial na primeira vez, utilizei apenas esta distribuição. Nessa nova versão apresento como instalá-lo no debian, no ubuntu e no CentOS.

Na primeira parte deste tutorial foi abordado a instalação do Nagios e seus plugins. Agora apresentarei as configurações do Nagios para realizar o monitoramento de servidores GNU/Linux.

Relembrando, a estrutura de diretórios do Nagios é a seguinte:

bin Binários do Nagios
etc Diretório principal do Nagios ele contém os arquivos de configuração
libexec Os plugins do Nagios
sbin CGIs
share Arquivos HTML (para interface web e documentação online)
var Utilizado para arquivos de log

Após a realização da configuração abordada na primeira parte, já temos o Nagios funcionando e monitorando a máquina onde está instalado. Os serviços que estão sendo monitorados no momentos estão disponíveis no arquivo localhost.cfg dentro do diretório /usr/local/nagios/etc/objects/. Nesse arquivo você encontrará basicamente a definição da maquina local, do grupo a qual ela pertence e os serviços que estão sendo monitorados.

  define host{
        use linux-server # Template contendo as configurações que serão
                         #  herdadas pela maquina que está sendo definida
        host_name        localhost       # nome da máquina a ser monitorada
        alias            nagios-machine  # descrição
        address          127.0.0.1
        }
  
  define hostgroup{
        hostgroup_name          linux-servers   #Nome do grupo
        alias                   Linux Servers   #Descrição do grupo
        members                 localhost       #Membros pertencentes ao grupo linux-servers
        }
  
  define service{
        use                     local-service
        host_name               localhost       # Nome da maquina que terá o serviço monitorado
        service_description     Current Users   # Descrição do serviço
        check_command           check_local_users!20!50 # Comando executado para monitoramento
        }

É possível definir todos os servidores GNU/Linux dentro deste arquivo, porém eu recomendo criar um arquivo chamado linux.cfg dentro de diretório objects e definí-lo no arquivo de configuração do nagios. Para isso, insira a linha abaixo dentro do arquivo nagios.cfg

  cfg_file=/usr/local/nagios/etc/objects/linux.cfg

Iremos então definir uma nova máquina a ser monitorada. Primeiramente, realizaremos a configuração na máquina cliente para depois então defini-la no servidor Nagios.

O Nagios utiliza o plugin nrpe para monotiramento das máquinas GNU/Linux, logo, precisaremos instalá-lo.

Instalação do nrpe

Baixe o pacote nrpe-2.12.tar.gz. Esse pacote utiliza ssl, logo você precisará instalar o pacote correspondente, no debian o pacote é o libssl-dev e no CentOS o openssl-devel.i386. O nrpe funciona tanto sobre xinetd, inetd ou como deamon. Utilizei para esse artigo o xinetd, já que o NRPE já possue a o arquivo de configuração para ele.

Extraia o arquivo do nrpe

  tar -xvzf nrpe-2.12.tar.gz

Acesse o diretório nrpe

  cd nrpe-2.12

Instale o pacote ssl correspondente a cada distribuição.

Debian ou ubuntu

  apt-get install libssl-dev

CentOS

  yum install openssl-devel.i386

Instale o xinetd

Debian ou ubuntu

  apt-get install xinetd

CentOS

  yum install xinetd.i386

Compilando nrpe

OBS: O nrpe utiliza o usuário "nagios" para sua execução, portanto o usuário deve ser criado antes de sua instalação Dentro do diretório do nrpe, execute os seguintes comandos

  ./configure
  make
  make install-daemon
  make install-daemon-config
  make install-xinetd

O nrpe deve ser instalado tanto no servidor nagios, quanto nos clientes. Porém no servidor não há a necessidade de configurar o serviço para rodar sobre o xinetd um vez que o servidor só precisa do script de verificação "check_nrpe" que é instalado dentro do diretório /usr/local/nagios/libexec

Configuração do cliente

Realizada a instalação do nrpe, é preciso configurá-lo para que ele rode sobre o xinetd. Edite o arquivo /etc/xinetd/nrpe e altere a linha Only from 127.0.0.1 para o ip do servidor do Nagios. Em seguida, iremos definir uma entrada para o serviço do NRPE também nesse arquivo. No NRPE utiliza a porta 5666 e o protocolo TCP, então a entrada para o NRPE no /etc/services é a seguinte:

  nrpe                5666/tcp        #Nagios NRPE agent

Salve o arquivo, e reinicie o xinetd

  /etc/init.d/xinetd restart

A partir deste momento o nrpe estará funcionando na máquina local. Para checar seu funcionamento você pode usar o plugin nrpe_check do Nagios ou utilizar o Nmap. Para checá-lo utilizando o nrpe_check utilize o seguinte comando:

  /usr/local/nagios/libexec/check_nrpe -H 127.0.0.1                   #localmente  ou
  /usr/local/nagios/libexec/check_nrpe -H < IP-Da-Maquina-com-NRPE>   #No servidor Nagios

Ambas as saídas dos comandos serão a versão do cliente NRPE. Algo como

  NRPE v2.12

A partir de agora as configurações no cliente estão prontas, iremos então realizar as configurações necessárias para receber as informações enviadas dos clientes nrpe para o servidor Nagios.

Configuração do servidor do Nagios

As máquinas GNU/Linux a serem monitoradas serão configuradas dentro do arquivo /usr/local/nagios/etc/objects/linux.cfg

Primeiramente, definiremos o computador a ser monitorado. Para exemplificação o nome do computador que será monitorado é cliente1 e o endereço de IP 192.168.1.10. A definição ficará da seguinte maneira:

  define host{
        use linux-server                                # Template contendo as configurações que serão herdadas pela máquina
                                                        #  que está sendo definida
        host_name               cliente1                # nome da máquina a ser monitorada
        alias                   Servidor-de-arquivos    # descrição
        address                 192.168.1.10
        }

O hostgroup das máquinas GNU/Linux "linux-servers" foi definido dentro do arquivo /usr/local/nagios/etc/objects/localhost.cfg, logo para uma das máquinas GNU/Linux definidas devem ser adicionadas a esse grupo.

A partir de agora temos nosso novo cliente definido, entretanto nenhum serviço de monitoramento foi definido. É possível monitorar serviços como **HTTP, SSH, carga de processador, uso de memória **RAM, Swap e disco rígido e ainda criar seus próprios plugins para monitorar outros serviços em específico. Mostrarei o exemplo de uma configuração para o serviço de monitoramento de conexões ssh. Exemplos de outros serviços podem ser encontrados nos arquivos de exemplo que acompanham o Nagios.

  define service{
        use                      local-service
        host_name                cliente1               # Cliente no qual o serviço está rodando
        service_description      SSH
        check_command            check_ssh
        notifications_enabled        0
        }

Realizada a configuração, reinicie o Nagios

  /etc/init.d/nagios restart

Agora temos o Nagios monitorando nosso cliente Linux para o serviço de SSH. Iremos então, definir um cliente Windows. Para monitorar os clientes Windows, utilizaremos o plugin NSClient++.

No site você encontrará os pacotes para versões 32 e 64 bits. Exitem dois tipos de pacotes, um .msi e outro .zip. Ambos os arquivos possuem os mesmos arquivos a única diferença é que o arquivo .msi já instala e realiza as configurações básicas necessárias para o monitoramento. Independente de qual dos dois arquivos você escolha, a instalação é muito tranquila. No diretório de instalação do NSCLient++ existe um arquivo nsc.ini dentro desse arquivo contém as diretivas de configuração que farão com que o NSCLient++ envie informações para o servidor do Nagios. Basicamente nesse arquivo você irá descomentar as linhas iniciadas por ponto e vírgula ; para que as configurações tenham efeito. Algumas dessas linhas são: FileLogger.dll, CheckSystem.dll, CheckDisk.dll, NSClientListener.dll, NRPEListener.dll, CheckEventLog.dll, CheckHelpers.dll, allowed_hosts = < IP-DO-SERVIDOR-NAGIOS>, port 12489.

Em seguida, salve as configurações e reinicie o serviço do NSClient++. Agora definiremos esse cliente no servidor do Nagios.

As maquinas Windows serão definidas dentro do arquivo /usr/local/nagios/etc/objetc/windows.cfg. No arquivo /usr/local/nagios/etc/nagios.cfg descomente a linha abaixo:

  cfg_file=/usr/local/nagios/etc/objects/windows.cfg

Assim como para os clientes GNU/Linux, nos clientes Windows a configuração é praticamente a mesma:

  define host{
        use                     windows-server
        host_name               cliente2
        alias                   Servidor de nome de dominio
        address                 192.168.1.11
        }
  
  define service{
        use                     generic-service
        host_name               cliente2
        service_description     Uptime
        check_command           check_nt!UPTIME
        }

Todos os clientes definidos dentro desse arquivo, cada um deve ser adicionado ao grupo windows-servers. Terminada a configuração, reinicie o nagios

  /etc/init.d/nagios restart

Pronto! Agora temos o Nagios monitorando tanto clientes Linux, quanto Windows. Além das configurações que apresentei nas duas partes desse tutorial, também é possível configurar o Nagios para que envie informações por e-mail a você caso algo aconteça. Isso ficará para a próxima dica, ok!? Espero ter ajudado. :D



Veja a relação completa dos artigos de Guilherme Rezende dos Santos

 

 

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script