Nagios 4.1.1: Adding Windows client to the Nagios server

Installing the Windows Agent:


Before you can begin monitoring Windows machines, you'll need to install an agent on Windows machines. I recommend using the NSClient++,which can be found at  

1. Download the latest stable version of the NSClient++ addon from http://sourceforge.net/projects/nscplus

2. Unzip the NSClient++ files into a new C:\NSClient++ directory

3. Open a command prompt and change to the C:\NSClient++ directory

4. Register the NSClient++ system service with the following command:

nsclient++ /install
5. Install the NSClient++ systray with the following command ('SysTray' is case-sensitive):

nsclient++ SysTray

6. Open the services manager and make sure the NSClientpp service is allowed to interact with the desktop (see the 'Log On' tab of the services manager). If it isn't already allowed to interact with the desktop, check the box to allow it to.




NSClientpp

7. Edit the NSC.INI file (located in the C:\NSClient++ directory) and make the following changes:


  • Uncomment all the modules listed in the [modules] section, except for CheckWMI.dll and RemoteConfiguration.dll
  • Optionally require a password for clients by changing the 'password' option in the [Settings] section.
  • Uncomment the 'allowed_hosts' option in the [Settings] section. Add the IP address of the Nagios server to this line, or leave it blank to allow all hosts to connect.
  • Make sure the 'port' option in the [NSClient] section is uncommented and set to '12489' (the default port).

8. Start the NSClient++ service with the following command:

nsclient++ /start


9. Success! The Windows server can now be added to the Nagios monitoring configuration...


Nagios 4.1.1 other links 


Adding Windows Clients to the Nagios Server configutaion:

Nagios.cfg: 

Remember, you only need to do this for the *first* on Nagios server to monitor Windows machine.

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

Remove the leading pound (comment #) sign from the following line in the main configuration file:

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

Save the file and exit.

Now it's time to define some object definitions in your Nagios configuration files in order to monitor the new Windows machine.

Open the windows.cfg file for editing.


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


Add a new host definition for the Windows machine that you're going to monitor. If this is the *first* Windows machine you're monitoring, you can simply modify the sample host definition in windows.cfg. Change the host_name, alias, and address fields to appropriate values for the Windows box.

Sample file looks like this:


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
}

Good. Now you can add some service definitions (to the same configuration file) in order to tell Nagios to monitor different aspects of the Windows machine. If this is the *first* Windows machine you're monitoring, you can simply modify the sample service definitions in windows.cfg.

Note Note: Replace "winserver" in the example definitions below with the name you specified in the host_name directive of the host definition you just added.

Add the following service definition to monitor the version of the NSClient++ addon that is running on the Windows server. This is useful when it comes time to upgrade your Windows servers to a newer version of the addon, as you'll be able to tell which Windows machines still need to be upgraded to the latest version of NSClient++.

define service{
use                 generic-service
host_name winserver
service_description         NSClient++ Version
check_command check_nt!CLIENTVERSION
}
Add the following service definition to monitor the uptime of the Windows server.

define service{
use                 generic-service
host_name winserver
service_description   Uptime
check_command check_nt!UPTIME
}
Add the following service definition to monitor the CPU utilization on the Windows server and generate a CRITICAL alert if the 5-minute CPU load is 90% or more or a WARNING alert if the 5-minute load is 80% or greater.

define service{
use                 generic-service
host_name winserver
service_description         CPU Load
check_command check_nt!CPULOAD!-l 5,80,90
}
Add the following service definition to monitor memory usage on the Windows server and generate a CRITICAL alert if memory usage is 90% or more or a WARNING alert if memory usage is 80% or greater.

define service{
use                 generic-service
host_name winserver
service_description         Memory Usage
check_command check_nt!MEMUSE!-w 80 -c 90
}
Add the following service definition to monitor usage of the C:\ drive on the Windows server and generate a CRITICAL alert if disk usage is 90% or more or a WARNING alert if disk usage is 80% or greater.

define service{
use                 generic-service
host_name winserver
service_description         C:\ Drive Space
check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90
}
Add the following service definition to monitor the W3SVC service state on the Windows machine and generate a CRITICAL alert if the service is stopped.

define service{
use                 generic-service
host_name winserver
service_description         W3SVC
check_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
}
Add the following service definition to monitor the Explorer.exe process on the Windows machine and generate a CRITICAL alert if the process is not running.

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



Password Protection

If you specified a password in the NSClient++ configuration file on the Windows machine, you'll need to modify the check_nt command definition to include the password. Open the commands.cfg file for editing.

# vi /usr/local/nagios/etc/objects/commands.cfg
Change the definition of the check_nt command to include the "-s <PASSWORD>" argument (where PASSWORD is the password you specified on the Windows machine) like this:

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


Finally, verify Nagios Configuration files for any errors.


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


# service nagios restart

Now go to Nagios Monitoring Web interface at “http://Your-server-IP-address/nagios” or “http://FQDN/nagios


















Keywords: Nagios, Monitoring, Linux host, Ading Linux host, Adding Client, Adding Windows Client

Comments

Popular posts from this blog

Observium: Configuring Microsoft Windows 2008 Server SNMP Agent

AWS: Upgrade PV Drivers on Windows Instances

How to configure Incremental backups for MSSQL Database