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
- Instalar NSClient++ en el servidor de Windows remoto
- Modificar el servicio NSClient++
- Modificar el NSC.ini
- Inicie el servicio NSClient++
tercero 6 pasos de configuración en el servidor de monitoreo de nagios
- Verifique el comando check_nt y la plantilla del servidor de Windows
- Elimine el comentario de windows.cfg en /usr/local/nagios/etc/nagios.cfg
- Modifique /usr/local/nagios/etc/objects/windows.cfg
- Defina los servicios de Windows que deben ser monitoreados.
- Habilitar protección con contraseña
- 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.
- 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.
- 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.
- 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
(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