De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


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

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


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