NSClient++ – Agregar server windows a Nagios

En entradas anteriores vimos como crear nuestro servidor de monitoreo con Nagios . Ahora veremos como agregar nuestro primer cliente al servidor. De manera rápida comento, hay 2 agentes muy conocidos para Nagios: NSClient++  y NRPE.

Para entornos Windows el mas utilizado es el NSClient , del cual veremos como instalar y configurar la herramienta para comenzar a monitorear nuestro servidor.

Instalar NSClient

Para este ejemplo estoy utilizando Windows 10 pero aplica para cualquier versión, desde XP (¿Todavía lo usan?), hasta Windows Server 2012.

Descargamos el instalador desde este link : NSCLient  seleccionando la arquitectura que tengamos en el servidor a monitorear (32 o 64 bits)

nsclient

Una vez descargado procedemos a la instalación

NSCLIENT_1

NSCLIENT_2

NSCLIENT_3

Dejamos tal cual

NSCLIENT_4

En «Allowed hosts» vamos a dejar solo la IP de nuestro server nagios y en password definan el que consideren correcto, este mismo se configurar en el servidor para que pueda haber comunicación cliente – servidor.

Activamos las otras opciones tal cual se muestran, la ultima «enabled web server» los dejo a su consideración, ya que ésta nos permitiría conectarnos a nuestros clientes via web.

NSCLIENT_5

Damos clic en instalar

NSCLIENT_6

NSCLIENT_7


Configuramos nuestro servidor NAGIOS

En una terminal, estando como root, nos dirigimos al siguiente path: /usr/local/nagios/etc/objects

#cd /user/local/nagios/etc/objects

Aquí se encuentran los archivos de configuración mas comunes y es donde agregamos un objeto por cada servidor a monitorear.

todos los archivos de configuración terminan en .cfg y es muy importante recalcar que hay que tener cuidado con las Mayusculas y minisculas, recomiendo utilizar solo minúsculas para no tener inconvenientes.

Utilizamos  la plantilla llamada windows.cfg para nuestro servidor windows10.

#cp windows.cfg windows10.cfg

Ahora editamos el nuevo archivo generado , podemos utilizar vim, o de manera gráfica con kwrite

#kwrite windows10.cfg


Vamos a editar la parte del host:

use:                       Se le indica a que grupo pertenece
host_name         El nombre con el cual identificaremos al server
alias:                      se puede usar espacios , solo es una descripción
address:               La dirección IP de la máquina a monitorear

define host{
 use          windows-server
 host_name    windows10
 alias        Máquina Windows 10
 address      192.168.0.103
 }

Editamos la parte de servicios:

use:                       generic-service
host_name :               El mismo que utilizamos en la parte de host
service_description:      El nombre que tendría nuestro servicio
check_command:            El comando a ejecutar

Version de NSClient++ instalado

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

Revisa el uptime de la maquina

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

Revisa la memoria usada (fisica + virtual)

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

Comprueba el espacio en la unidad C  (mostrara un warning cuando llegue al 80 % y un critical al 90%)

define service{
 use                    generic-service
 host_name              windows10
 service_description    C:\ Local Disk
 check_command        check_nt!USEDDISKSPACE!-l c -w 80 -c 90
 }

si tenemos una unidad D:  seria algo asi:

define service{
 use                    generic-service
 host_name              windows10
 service_description    D:\ Archivos
 check_command        check_nt!USEDDISKSPACE!-l d -w 80 -c 90
 }

Verifica que se este ejecutando el proceso explorer.exe  (que la máquina este logueada), hay que tener cuidado con el nombre del proceso, es sensible a mayúsculas y minúsculas.

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

La parte de W3SVC podemos comentarla si no la utilizaremos.

#define service{
 #    use                                   generic-service
 #    host_name                    windows10
 #    service_description    W3SVC
 #    check_command        check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
 #    }

Por ultimo guardamos el archivo.


