Sei sulla pagina 1di 7

06/04/12 Monitorando máquinas Windows com o Nagios [Artigo]

Monitorando máquinas Windows com o Nagios


Autor: Vitor Micillo Junior <vitormicillo at gmail.com>
Data: 22/08/2008

Introdução

Bom, suponho que você já tenha uma máquina (servidor) com Nagios devidamente configurado e a todo vapor,
provavelmente também monitorando algum super servidor Linux em sua rede. Ótimo!

O sistema de monitoramento do Windows é basicamente idêntico ao Linux, nas máquinas clientes é necessário ter o
NRPE (Nagios Remote Plugin Executor) instalado e configurado.

"Mas Vitor, o Nagios tem executável para Windows?"


Elementar, meu caro Watson. Para adquirir o executável do NRPE basta clicar no link abaixo.

http://gnomux.com.br/nagios/NRPE_Agent_1.2.0_Installer.exe

Antes de sair instalando o NRPE na sua máquina a torto e a direito, é necessário adquirir algumas dependências para
o XP e 2000. Clique nos links abaixo para adquirir os aplicativos:

http://gnomux.com.br/nagios/WindowsInstaller-KB893803-v2-x86.exe
http://gnomux.com.br/nagios/dotnetfx.exe

O NRPE no Windows depende do .NET Framework, então sem estes 2 pacotes eu não consegui monitorar as
máquinas aqui na empresa.

Com os 3 pacotes devidamente hospedados em seu humilde computador, inicie o processo instalando o
"WindowsInstaller-KB893803-v2-x86.exe", depois o "dotnetfx.exe" e, por último, o
"NRPE_Agent_1.2.0_Installer.exe". Depois, reinicie o computador (coisa de Windows).

NRPE como serviço nativo no Windows

Após esperar horas para reiniciar o computador, chegou a hora de ativarmos o NRPE como serviço nativo do
Windows.

Cliquemos com o botão direito do mouse no "Meu Computador" / "Gerenciar" / "Serviços e Aplicativos" / "Serviços".
Procure pela linha "Nagios Remote Plugin Executor for NT/W2K" conforme imagem abaixo.

www.vivaolinux.com.br/artigos/impressora.php?codigo=8752 1/7
06/04/12 Monitorando máquinas Windows com o Nagios [Artigo]

Verifique se o status do serviço está como iniciado. Se não estiver, inicie-o.

Para verificar se o serviço esta disponível e funcionando, vamos fazer uma varredura na porta 5666 através do Nmap
de algum terminal no Linux com o seguinte comando:

# nmap [IP da máquina Windows] -p 5666

Se a reposta for parecida com o exemplo abaixo, o serviço realmente está funcionando no computador:

Starting Nmap 4.68 ( http://nmap.org ) at 2008-08-20 20:10 UTC


Interesting ports on 192.168.0.67:
PORT STATE SERVICE
5666/tcp -->> open <<-- unknown
MAC Address: 00:19:21:7D:C3:C5 (Elitegroup Computer System Co.)

Nmap done: 1 IP address (1 host up) scanned in 0.246 seconds

Se chegou ate aqui, parabéns, deve ser muito difícil usuários de Linux se adaptarem a sistemas como esse. ;-)

Configurando o nrpe.cfg

Agora vamos para a primeira parte extremamente importante, configurar o nrpe.cfg na máquina Windows.

Repare que no menu iniciar foi inserido o link "Nagios NRPE" -> "NRPE Agent Configuration". Clique nele e escolha
o bloco de notas para editar a configuração.

A estrutura do arquivo é razoavelmente intuitiva e de simples manuseio, o que é necessário modificar são estes
parâmetros (cuidado pra não fazer besteira):

# PORT NUMBER
www.vivaolinux.com.br/artigos/impressora.php?codigo=8752 2/7
06/04/12 Monitorando máquinas Windows com o Nagios [Artigo]

