Blog

Monitorando windows server com o Nagios Core

Primeiro vou contar um pouco da história do Nagios, inicialmente com o nome de NetSaint.

Em 1996, Ethan Galstad desenvolveu a sua idéia através de bats no MS-DOS executando pings em dispositivos de rede mas, logo percebeu que estaria limitado e então deu continuidade ao seu projeto com o Linux, isso tornaria o sistema mais robusto e granular podendo desenvolver seus plug-ins integrados com os módulos de rede como snmp, http, ftp, entre outros.

Bookmark and Share

Em 1999 então fundou sua empresa com foco em suporte ao Nagios e em 2003 desenvolveu sua versão comercial.

O Nagios é um programa que roda no Linux como um deamon e depende de vários outros arquivos, tudo começa quando o binário do Nagios é executado e então ele lê o arquivo principal onde possui a configurações pai do sistema.

O nagios é um executor de tarefas através de comandos parametrizados em seus arquivos de configuração.

O arquivo principal, Nagios.cfg possui os paths dos seus principais arquivos de monitoramento, por exemplo, o caminho onde estão configurados o monitoramento dos servidores Windows, o Windows.cfg

Exemplo:

vi /usr/local/nagios/etc/nagios.cfg

# DEPENDENDO DA VERSÃO ESTE CAMINHO PODE MUDAR

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

Mas é claro, o Nagios é muito mais do que isso, estamos apenas explicando seu funcionamento básico.

Quando houver a necessidade de adicionar um host windows, você precisa editar este arquivo e adicionar o host desejado
conforme o exemplo abaixo:

Vi /usr/local/nagios/etc/windows.cfg

# PARA ADD OUTRO HOST BASTA COPIAR, COLAR ABAIXO E MUDAR O HOSTNAME E O IP

define host{
use windows-server
host_name srvwindows01
alias Remote Windows Host
address 192.168.100.25
}

No mesmo arquivo, você deve adicionar o service que deseja monitorar:

# PARA ADD OUTRO HOST BASTA COLOCAR VIRGULA E O NOME DO HOST ADD NO host_name

# VERIFICA A VERSÃO DO NSCLIENT

define service{
use generic-service
host_name srvwindows01
service_description NSClient++ Version
check_command check_nt!CLIENTVERSION
}

# VERIFICA O TEMPO QUE O SERVIDOR ESTÁ LIGADO

define service{
use generic-service
host_name srvwindows01
service_description Uptime
check_command check_nt!UPTIME
}

# VERIFICA A UTILIZAÇÃO DA CPU, SE ESTIVER EM 80% FICA AMARELO, SE ESTIVER ACIMA DE 90% FICA VERMELHO.

define service{
use generic-service
host_name srvwindows01
service_description CPU Load
check_command check_nt!CPULOAD!-l 5,80,90
}

# MONITORA E MEMÓRIO FÍSICA , SE ESTIVER EM 80% FICA AMARELO, SE ESTIVER ACIMA DE 90% FICA VERMELHO.

define service{
use generic-service
host_name srvwindows01
service_description Memory Usage
check_command check_nt!MEMUSE!-w 80 -c 90
}

# MONITORA O ESPAÇO EM DISCO DO SERVIDOR, NESTE CASO O DRIVE C, SE ESTIVER EM 80% FICA AMARELO, SE ESTIVER ACIMA DE 90% FICA VERMELHO.

define service{
use generic-service
host_name srvwindows01
service_description C:\ Drive Space
check_command check_nt!USEDDISKSPACE!-l C -w 80 -c 90
}

# MONITORA O ESPAÇO EM DISCO DO SERVIDOR, NESTE CASO O DRIVE D, SE ESTIVER EM 80% FICA AMARELO, SE ESTIVER ACIMA DE 90% FICA VERMELHO.

define service{
use generic-service
host_name srvwindows01
service_description D:\ Drive Space
check_command check_nt!USEDDISKSPACE!-l d -w 90 -c 95
}

# MONITORA O ESPAÇO EM DISCO DO SERVIDOR, NESTE CASO O DRIVE E, SE ESTIVER EM 80% FICA AMARELO, SE ESTIVER ACIMA DE 90% FICA VERMELHO.

define service{
use generic-service
host_name srvwindows01
service_description E:\ Drive Space
check_command check_nt!USEDDISKSPACE!-l e -w 90 -c 95
}

# MONITORA SE O EXECUTÁVEL EXPLORER.EXE ESTÁ EM EXECUÇÃO NO SISTEMA, SERVE PARA MONITORAR OUTROS .EXE.

define service{
use generic-service
host_name srvwindows01
service_description Explorer
check_command check_nt!PROCSTATE!-d SHOWALL -l explorer.exe
}

Quando sair e salvar o arquivo você deve verificar se o arquivo possui algum problema na configuração feita, caso tenha este comando vai apontar a linha onde possui o erro.

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Neste caso você deve instalar o plugin do nagios no Windows e habilitar a opção as opções abaixo, no seu caso você não está utilizando senha, coloque apenas o IP do servidor Nagios.

Download nsclient-32bits

Download nsclient-64bits

Basta seguir as configurações abaixo:

fwefwe01

fwefwe02

Feito isso, verifique se o serviço nsclient foi iniciado e se o firewall local está permitindo a conexão na porta 12489.

Agora você deve verifica a console web e verificar se os serviços estão sendo monitorados no servidor Windows.

http://ip_do_servidor/nagios

Para melhor entendimento da estrutura do Nagios acesse: http://nagios-br.com/?p=136

Good luck !

Posted in: Uncategorized

Leave a Comment (2) ↓

2 Comments

  1. Roberto Gaziola September 23, 2013

    Boa tarde, estou precisando de uma ferramenta como o Nagios, mas tenho uma dúvida, eu preciso de uma máquina Linux para monitorar minha rede com outros servidores Windows Server? Não dá pra utilizar uma máquina Windows? É que a empresa só utiliza Windows Server, e é bem complicado conseguir colocar um Linux aqui.

    reply
    • admin March 22, 2014

      Eu tenho um cliente com o mesmo perfil, ele utilizou o Nagios XI que é um appliance virtual onde possui os recursos do nagios já instalado e sua administração é toda via web.

      Podemos considerar que o Nagios roda no linux mas este appliance virtual facilita bastante.

      Esta seria minha recomendação !

      Rodrigo Faria
      Tel: 021 988831979
      Skype: rodrigomenchio

      reply

Leave a Comment