você está aqui: Home  → Arquivo de Mensagens Programação Shell Linux: Inscrições Abertas

Configurando o Nagios 3 no Debian lenny parte 2

Colaboração: Guilherme Rezende dos Santos

Data de Publicação: 01 de Setembro de 2009

Na primeira parte deste tutorial foi abordado a instalação do Nagios e seus plugins, bem como a configuração básica necessária do Apache para a integração com o Nagios. Agora apresentarei as configurações dos arquivos do Nagios para máquinas Linux e Windows e a configuração dos plugins em cada um dos clientes a serem monitorados.

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 e arquivos de configuração do CGI.
libexec/ Os plugins do Nagios são armazenados nesse diretórios.
sbin/ CGIs
share/ Arquivos HTML (para interface web e documentação online)
var/ Diretório vazio utilizado para os arquivos logs

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/. Você também pode definir dentro deste arquivo todas as máquinas Linux que deseja monitorar. 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        nagios          # 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                 nagios          #Membros pertencentes ao grupo linux-servers
      }

define service{
      use                     local-service
      host_name               nagios          # 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
      }

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.

CONFIGURAÇÃO NO CLIENTE

Instale no pacote de plugins do Nagios, caso não saiba como fazê-lo a primeira parte desse artigo o ensina.

Instalado os plugins, iremos configurar o serviço responsável por enviar as informações ao Nagios. O serviço utilizado para monitoramento de máquinas Linux é o NRPE. Logo, precisaremos instalá-lo. 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. O NRPE funciona tanto sobre xinetd, inetd ou como deamon. Utilizei para esse artigo o inetd, já ele vem por padrão na maioria das distribuições.

Iremos configurar o inetd para que o nrpe possa funcionar como um serviço e enviar informações ao servidor Nagios. Para isso, no arquivo /etc/inetd.conf insira a seguinte linha:

nrpe stream tcp nowait nagios /usr/sbin/tcpd /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg --inetd

Explicando:

nrpe Serviço a ser executado
stream tipo de socket
tcp protocolo utilizado
nagios usuario com o qual o serviço será executado
/usr/local/nagios/bin/nrpe -c diretório onde está localizado o executável do nrpe
/usr/local/nagios/etc/nrpe.cfg arquivo de configuração do nrpe

Cada um dos parâmetros devem ser separados por TAB.

Os serviços executados sobre inetd estão contidos no arquivo /etc/services. 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

Logo após reinicie o inetd.

killall -HUP inetd

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

/usr/local/nagios/libexec/check_nrpe -H 192.168.3.94

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 NO SERVIDOR DO NAGIOS

Como mencionado anteriormente, você pode definir todas as máquinas Linux dentro do arquivo /usr/local/nagios/etc/objects/localhost.cfg desde que não esteja habilitada a opção cfg_dir=/usr/local/nagios//etc/servers no arquivo de configuração do Nagios, caso contrário é possível fazer a definição individual das maquinas a serem monitoradas dentro do diretório servers/ que deve ser criado dentro de /usr/local/nagios/etc/. Nesse tutorial definirei todas as maquinas Linux dentro do arquivo localhost.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
      }

Em seguida, inserimos-a no grupo de máquinas Linux

define hostgroup{
      hostgroup_name          linux-servers           # Nome do grupo
      alias                   Linux Servers           # Descrição do grupo
      members                 nagios, cliente1        # Membros pertencentes ao grupo linux-servers
      }

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.

CONFIGURAÇÃO NO SERVIDOR DO NAGIOS

Você pode definir as maquinas Windows dentro do arquivo /usr/local/nagios/etc/objetc/windows.cfg ou dentro do diretório servers desde que a opção cfg_dir=/usr/local/nagios//etc/servers esteja habilitada no arquivo de configuração do Nagios. Utilizaremos a primeira opção. Assim como para clientes Linux, os clientes Windows, bem como os serviços que serão monitorados nesses clientes precisarão ser definidos dentro desse arquivo. 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, automaticamente estarão dentro do 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