# Port number we should wait for connections on.


server_port=5666
# SERVER ADDRESS
# Address that nrpe should bind to in case there are more than one interface
# and you do not want nrpe to bind on all interfaces.
server_address=192.168.0.67 - IP da máquina Windows

# ALLOWED HOST ADDRESSES


# This is a comma-delimited list of IP address of hosts that are allowed
# to talk to the NRPE daemon.
allowed_hosts=192.168.0.55 - IP da máquina Nagios Server (Servidor Nagios)

O restante pode deixar como está mesmo, apenas vou explicar sobre as linhas abaixo:

command[pdm_disk_c]=check_pdm.exe --disk --drive C: -w 90 -c 95


command[pdm_disk_d]=check_pdm.exe --disk --drive D: -w 90 -c 95
command[pdm_cpuload]=check_pdm.exe --processor -w 50 -c 80
command[pdm_memload]=check_pdm.exe --memory -w 95 -c 99
command[nt_services]=service_nrpe_nt.exe "Event Log,DNS Client"
command[memory_nonpaged]=wincheck_counter.exe -C "Memory" -P "Pool Nonpaged Bytes" -f "Nonpaged
memory pool is %.0f bytes." -w 73400320 -c 94371840
command[nt_eventlog]=eventlog_nrpe_nt.exe -m 30 -s "Service Control Manager"

Cada linha é um parâmetro que executa o aplicativo no Windows com os argumentos válidos para a resposta no
servidor Nagios. Por exemplo, nas primeiras duas linhas ele verifica o espaço em disco nas unidades C: e D:,
mudando o estado para Alerta (cor amarela) ao chegar em 90% utilizado, e crítico (cor vermelha) ao ultrapassar
95%. Nesse ponto o Nagios está disparando alertas em seu e-mail e no celular.

O restante das linhas verifica o estado de utilização da CPU, memória RAM, serviços NT etc.

Configurando o servidor Linux - parte 1

Como eu utilizo Fedora nos servidores, meus arquivos de configuração do Nagios ficam em /etc/nagios/.

Primeiro vamos adicionar um novo grupo para as máquinas Windows no arquivo hostgroups.cfg:

define hostgroup{
hostgroup_name Servidores Windows
alias Servidores Monitorados Windows
members Windows
}

Agora vamos adicionar as máquinas no arquivo hosts.cfg:

