martes, 31 de marzo de 2009

Monitoreando Equipos con Windows

Introducción

Este documento describe el como monitorear servicios "privados" y atributos en máquinas con Windows, como por ejemplo:


  • Uso de Memoria

  • Carga en CPU

  • Uso en Disco Duro

  • Estado en Servicios

  • Procesos ejecutandose

  • etc.



Los servicios publicamente disponibles que proveen las máquinas con Windows (HTTP, FTP, POP3, etc.) pueden ser monitoreados fácilmente siguiendo la documentación en monitoreando servicios publicamente disponibles.

Note Nota: Estas instrucciones asumen que usted instaló Nagios de acuerdo a la guía de instalación rápida. Las entradas de configuración de ejemplo en la parte inferior de los objetos de referencia que estan definidos en los archivos de configuración de ejemplo (commands.cfg, templates.cfg, etc.) son instalados si se sigue la guía de instalación rápida.

Descripción

Monitoreando una Máquina Windows

El monitorear servicios privados o atributos de una máquina con Windows requiere que usted instale un agente. Este agente actua como un proxy entre el plugin de Nagios que realiza el monitoreo y el servicio actual o atributo de la máquina Windows. Sin instalar un agente en Windows, Nagios no podria monitorear servicios privados o atributos de Windows.

Para este ejemplo, instalaremos el complemento NSClient++ en la máquina con Windows y utilizaremos el plugin check_nt para comunicarnos con el complemento NSClient++. El plugin check_nt debera ya estar instalado en el servidor de Nagios si se siguieron los pasos de la guía de instalación rápida.

Otros agentes de Windows (como NC_Net) pueden ser utilizados en ves de NSClient++ si usted lo desea - usted tendra que realizar cambios en las definiciones de comandos y servicios. Por simplicidad solamente se cubrira el complemento NSClient++ en estas instrucciones.

Pasos

Hay algunos pasos que usted debe seguir en orden para monitorear la nueva máquina Windows. Aquí estan:


  1. Realizar prerequisitos por primera vez

  2. Instalar un agente de monitoreo en la máquina Windows

  3. Crear nuevas definiciones de nuevo equipo (host) y nuevo servicio (service) para monitorear a la máquina Windows

  4. Reiniciar el servicio de Nagios



Que es lo que ya se ha hecho por usted

Para hacerle la vida un poco más fácil, algunas tareas de configuración ya se han realizado para usted:


  • Una definición del comando check_nt ha sido agregado al archivo commands.cfg. Esto permite a usted que utilice el plugin check_nt para monitorear servicios de Windows.

  • Una plantilla de equipo de servidor Windows (llamada windows-server) ha sido creada en el archivo templates.cfg. Esto permite a usted el agregar nuevas definiciones de equipos con Windows de una manera simple.



Los archivos de configuración anteriormente mencionados pueden ser localizados en el directorio /usr/local/nagios/etc/objects/. Usted puede modificar estas definiciones u otras definiciones para satisfacer mejor sus necesidades si usted así lo desea. Sin embargo, se le recomienda esperar mientras usted se familiariza con la configuración de Nagios antes de hacerlo. Por el momento, solo siga las instrucciones en la parte inferior y usted estara monitoreando sus máquinas con Windows rápidamente.

Prerequisitos

La primera vez que usted configure Nagios para monitorear una máquina Windows, usted necesitara realizar un poco más de trabajo. Recuerde, usted necesita realizar esto para la *primera* máquina Windows que va a monitorear.

Edite su archivo de configuración de Nagios principal (main).


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


