GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo monitorear una máquina remota de Windows usando Nagios en Linux


En los artículos anteriores discutimos sobre la guía Nagios 3.0 Jumpstart y cómo monitorear el host Linux remoto usando Nagios 3.0. En este artículo, explicaré cómo monitorear una máquina remota de Windows y los diversos servicios que se ejecutan en el servidor de Windows usando el servidor de monitoreo de Nagios. Las siguientes tres secciones se tratan en este artículo.

Yo. Resumen
II. 4 pasos para instalar nagios en un host de Windows remoto

  1. Instalar NSClient++ en el servidor de Windows remoto
  2. Modificar el servicio NSClient++
  3. Modificar el NSC.ini
  4. Inicie el servicio NSClient++

tercero 6 pasos de configuración en el servidor de monitoreo de nagios

  1. Verifique el comando check_nt y la plantilla del servidor de Windows
  2. Elimine el comentario de windows.cfg en /usr/local/nagios/etc/nagios.cfg
  3. Modifique /usr/local/nagios/etc/objects/windows.cfg
  4. Defina los servicios de Windows que deben ser monitoreados.
  5. Habilitar protección con contraseña
  6. Verifique la configuración y reinicie Nagios.

Yo. Resumen

.
Los siguientes tres pasos ocurrirán en un nivel muy alto cuando Nagios (instalado en el servidor nagios) monitorea un servicio (por ejemplo, el uso del espacio en disco) en el host remoto de Windows.

  1. Nagios ejecutará el comando check_nt en el servidor nagios y lo solicitará para monitorear el uso del disco en el host de Windows remoto.
  2. El check_nt en el servidor nagios se comunicará con el servicio NSClient++ en el host remoto de Windows y le solicitará que ejecute USEDDISKSPACE en el host remoto.
  3. Los resultados del comando USEDDISKSPACE serán devueltos por el demonio NSClient++ al check_nt en el servidor nagios.


El siguiente flujo resume la explicación anterior:

Servidor Nagios (check_nt) —–> Host remoto (NSClient++) —–> USEDDISKSPACE
Servidor Nagios (check_nt) <—– Host remoto (NSClient++) <—– USEDDISKSPACE (devuelve el uso del espacio en disco)

II. 4 pasos para configurar nagios en un host de Windows remoto

.

1. Instale NSClient++ en el servidor de Windows remoto

Descargue NSCP 0.3.1 (NSClient++-Win32-0.3.1.msi) del Proyecto NSClient++. NSClient++ es un servicio de Windows de código abierto que permite que Nagios recopile métricas de rendimiento para los servicios de Windows. Realice los siguientes cinco pasos de instalación de NSClient++ para completar la instalación.

(1) Pantalla de bienvenida de NSClient++

(2) Pantalla de acuerdo de licencia

(3) Seleccione la opción de instalación y la ubicación . Utilice la opción predeterminada y haga clic en Siguiente.



(4) Pantalla Listo para instalar . Haga clic en Instalar para comenzar.

(5) Pantalla de instalación completada .

2. Modificar el servicio NSClient++

Vaya a Panel de control -> Herramientas administrativas -> Servicios. Haga doble clic en el servicio "NSClientpp (Nagios) 0.3.1.14 2008-03-12 w32" y seleccione la casilla de verificación que dice "Permitir que el servicio interactúe con el escritorio", como se muestra a continuación.

3. Modificar el NSC.ini

(1) Modifique NSC.ini y descomente *.dll: Edite el archivo C:\Program Files\NSClient++\NSC.ini y elimine los comentarios de todo en [módulos] excepto RemoteConfiguration.dll y CheckWMI.dll

[modules]
;# NSCLIENT++ MODULES
;# A list with DLLs to load at startup.
;  You will need to enable some of these for NSClient++ to work.
; ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
; *                                                               *
; * N O T I C E ! ! ! - Y O U   H A V E   T O   E D I T   T H I S *
; *                                                               *
; ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
FileLogger.dll
CheckSystem.dll
CheckDisk.dll
NSClientListener.dll
NRPEListener.dll
SysTray.dll
CheckEventLog.dll
CheckHelpers.dll
;CheckWMI.dll
;
; RemoteConfiguration IS AN EXTREM EARLY IDEA SO DONT USE FOR PRODUCTION ENVIROMNEMTS!
;RemoteConfiguration.dll
; NSCA Agent is a new beta module use with care!
NSCAAgent.dll
; LUA script module used to write your own "check deamon" (sort of) early beta.
LUAScript.dll
; Script to check external scripts and/or internal aliases, early beta.
CheckExternalScripts.dll
; Check other hosts through NRPE extreme beta and probably a bit dangerous! :)
NRPEClient.dll