define host{
use host-padrao
host_name Windows
alias Windows
address IP da máquina Windows
check_command check-host-alive
max_check_attempts 10
notification_interval 80
notification_period diario
notification_options d,u,r
contact_groups admin

www.vivaolinux.com.br/artigos/impressora.php?codigo=8752 3/7
06/04/12 Monitorando máquinas Windows com o Nagios [Artigo]

Agora vamos adicionar os comandos a serem executados no arquivo commands.cfg:

#####################################
# 'pdm_disk_c' Drive D
define command{
command_name pdm_disk_c
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c pdm_disk_c
}
#####################################
# 'pdm_disk_d' Drive C
define command{
command_name pdm_disk_d
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c pdm_disk_d
}
#####################################
# 'pdm_cpuload' CPU
define command{
command_name pdm_cpuload
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c pdm_cpuload
}
#####################################
# 'pdm_memload' Memoria
define command{
command_name pdm_memload
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c pdm_memload
}
#####################################

Configurando o servidor Linux - parte 2

Terminado de editar o commands.cfg, chegou a hora de editar o arquivo services.cfg, que define quais itens serão
monitorados.

Adicione as linhas abaixo (sempre separo por ## porque não gosto de misturar coisas boas com as ruins).

#################################
# Monitoramento do Windows
#################################

# Serviço espaço em disco


define service{
use service-padrao
host_name Windows
service_description DriveC:
is_volatile 0
check_period diario
max_check_attempts 4
normal_check_interval 5
retry_check_interval 1
contact_groups admin
notification_interval 80
notification_period diario
notification_options w,u,c,r
check_command pdm_disk_c
www.vivaolinux.com.br/artigos/impressora.php?codigo=8752 4/7
06/04/12 Monitorando máquinas Windows com o Nagios [Artigo]

# Serviço espaço em disco


define service{
use service-padrao
host_name Windows
service_description DriveD:
is_volatile 0
check_period diario
max_check_attempts 4
normal_check_interval 5
retry_check_interval 1
contact_groups admin
notification_interval 80
notification_period diario
notification_options w,u,c,r
check_command pdm_disk_d
}

# Serviço uso cpu


define service{
use service-padrao
host_name Windows
service_description CPU
is_volatile 0
check_period diario
max_check_attempts 4
normal_check_interval 5
retry_check_interval 1
contact_groups admin
notification_interval 80
notification_period diario
notification_options w,u,c,r
check_command pdm_cpuload
}

# Serviço uso memória


define service{
use service-padrao
host_name Windows
service_description Memoria
is_volatile 0
check_period diario
max_check_attempts 4
normal_check_interval 5
retry_check_interval 1
contact_groups admin
notification_interval 80
notification_period diario
notification_options w,u,c,r
check_command pdm_memload
}

Feito isso, salve o arquivo e verifique a integridade da configuração do Nagios com o seguinte comando:

# nagios -v nagios.cfg

www.vivaolinux.com.br/artigos/impressora.php?codigo=8752 5/7
06/04/12 Monitorando máquinas Windows com o Nagios [Artigo]

O resultado deve ser parecido com isto:

Nagios 2.11
Copyright (c) 1999-2007 Ethan Galstad (http://www.nagios.org)
Last Modified: 03-12-2008
License: GPL

Reading configuration data...

Running pre-flight check on configuration data...

Checking services...
Checked 18 services.
Checking hosts...
Checked 3 hosts.
Checking host groups...
Checked 2 host groups.
Checking service groups...
Checked 0 service groups.
Checking contacts...
Checked 1 contacts.
Checking contact groups...
Checked 1 contact groups.
Checking service escalations...
Checked 0 service escalations.
Checking service dependencies...
Checked 0 service dependencies.
Checking host escalations...
Checked 0 host escalations.
Checking host dependencies...
Checked 0 host dependencies.
Checking commands...
Checked 24 commands.
Checking time periods...
Checked 1 time periods.
Checking extended host info definitions...
Checked 0 extended host info definitions.
Checking extended service info definitions...
Checked 0 extended service info definitions.
Checking for circular paths between hosts...
Checking for circular host and service dependencies...
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...

Total Warnings: 0
Total Errors: 0

Finalizando

Bom, se você foi o felizardo a chegar nesta etapa sem erros, sem nenhuma dor de cabeça, é porque tem um cara
bom aí que manja de Nagios e fez o trabalho todo para você. Se não é este o seu caso, eu consegui ensinar alguma
coisa a alguém (hehehehehe) e você sabe ler.

O Nagios é uma grande ferramenta de monitoramento que utilizo em meus servidores, pois ele me mantém informado
sobre tudo que acontece na máquina.
www.vivaolinux.com.br/artigos/impressora.php?codigo=8752 6/7
06/04/12 Monitorando máquinas Windows com o Nagios [Artigo]

A imagem abaixo é apenas um modelo de teste que fiz para colocar aqui no VOL:

Ela mostra a máquina Windows e mais 2 servidores Linux sendo monitorados. Preciso liberar espaço no Drive D. :-(
hehehe

Um grande abraço a todos e Viva o Linux.

www.gnomux.com.br
- Vida longa ao Linux -

http://www.vivaolinux.com.br/artigo/Monitorando-maquinas-Windows-com-o-Nagios

Voltar para o site

www.vivaolinux.com.br/artigos/impressora.php?codigo=8752 7/7