En la época tan competida de hoy en día, reaccionar rápido es una ventaja competitiva. Nuestros equipos, sean virtuales o físicos, en algún momento pueden fallar y comenzar nuestro sufrimiento. Por eso existen los sistemas de monitoreo y en nuestro caso Nagios, el cual en este articulo veremos como agregarle equipos Microsoft Windows para monitorear.
Nagios puede monitorear todo tipo de equipos gracias a los plugins o módulos desarrollados. Unos opensource, otros comerciales, que nos permitirán en tiempo real conocer como están nuestros equipos Windows. Hoy veremos como monitorear usando los comandos (plugins) comunes de Nagios ademas de instalando el cliente NSClient++
Nagios puede monitorear todo tipo de equipos gracias a los plugins o módulos desarrollados. Unos opensource, otros comerciales, que nos permitirán en tiempo real conocer como están nuestros equipos Windows. Hoy veremos como monitorear usando los comandos (plugins) comunes de Nagios ademas de instalando el cliente NSClient++
Requerimientos para monitorear equipos con Nagios
- Linux server LAMP (Centos, Ubuntu, otra distro)
- No es obligatorio pero si muy recomendable instalar PHP 7
- Nagios
Como monitorear equipo Windows en Nagios
Para los equipos Microsoft Windows una forma sencilla y sin complicaciones de monitorearlos es instalandoles un cliente que nos permita leer valores de este OSInstalamos el cliente NSClient en Microsoft Windows
-Descargamos el cliente NSClient++ desde el siguiente URL. Debemos instalarlo con una cuenta con permisos de administrador para que se ejecute como servicio-Si nuestra cuenta de usuario es administrador, damos doble click al archivo msi descargado. En caso contrario damos click botón derecho del mouse y elegimos Ejecutar como administrador. En la ventana que nos aparece damos click al botón Ejecutar
-Nos aparece la ventana del instalador. Damos click al botón Install
-Leemos (recomendable aunque pocos lo hacen) la licencia de uso y marcamos el check mark inferior aceptándola. Damos click al botón Next
-Daremos click al botón Typical para el tipo de instalación
-A continuación se nos mostrara donde se instalar. Marcamos la opción Install sample configuration y damos click al botón Next
-Aunque podemos instalar permitiendo conexiones desde todas partes, esto por seguridad no es recomendable. Escribimos la ip de nuestro servidor Nagios en Allowed hosts, una contraseña en NSClient password. Marcamos las tres primeras opciones, Enable common check plugins, Enable nsclient server, Enable NRPE server y damos click al botón Next
-Ya estamos listos para instalar. Damos click al botón Install
-Se nos pedirá confirmar la instalación. Damos click al botón Si
-Terminamos con éxito la instalación. Damos click al botón Finish
-Abrimos el Administrador de tareas (combinación de teclas Ctrl Shift Esc) y verificamos se este ejecutando nscp en la pestaña Servicios
-Abrimos el firewall de nuestro Microsoft Windows Server, damos click a Reglas de entrada y a continuación buscamos NSClient++. Le damos doble click para abrir
-Nos aparece la ventana de propiedades, debe mostrarse Habilitado
-En la pestaña Protocolos y puertos activamos Tipo de protocolo TCP, Puerto local - Puertos específicos 12489. Damos click al botón Aplicar y después Aceptar para cerrar la ventana
Cambios en Nagios para monitorear Microsoft Windows
-Nos movemos al directorio etc de nagios y modificamos su configuracion descomentando el fichero windows.cfg que viene de ejemplo con Nagioscd /usr/local/nagios/etc/
vi nagios.cfg
cfg_file=/usr/local/nagios/etc/objects/windows.cfg
-Entramos al directorio objects y creamos una copia de seguridad de windows.cfg. Es buena practica por si algo sale mal, tener una copia
cd objects/
cp windows.cfg windows.cfg-old
Personalizamos comando check_nt en Nagios
-Modificamos el comando check_nt en el archivo commands.cfg para tomar un tercer parámetro ($ARG3$) como contraseñavi commands.cfg
# 'check_nt' command definition
define command{
command_name check_nt
command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$ -s $ARG3$
}
Agregamos equipo Windows en Nagios
-Editamos el archivo windows.cfg. Agregaremos un host windows y una serie de servicios. Generalmente ya están creados, solo es verificar datos y guardar cambiosvi windows.cfg
define host{
use windows-server ; Heredar propiedades de esta plantilla
host_name server ; El nombre de nuestro servidor o equipo Windows
alias Windows Server ; Un alias o nombre asociado
address 192.168.70.4 ; IP de este equipo, debe ser visible desde nagios
}
#OJO, para el servicio de chequeo de version de NSClient++ como solo se pasa un parámetro,
##debemos dar dos !! pasando en blanco el $ARG2$ y a continuación nuestra contraseña
define service{
use generic-service
host_name server
service_description NSClient++ Version
check_command check_nt!CLIENTVERSION!!contraseña
}
#OJO, para el servicio de chequeo de version de NSClient++ como solo se pasa un parámetro,
##debemos dar dos !! pasando en blanco el $ARG2$ y a continuación nuestra contraseña
define service{
use generic-service
host_name server
service_description Uptime
check_command check_nt!UPTIME!!contraseña
}
define service{
use generic-service
host_name server
service_description CPU Load
check_command check_nt!CPULOAD!-l 5,80,90!contraseña
}
define service{
use generic-service
host_name server
service_description Memory Usage
check_command check_nt!MEMUSE!-w 80 -c 90!contraseña
}
define service{
use generic-service
host_name server
service_description C:\ Drive Space
check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90!contraseña
}
define service{
use generic-service
host_name server
service_description W3SVC
check_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC!contraseña
}
define service{
use generic-service
host_name server
service_description Explorer
check_command check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe!contraseña
}
-Verificamos todo este ok en los cambios realizados
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Nagios Core 4.3.1
Copyright (c) 2009-present Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 02-23-2017
License: GPL
Website: https://www.nagios.org
Reading configuration data...
Read main config file okay...
Read object config files okay...
Running pre-flight check on configuration data...
Checking objects...
Checked 15 services.
Checked 2 hosts.
Checked 2 host groups.
Checked 0 service groups.
Checked 1 contacts.
Checked 1 contact groups.
Checked 24 commands.
Checked 5 time periods.
Checked 0 host escalations.
Checked 0 service escalations.
Checking for circular paths...
Checked 2 hosts
Checked 0 service dependencies
Checked 0 host dependencies
Checked 5 timeperiods
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...
Total Warnings: 0
Total Errors: 0
Things look okay - No serious problems were detected during the pre-flight check
-Reiniciamos el servicio de Nagios y verificamos este ejecutandose
systemctl restart nagios
systemctl status nagios
● nagios.service - LSB: Starts and stops the Nagios monitoring server
Loaded: loaded (/etc/rc.d/init.d/nagios; bad; vendor preset: disabled)
Active: active (running) since Wed 2017-03-08 17:47:23 COT; 19s ago
Docs: man:systemd-sysv-generator(8)
Process: 26083 ExecStop=/etc/rc.d/init.d/nagios stop (code=exited, status=0/SUCCESS)
Process: 26090 ExecStart=/etc/rc.d/init.d/nagios start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/nagios.service
├─26110 /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
├─26112 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh
├─26113 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh
├─26114 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh
├─26115 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh
├─26116 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh
├─26117 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh
└─26118 /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
Mar 08 17:47:23 nag.drivemeca.com nagios[26110]: nerd: Channel opathchecks registered successfully
Mar 08 17:47:23 nag.drivemeca.com nagios[26110]: nerd: Fully initialized and ready to rock!
Mar 08 17:47:23 nag.drivemeca.com nagios[26110]: wproc: Successfully registered manager as @wproc with query handler
Mar 08 17:47:23 nag.drivemeca.com nagios[26110]: wproc: Registry request: name=Core Worker 26117;pid=26117
Mar 08 17:47:23 nag.drivemeca.com nagios[26110]: wproc: Registry request: name=Core Worker 26116;pid=26116
Mar 08 17:47:23 nag.drivemeca.com nagios[26110]: wproc: Registry request: name=Core Worker 26115;pid=26115
Mar 08 17:47:23 nag.drivemeca.com nagios[26110]: wproc: Registry request: name=Core Worker 26114;pid=26114
Mar 08 17:47:23 nag.drivemeca.com nagios[26110]: wproc: Registry request: name=Core Worker 26113;pid=26113
Mar 08 17:47:23 nag.drivemeca.com nagios[26110]: wproc: Registry request: name=Core Worker 26112;pid=26112
Mar 08 17:47:23 nag.drivemeca.com nagios[26110]: Successfully launched command file worker with pid 26118
-Abrimos un browser y navegamos a nuestra consola Nagios. Ya nos debe aparecer el equipo Windows con sus servicios monitoreados con NSClient++
De esta forma podemos agregar servicios valiendonos de los plugins de Nagios que nos muestren en tiempo real el comportamiento de nuestros equipos Microsoft Windows. Es de aclarar que este solución sirve para todas las versiones. El único impedimento en viejas versiones (Windows XP por ejemplo) es que se pueda instalar y ejecutar NSClient++ como administrador
Artículos recomendados: Como instalar MRTG en Linux
Como instalar PNP4Nagios
Monitorea pfSense por medio de NRPE y Nagios
Como instalar NRPE en Nagios paso a paso
Como instalar snmp trap en Nagios
Como crear un usuario de solo lectura en Nagios
Imagino que ya debes estar mas tranquilo/a con respecto a tu infraestructura Microsoft Windows, que tal te parecio el articulo, ya usas Nagios? monitoreas equipos Windows con NSClient++, no? como lo haces? Te gusto el articulo? hazme un favor, compártelo en tus redes sociales (compartir es sexy). Escríbeme en los comentarios aquí debajo y pasa la voz compartiendo el tweet.
Como monitorear #MicrosoftWindows desde #Nagios facilmente. https://t.co/2FeiyNAeyV pic.twitter.com/G7ANPoIZNv
— Manuel Cabrera C (@drivemeca) March 9, 2017
Sígueme en twitter , google+, facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.