Definimos la contraseña para el comando check_nt

Vamos a establecer la contraseña en nuestro server NAGIOS , la misma que definimos al instalar el agente NSClient  en la maquina a monitorear. Solo será necesario  por esta vez, cuando se agreguen nuevos clientes ya no se requeriría.

Estando en el mismo path /usr/local/nagios/etc/objects editamos el fichero commands.cfg

#kwrite commands.cfg

Localizamos la parte donde viene el comando check_nt y agregamos el parametro -s «la contraseña que definimos»

pass_nsclient

Lo otro se queda tal cual, y guardamos.

Modificando el fichero nagios.cfg

Después de definir nuestro objeto para el server a monitorear, tenemos que agregarlo en el fichero nagios.cfg ubicado en /usr/local/nagios/etc/

#cd /usr/local/nagios/etc

Lo editamos con vim o kwrite y  agregamos la siguiente linea: cfg_file=/usr/local/nagios/etc/objects/windows10.cfg
seria algo así:

NSCLIENT_8

Ahora verificamos que toda nuestra configuración este correcta con el comando

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

El comando anterior siempre hay que tenerlo presente a la hora de hacer un cambio a nuestra configuración y antes de reiniciar el servicio de nagios. Podemos realizar cualquier configuración y  la aplicara hasta que reiniciemos el servicio nagios.

Cuando todo esta OK nos mostrara una ventana similar a la siguiente:

NSCLIENT_9SI comprobamos que todo esta correcto, 0 Warnings y 0 Errors , entonces reiniciamos nuestro servicio nagios

# service nagios restart

Actualizamos nuestra pagina web de nagios

NSCLIENT_11NSCLIENT_12

Si nos llega a mostrar el siguiente error , es porque la contraseña que definimos al instalar el NSCLient++  no coincide con la definida a la hora de editar el fichero commands.cfg.

NSCLIENT_10

En próximas entradas veremos como configurar a detalle los servicios y usar el comando CHECK_NRPE

Saludos.


27 respuestas a “NSClient++ – Agregar server windows a Nagios

  1. no me da ok en la prueba de chequeo
    hago todo lo que haces y me manda que hay un error en la linea 1
    y esto «hostgruop matching ‘windows-servers’ (config file ‘/etc/nagios3/objects/windows7.cfg’, starting o line1)

    Me gusta

  2. Hola me salen los servicios de windowserver critical y me pone que la conexión es rechazada, se establece la conexión desde la máquina virtual pero los servicios no se monitorizan, no se porque

    Me gusta

  3. Me sale Unknown command(s): check_process

    Cuando ejecuto

    [root@EPMRESPEON plugins]# ./check_nt -H 10.18.16.102 -p 12489 -s cvb123456 -v PROCSTATE -d SHOWALL -l explorer.exe

    Me gusta

  4. Una pregunta, tengo el siguiente problema, resulta que mi nagios no monitorea bien mi windows 7 solo tengo funcionando con un ok el NSClient++ version de ahi enfuera los servicios como C:\Drive Space CPU Load ,Explorer, Memory Usage, UPTIME w3svc estan como desconocido UNKOWN No perfomance data from command. Me podrias ayudar con el problema

    Me gusta

  5. Hola buena tarde, antes que nada muchas gracias por este material se te agradece que compartas la informacion oye te tengo una pregunta y que pasaria si yo quiero agragar más hosts windows pero yo los quisiera monitorizar individualmente que tendria que hacer gracias ya que aqui en ki trabajo cuento con 14 maquinas y todas son windows.

    Me gusta

  6. Hola buen dia Por favor me puedes orientar estoy tratando de agregar mas servicios windows agregue uno haciendo estops pasos, y si me funciona pero al momento de querer agregar el segundo me indica que existe un duplicado en el grupo windows-servers y no se que hacer gracias.

    Me gusta

Agradezco tu opinión