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.
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.
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.
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.
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
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários