| 1 | | '''About NSClient++''' |
| 2 | | |
| 3 | | NSClient++ (or nscp as I tend to call it nowadays) aims to be a simple yet powerful and secure monitoring daemon for windows operating systems. It is built for Nagios but nothing in the daemon is actually Nagios specific and could probably with little or no change be integrated in any monitoring software that supports running user tools for polling. |
| 4 | | |
| 5 | | The structure of the daemon is a simple NT service that loads a plug-ins to an internal stack. The plug-ins can then request data (poll performance data) from the other plug-ins through the internal stack. As of now there are a few plug-ins for basic performance data collection. |
| 6 | | |
| 7 | | NSClient++ can be extended in two ways you can either write your own plug-in to or you can execute an external script (as of now batch/exe/*). Writing your own plug-in is of course the most powerful way but requires knowledge of C++ or other language which can produce DLLs and interface with regular C programs. |
| 8 | | |
| 9 | | As for checking with NSClient++ I would recommend NRPE as it is a lot more flexible then check_nt. But NSClient has full support for check_nt and if there is an interest I could probably add support for check_nt from nc_net. |
| 10 | | --- |
| 11 | | '''News''' |
| 12 | | * 2006-01-21, Added WMI Check module (early alpha) |
| 13 | | This is an extremely early alpha more to see if there is an interest and how to progress with it. |
| 14 | | To use the WMI module enable the WMICheck.dll (nsc.ini) and then run the following check: |
| 15 | | CheckWMI MaxWarn=10 MaxCrit=15 "Query:load=Select LoadPercentage from win32_Processor" |
| 16 | | The Max* are as every other check and sets limits. |
| 17 | | The Query works similarly to other check commands ie. Query:<name>=<WMI query> |
| 18 | | So any other WMI query should work (notice this is experimental and not stable and has virtually |
| 19 | | no error handling so it is likely to crash nsclient if you ask anything "non working".) |
| 20 | | I would *really* *really* like to get feedback on how to expand this concept to work better so feel free to come with feedback. |
| 21 | | Fixed NT4 /install (should work now!) |
| 22 | | * 2006-01-02, Minor fixes (but Im starting to be a tad more active now, or so I hope :) |
| 23 | | Changes in this version: |
| 24 | | Fixed ChangeServiceConfig2 on NT4 |
| 25 | | Added support for more then 4GB memory (8GB?) |
| 26 | | Since I dont have this much memory this needs to be verified... |
| 27 | | Fixed syntax of performance data |
| 28 | | * 2005-09-26, Minor additions and a bugfixrequests as well as updates to the documentation |
| 29 | | Changes in this version: |
| 30 | | Fixed memory size bug (free and used were swapped) |
| 31 | | Added option to debug all PDH counters /debugpdh |
| 32 | | Added support for checking service by display name |
| 33 | | '''Download''' |
| 34 | | NSClient can be found at its source forge page http://nscplus.sf.net |
| 35 | | |
| 36 | | Latest version is NSClient++ 0.2.5a.zip |
| 37 | | '''Modules''' |
| 38 | | |
| 39 | | NSClient++ comes with a few modules out of the box that does various checks. A list of the modules and there potential use is listed below here click each plug-in to see detailed command descriptions and how the various modules can be used. |
| 40 | | -CheckDisk Module to do various disk related checks- |
| 41 | | CheckFileSize Check the size of a file |
| 42 | | CheckDriveSize Check the size of a fixed drive or mounted volume |
| 43 | | CheckEventLog Module to check event log |
| 44 | | CheckEventLog Check event log for errors |
| 45 | | CheckSystem Module to check system related things |
| 46 | | CheckCPU Check CPU load averages |
| 47 | | CheckUpTime Check system uptime |
| 48 | | CheckServiceState Check State of a service |
| 49 | | CheckProcState Check state of a process (application) |
| 50 | | CheckMem Check state of memory (Page file) |
| 51 | | CheckCounter Check performance counters |
| 52 | | CheckHelpers Various helper function, doesn't check anything in it self but can help make things simpler. |
| 53 | | CheckAlwaysOK Runs another check and always returns OK regardless of result. |
| 54 | | CheckAlwaysCRITICAL Runs another check and always returns CRITICAL regardless of result. |
| 55 | | CheckAlwaysWARNING Runs another check and always returns WARNING regardless of result. |
| 56 | | CheckMultiple Runs multiple checks and returns them all in one go. |
| 57 | | FileLogger Logs all messages (errors, warnings etc) to a file. |
| 58 | | NRPEListener Listens for incoming NRPE calls and handles them by injecting them into the core. It also listens for all NRPE definitions and executes them |
| 59 | | NSClientListener Listens for incoming NSClient calls and handles them accordingly. This only allows a limited subset of functionality and NRPE is recommended. |
| 60 | | SysTray |
| 61 | | |
| 62 | | A simple module to show an icon in the tray when the service is running this module does not export any check commands. |
| 63 | | Installation |
| 64 | | |
| 65 | | NSClient++ comes with simple command line option for registering (and deregistering) the service but it does not have a GUI installer. |
| 66 | | |
| 67 | | Thus to install the Client you only need to copy the files to a directory of you choice and then run “NSClient /install”. |
| 68 | | |
| 69 | | Before you start NSClient++ you need to configure the client this is done by editing the configuration file (NSC.ini). The configuration file is a simple text file and is explained in detail under Configuration. The files needed by NSClient++ varies but mainly the exe and DLL:s in the NSClient++ root are required as well as all the modules you plan to use from the modules subdirectory (/modules/*). |
| 70 | | |
| 71 | | The configuration file (NSC.ini) *NEEDS* to be configured as for security reasons all plug-ins are disabled by default. The reason for this is so no one will accidentally install this and get potential security issues, I believe that things should be "off" by default. Also notice that by default allowed_hosts are 127.0.0.1 so you need to modify this as well. |
| 72 | | |
| 73 | | |
| 74 | | |
| 75 | | To install NSClient++ execute the following command: |
| 76 | | |
| 77 | | NSClient++ /install |
| 78 | | |
| 79 | | To uninstall NSClient++ execute the following command: |
| 80 | | |
| 81 | | NSClient++ /uninstall |
| 82 | | |
| 83 | | To start NSClient++ execute the following command: |
| 84 | | |
| 85 | | NSClient++ /start |
| 86 | | |
| 87 | | To stop NSClient++ execute the following command: |
| 88 | | |
| 89 | | NSClient++ /stop |
| 90 | | |
| 91 | | |
| 92 | | |
| 93 | | If you only wish to test it or debug the client you can use the following without installing it first. |
| 94 | | |
| 95 | | NSClient++ /test |
| 96 | | Configuration |
| 97 | | |
| 98 | | Configuration is fairly simple and straight forward. Open the configuration file in notepad (or you favorite editor) “notepad <installation path>\NSC.ini” and edit it accordingly. |
| 99 | | |
| 100 | | A longer description of the Configuration file is included in the following page. |
| | 1 | '''CheckEventLog.dll''' |
| | 2 | The CheckEventLog module checks for problems reported to the windows event log. |
| | 3 | * wiki:CheckEventLog:CheckEventLog|CheckEventLog, Check to find errors in the event log. |
| | 4 | ==Configuration== |
| | 5 | ''This module has no configuration directives.'' |