(2) Modifique NSC.ini y elimine el comentario de allow_hosts. Edite el archivo C:\Archivos de programa\NSClient++\NSC.ini y elimine el comentario de allow_host en la configuración y agregue la dirección IP del servidor nagios.

;# ALLOWED HOST ADDRESSES
;  This is a comma-delimited list of IP address of hosts that are allowed to talk to the all daemons.
;  If leave this blank anyone can access the deamon remotly (NSClient still requires a valid password).
;  The syntax is host or ip/mask so 192.168.0.0/24 will allow anyone on that subnet access
allowed_hosts=192.168.1.2/255.255.255.0

Nota: allow_host se encuentra en la sección [Configuración], [NSClient] y [NRPE]. Asegúrese de cambiar allow_host en [Configuración] para este propósito.

(3) Modifique NSC.ini y descomente el puerto. Edite el archivo C:\Program Files\NSClient++\NSC.ini y elimine los comentarios del número de puerto en la sección [NSClient]

;# NSCLIENT PORT NUMBER
;  This is the port the NSClientListener.dll will listen to.
port=12489


(4) Modifique NSC.ini y especifique la contraseña. También puede especificar una contraseña que el servidor de Nagios debe usar para acceder de forma remota al agente NSClient++.

[Settings]
;# OBFUSCATED PASSWORD
;  This is the same as the password option but here you can store the password in an obfuscated manner.
;  *NOTICE* obfuscation is *NOT* the same as encryption, someone with access to this file can still figure out the
;  password. Its just a bit harder to do it at first glance.
;obfuscated_password=Jw0KAUUdXlAAUwASDAAB
;
;# PASSWORD
;  This is the password (-s) that is required to access NSClient remotely. If you leave this blank everyone will be able to access the daemon remotly.
password=My2Secure$Password

4. Inicie el servicio NSClient++

Inicie el servicio NSClient++ desde el Panel de control -> Herramientas administrativas -> Servicios -> Seleccione "NSClientpp (Nagios) 0.3.1.14 2008-03-12 w32" y haga clic en Inicio (o) Haga clic en "Inicio -> Todos los programas -> NSClient++ -> Iniciar NSClient++ (Win32) . Tenga en cuenta que esto iniciará NSClient++ como un servicio de Windows.

Más tarde, si modifica algo en el archivo NSC.ini, debe reiniciar "NSClientpp (Nagios) 0.3.1.14 2008-03-12 w32" desde el servicio de Windows.

III. 6 pasos de configuración en el servidor de monitoreo de nagios

.

1. Verifique el comando check_nt y la plantilla del servidor de Windows

Verifique que check_nt esté habilitado en /usr/local/nagios/etc/objects/commands.cfg

# 'check_nt' command definition
define command{
command_name    check_nt
command_line    $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$
}


Verifique que la plantilla del servidor de Windows esté habilitada en /usr/local/nagios/etc/objects/templates.cfg

# Windows host definition template - This is NOT a real host, just a template!
define host{
name                    windows-server  ; The name of this host template
use                     generic-host    ; Inherit default values from the generic-host template
check_period            24x7            ; By default, Windows servers are monitored round the clock
check_interval          5               ; Actively check the server every 5 minutes
retry_interval          1               ; Schedule host check retries at 1 minute intervals
max_check_attempts      10              ; Check each server 10 times (max)
check_command           check-host-alive        ; Default command to check if servers are "alive"
notification_period     24x7            ; Send notification out at any time - day or night
notification_interval   30              ; Resend notifications every 30 minutes
notification_options    d,r             ; Only send notifications for specific host states
contact_groups          admins          ; Notifications get sent to the admins by default
hostgroups              windows-servers ; Host groups that Windows servers should be a member of
register                0               ; DONT REGISTER THIS - ITS JUST A TEMPLATE
}

2. Descomente windows.cfg en /usr/local/nagios/etc/nagios.cfg

# Definitions for monitoring a Windows machine
cfg_file=/usr/local/nagios/etc/objects/windows.cfg

3. Modifique /usr/local/nagios/etc/objects/windows.cfg

De forma predeterminada, se proporciona una definición de host de muestra para un servidor de Windows en windows.cfg, modifíquelo para reflejar el servidor de Windows apropiado que debe monitorearse a través de nagios.