Quite el caracter asterisco (#) de la siguiente línea de su archivo de configuración principal:


#cfg_file=/usr/local/nagios/etc/objects/windows.cfg


Grabe y salga.

¿Qué es lo que ha hecho?, usted le acaba de decir a Nagios que vea el archivo /usr/local/nagios/etc/objects/windows.cfg para buscar definiciones adicionales de objetos. Ahi es donde usted agregara definiciones de equipos y servicios Windows. Este archivo de configuración ya contiene algunos ejemplos de definiciones de equipos, grupos de equipos (hostgroups) y servicios. Para la primer máquina Windows, usted simplemente modifique las definiciones de equipo y servicio en ese archivo, no hay necesidad de crear nuevos, solo copie, pegue y modifique.

Instalando el agente Windows

Antes de monitorear servicios privados y atributos de las máquinas con Windows, usted necesita instalar un agente a estas máquinas. Se recomienda utilizar el complemento NSClient++, que puede ser localizado en http://sourceforge.net/projects/nscplus. Estas instrucciones lo llevaran a traves de una instalación básica del complemento NSClient++, asi como la configuración de Nagios para monitorear la máquina Windows.

1. Descargue la última versión estable del complemento NSClient++ desde http://sourceforge.net/projects/nscplus

2. Descomprima los archivos de NSClient++ en un nuevo directorio C:\NSClient++

3. Abra un command prompt y cambiese al directorio C:\NSClient++

4. Registre el servicio de NSClient++ con el siguiente comando:


nsclient++ /install


5. Instale el "systray" de NSClient++ con el siguiente comando ('SysTray' es case-sensitive):


nsclient++ SysTray


6. Abra el manejador de servicios y asegurese que el servicio NSClientpp es permitido para interactuar con el escritorio (vease el tab 'Log On' en el manejador de servicios). Si no esta permitido para interactuar con el escritorio, seleccione el cuadro para permitirlo.

NSClientpp

7. Edite el archivo NSC.INI (localizado en el directorio C:\NSClient++) y realize los siguientes cambios:


  • Descomente todos los modulos que aparecen listados en la sección [modules], excepto CheckWMI.dll y RemoteConfiguration.dll

  • Opcional, si requiere una contraseña para los clientes, cambie la opción 'password' en la sección [Settings].

  • Descomente la opción 'allowed_hosts' en la sección [Settings]. Agregue la dirección IP de su servidor de Nagios en esta línea o dejela en blanco para permitir a todos los equipos conectarse.

  • Asegurese que la opción 'port' en la sección [NSClient] esta descomentada y asignada a '12489' (el puerto por default).



8. Inicie el servicio de NSClient++ con el siguiente comando:


nsclient++ /start


9. Si fue instalado adecuadamente, un nuevo icono debera aparecer en la barra del sistema (systray). Será un circulo amarillo con una M negra dentro.

10. Exito! El servidor Windows ahora puede ser agregado a la configuracion de Nagios para su monitoreo...

Configurando Nagios

Ahora es tiempo de definir objetos en sus archivos de configuración de Nagios en orden para monitorear la nueva máquina de Nagios.

Abra el archivo windows.cfg para editarlo.


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


Agregue una definición nueva de equipo para la máquina Windows que usted desea monitorear. Si esta es la primer máquina Windows que va a monitorear, usted simplemente tendra que modificar la definición de ejemplo del equipo en windows.cfg. Cambie el host_name, alias, y address por lo valores apropiados para su equipo con Windows.


define host{
use windows-server ; Inherit default values from a Windows server template (make sure you keep this line!)
host_name winserver
alias My Windows Server
address 192.168.1.2
}


Bien. Ahora puede agregar algunas definiciones de servicios (en el mismo archivo de configuración) en orden para decirle a Nagios que se van a monitorear varios aspectos de la máquina Windows. Si es la *primer* máquina Windows que va a monitorear, usted simplemente puede modificar las definiciones de servicios de ejemplo en windows.cfg.

Note Nota: Reemplace "winserver" en las definiciones de ejemplo en la parte inferior con el nombre que usted especifico en la directiva host_name en la definición de equipo que usted agregó.

Agregue la siguiente definición de servicio para monitorear la version del complemento NSClient++ que se esta ejecutando en el servidor Windows. Esto es útil cuando llega el tiempo de actualizar en los servidores Windows una nueva versión del complemento, y usted podra decir cual de las máquinas Windows necesitan que se actualice a la última version de NSClient++.


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


Agregue la siguiente definición de servicio para monitorear el tiempo de actividad del servidor Windows.


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


Agregue la siguiente definición de servicio para monitorear el uso de CPU en el servidor Windows y generar una alerta CRITICA si en 5 minutos la carga de CPU es de 90% o más o una alerta PRECAUCIÓN (WARNING) si en 5 minutos la carga es de 80% o más.


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


Agregue la siguiente definición de servicio para monitorear el uso de memoria del servidor Windows y generar una alerta CRITICA si el uso de memoria es de 90% o más y una alerta de PRECAUCIÓN (WARNING) si el uso de memoria es de 80% o más.


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



Agregue la siguiente definición de servicio para monitorear el uso en el disco C:\ del servidor Windows y generar una alerta CRITICA si el uso en disco es de 90% o más y una alerta de PRECAUCIÓN (WARNING) si el uso en disco es de 80% o mas.


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



Agregue la siguiente definición de servicio para monitorear el estado del servicio W3SVC en una máquina Windowsy generar una alerta CRITICA si el servicio es detenido.



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


Agregue la siguiente definición de servicio para monitorear el proceso Explorer.exe de una máquina Windowsy generar una alerta CRITICA si el proceso no se esta ejecutando.


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


Eso es todo por ahora. Usted a agregado algunos servicios básicos que deben ser monitoreados en un máquina Windows. Grabe el archivo de configuración.

Protección con Contraseña

Si usted especificó una contraseña en el archivo de configuración de NSClient++ para una máquina Windows, usted necesita modificar la definición del comando check_nt para incluir la contraseña. Abra el archivo commands.cfg para editarlo.


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


Cambie la definición del comando check_nt para incluir el argumento "-s <PASSWORD>" (donde PASSWORD es la contraseña que se especifico en la máquina Windows) así:


define command{
command_name check_nt
command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s PASSWORD -v $ARG1$ $ARG2$
}


Grabe el archivo.

Reiniciando Nagios

Usted ya terminó de modificar la configuración de Nagios, por lo cual usted necesita verificar sus archivos de configuración y reiniciar Nagios.

Si el proceso de verificación produce un error, arregle los archivos de configuración antes de continuar. Asegurese de no reiniciar Nagios hasta que el proceso de verificación se complete sin errores!

No hay comentarios:

Publicar un comentario en la entrada

Nota: solo los miembros de este blog pueden publicar comentarios.