# Define a host for the Windows machine we'll be monitoring
# Change the host_name, alias, and address to fit your situation

define host{
use             windows-server              ; Inherit default values from a template
host_name   remote-windows-host      ; The name we're giving to this host
alias            Remote Windows Host     ; A longer name associated with the host
address       192.168.1.4                   ; IP address of the remote windows host
}

4. Defina los servicios de Windows que deben ser monitoreados.

Los siguientes son los servicios de Windows predeterminados que ya están habilitados en el archivo windows.cfg de muestra. Asegúrese de actualizar host_name en estos servicios para reflejar el host_name definido en el paso anterior.

define service{
use                     generic-service
host_name               remote-windows-host
service_description     NSClient++ Version
check_command           check_nt!CLIENTVERSION
}
define service{
use                     generic-service
host_name               remote-windows-host
service_description     Uptime
check_command           check_nt!UPTIME
}
define service{
use                     generic-service
host_name               remote-windows-host
service_description     CPU Load
check_command           check_nt!CPULOAD!-l 5,80,90
}
define service{
use                     generic-service
host_name               remote-windows-host
service_description     Memory Usage
check_command           check_nt!MEMUSE!-w 80 -c 90
}
define service{
use                     generic-service
host_name               remote-windows-host
service_description     C:\ Drive Space
check_command           check_nt!USEDDISKSPACE!-l c -w 80 -c 90
}
define service{
use                     generic-service
host_name               remote-windows-host
service_description     W3SVC
check_command           check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
}
define service{
use                     generic-service
host_name               remote-windows-host
service_description     Explorer
check_command           check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe
}

5. Habilitar protección con contraseña

Si especificó una contraseña en el archivo NSC.ini del archivo de configuración NSClient++ en la máquina con Windows, deberá modificar la definición del comando check_nt para incluir la contraseña. Modifique el archivo /usr/local/nagios/etc/commands.cfg y agregue la contraseña como se muestra a continuación.

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

6. Verifique la configuración y reinicie Nagios.

Verifique los archivos de configuración de nagios como se muestra a continuación.

[nagios-server]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Total Warnings: 0
Total Errors:   0

Things look okay - No serious problems were detected during the pre-flight check


Reinicie nagios como se muestra a continuación.

[nagios-server]# /etc/rc.d/init.d/nagios stop
Stopping nagios: .done.

[nagios-server]# /etc/rc.d/init.d/nagios start
Starting nagios: done.


Verifique el estado de los diversos servicios que se ejecutan en el host de Windows remoto desde la interfaz de usuario web de Nagios (http://nagios-server/nagios) como se muestra a continuación.

Mejor libro de Nagios

Libro electrónico de Nagios Core 3:he estado usando Nagios durante varios años y puedo dormir tranquilo sabiendo que Nagios está monitoreando todos mis sistemas y me advertirá sobre cualquier problema potencial, antes de que se vuelva crítico. Le recomiendo encarecidamente que lea el libro electrónico Nagios Core 3 para obtener una comprensión detallada de Nagios. Dado que Nagios es un software gratuito, gastar unos pocos dólares en el libro puede ser la mejor inversión que puede hacer.

Impresionantes artículos de Nagios

Los siguientes son algunos artículos de Nagios increíbles. que puede resultarle útil.

  • Cómo monitorear un host Linux remoto usando Nagios 3
  • Cómo monitorear puertos y conmutadores de red usando Nagios
  • Guía de inicio rápido de Nagios 3 para Linux:descripción general, instalación y configuración

Linux
  1. Cómo monitorear la actividad de Ethernet en Linux usando Arpwatch

  2. Cómo usar un escritorio remoto desde Windows a un escritorio Linux usando XRDP

  3. Cómo conectarse a una máquina Windows remota desde Lubuntu Linux usando Remmina

  4. Uso de DLL de Windows desde Linux

  5. ¿Cómo hacer un túnel de Windows Remote Desktop a través de ssh usando una caja de Linux?

Cómo monitorear cambios de archivos usando fswatch en Linux

Cómo monitorear el tiempo de actividad del sistema Linux usando Uptimed

Cómo configurar el reenvío X11 usando SSH en Linux

Cómo ejecutar aplicaciones de Linux en Windows 10 y 11 usando WSL

Cómo realizar una copia de seguridad remota de Linux mediante SSH

Cómo monitorear una máquina Linux a través de Nagios