| 1 | <html> |
|---|
| 2 | |
|---|
| 3 | <head> |
|---|
| 4 | <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> |
|---|
| 5 | <title>About NSClient++</title> |
|---|
| 6 | <link rel="stylesheet" type="text/css" href="nscplus.css"> |
|---|
| 7 | <base target="_self"> |
|---|
| 8 | </head> |
|---|
| 9 | |
|---|
| 10 | <body> |
|---|
| 11 | |
|---|
| 12 | <div id="content" class="documentContent"> |
|---|
| 13 | <h1>About NSClient++</h1> |
|---|
| 14 | <p>NSClient++ (or nscp as I tend to call it nowadays) aims to be a simple yet |
|---|
| 15 | powerful and secure monitoring daemon for windows operating systems. It is built |
|---|
| 16 | for Nagios but nothing in the daemon is actually Nagios specific and could probably |
|---|
| 17 | with little or no change be integrated in any monitoring software that supports |
|---|
| 18 | running user tools for polling.</p> |
|---|
| 19 | <p>The structure of the daemon is a simple NT service that loads a plug-ins |
|---|
| 20 | to an internal stack. The plug-ins can then request data (poll performance data) |
|---|
| 21 | from the other plug-ins through the internal stack. As of now there are a few |
|---|
| 22 | plug-ins for basic performance data collection. </p> |
|---|
| 23 | <p>NSClient++ can be extended in two ways you can either write your own plug-in |
|---|
| 24 | to or you can execute an external script (as of now batch/exe/*). Writing your |
|---|
| 25 | own plug-in is of course the most powerful way but requires knowledge of C++ |
|---|
| 26 | or other language which can produce DLLs and interface with regular C programs.</p> |
|---|
| 27 | <p>As for checking with NSClient++ I would recommend |
|---|
| 28 | <a href="http://sourceforge.net/project/showfiles.php?group_id=26589&package_id=40241"> |
|---|
| 29 | NRPE</a> as it is a lot more flexible then check_nt. But NSClient has full support |
|---|
| 30 | for check_nt and if there is an interest I could probably add support for check_nt |
|---|
| 31 | from nc_net.</p> |
|---|
| 32 | <h1>News</h1> |
|---|
| 33 | <table id="table17" border="0" cellspacing="0" cellpadding="0" class="MsoNormalTable"> |
|---|
| 34 | <tr> |
|---|
| 35 | <td valign="top">2006-01-21</td> |
|---|
| 36 | <td><p><b>Added</b> WMI Check module (early alpha)</p> |
|---|
| 37 | This is an extremely early alpha more to see if there is an interest |
|---|
| 38 | and how to progress with it.<br> |
|---|
| 39 | To use the WMI module enable the WMICheck.dll (nsc.ini) and then run |
|---|
| 40 | the following check:<br> |
|---|
| 41 | CheckWMI MaxWarn=10 MaxCrit=15 "Query:load=Select LoadPercentage |
|---|
| 42 | from win32_Processor"<br> |
|---|
| 43 | The Max* are as every other check and sets limits. <br> |
|---|
| 44 | The Query works similarly to other check commands ie. Query:<name>=<WMI |
|---|
| 45 | query><br> |
|---|
| 46 | So any other WMI query should work (notice this is experimental and |
|---|
| 47 | not stable and has virtually <br> |
|---|
| 48 | no error handling so it is likely to crash nsclient if you ask |
|---|
| 49 | anything "non working".)<br> |
|---|
| 50 | I would *really* *really* like to get feedback on how to expand this |
|---|
| 51 | concept to work better so feel free to come with feedback.<br> |
|---|
| 52 | <p><b>Fixed</b> NT4 /install (should work now!)</p></td> |
|---|
| 53 | </tr> |
|---|
| 54 | <tr> |
|---|
| 55 | <td valign="top">2006-01-02</td> |
|---|
| 56 | <td><p>Minor fixes (but Im starting to be a tad more active now, or so |
|---|
| 57 | I hope :)</p><p>Changes in this version:</p> |
|---|
| 58 | <p><b>Fixed</b> ChangeServiceConfig2 on NT4<br> |
|---|
| 59 | <b>Added </b>support for more then 4GB memory (8GB?)<br> |
|---|
| 60 | Since I dont have this much memory this needs to be verified...<br> |
|---|
| 61 | <b>Fixed </b>syntax of performance data</td> |
|---|
| 62 | </tr> |
|---|
| 63 | <tr> |
|---|
| 64 | <td valign="top">2005-09-26</td> |
|---|
| 65 | <td><p>Minor additions and a bugfixrequests as well as updates to the documentation</p> |
|---|
| 66 | <p>Changes in this version:</p> |
|---|
| 67 | <p><b>Fixed </b>memory size bug (free and used were swapped)<br> |
|---|
| 68 | <b>Added </b>option to debug all PDH counters /debugpdh<br> |
|---|
| 69 | <b>Added </b>support for checking service by display name<br> |
|---|
| 70 | </td> |
|---|
| 71 | </tr> |
|---|
| 72 | </table> |
|---|
| 73 | <h1>Download</h1> |
|---|
| 74 | <p>NSClient can be found at its source forge page |
|---|
| 75 | <a href="http://nscplus.sf.net" target="_top">http://nscplus.sf.net</a></p> |
|---|
| 76 | <p>Latest version is |
|---|
| 77 | <a href="http://prdownloads.sourceforge.net/nscplus/NSClient++-0.2.5a.zip?download"> |
|---|
| 78 | NSClient++ 0.2.5a.zip</a></p> |
|---|
| 79 | <h1>Modules</h1> |
|---|
| 80 | <p>NSClient++ comes with a few modules out of the box that does various checks. |
|---|
| 81 | A list of the modules and there potential use is listed below here click each |
|---|
| 82 | plug-in to see detailed command descriptions and how the various modules can |
|---|
| 83 | be used.</p> |
|---|
| 84 | <table id="table16" border="0" cellspacing="0" cellpadding="0" class="MsoNormalTable"> |
|---|
| 85 | <tr> |
|---|
| 86 | <td width="221" colspan="2"><b><a href="CheckDisk/index.html">CheckDisk</a></b></td> |
|---|
| 87 | <td>Module to do various disk related checks</td> |
|---|
| 88 | </tr> |
|---|
| 89 | <tr> |
|---|
| 90 | <td width="67"> </td> |
|---|
| 91 | <td width="146"><span>CheckFileSize</span></td> |
|---|
| 92 | <td>Check the size of a file</td> |
|---|
| 93 | </tr> |
|---|
| 94 | <tr> |
|---|
| 95 | <td width="67"> </td> |
|---|
| 96 | <td width="146"><span>CheckDriveSize</span></td> |
|---|
| 97 | <td>Check the size of a fixed drive or mounted volume</td> |
|---|
| 98 | </tr> |
|---|
| 99 | <tr> |
|---|
| 100 | <td width="221" colspan="2"><b><span> |
|---|
| 101 | <a href="CheckEventLog/index.html">CheckEventLog</a></span></b></td> |
|---|
| 102 | <td>Module to check event log</td> |
|---|
| 103 | </tr> |
|---|
| 104 | <tr> |
|---|
| 105 | <td width="67"> </td> |
|---|
| 106 | <td width="146"><span>CheckEventLog</span></td> |
|---|
| 107 | <td>Check event log for errors</td> |
|---|
| 108 | </tr> |
|---|
| 109 | <tr> |
|---|
| 110 | <td width="221" colspan="2"><b><a href="CheckSystem/index.html">CheckSystem</a></b></td> |
|---|
| 111 | <td>Module to check system related things</td> |
|---|
| 112 | </tr> |
|---|
| 113 | <tr> |
|---|
| 114 | <td width="67"> </td> |
|---|
| 115 | <td width="146">CheckCPU</td> |
|---|
| 116 | <td>Check CPU load averages</td> |
|---|
| 117 | </tr> |
|---|
| 118 | <tr> |
|---|
| 119 | <td width="67"> </td> |
|---|
| 120 | <td width="146">CheckUpTime</td> |
|---|
| 121 | <td>Check system uptime</td> |
|---|
| 122 | </tr> |
|---|
| 123 | <tr> |
|---|
| 124 | <td width="67"> </td> |
|---|
| 125 | <td width="146">CheckServiceState</td> |
|---|
| 126 | <td>Check State of a service</td> |
|---|
| 127 | </tr> |
|---|
| 128 | <tr> |
|---|
| 129 | <td width="67"> </td> |
|---|
| 130 | <td width="146">CheckProcState</td> |
|---|
| 131 | <td>Check state of a process (application)</td> |
|---|
| 132 | </tr> |
|---|
| 133 | <tr> |
|---|
| 134 | <td width="67"> </td> |
|---|
| 135 | <td width="146">CheckMem</td> |
|---|
| 136 | <td>Check state of memory (Page file)</td> |
|---|
| 137 | </tr> |
|---|
| 138 | <tr> |
|---|
| 139 | <td width="67"> </td> |
|---|
| 140 | <td width="146">CheckCounter</td> |
|---|
| 141 | <td>Check performance counters</td> |
|---|
| 142 | </tr> |
|---|
| 143 | <tr> |
|---|
| 144 | <td width="221" colspan="2"><b><a href="CheckHelpers/index.html">CheckHelpers</a></b></td> |
|---|
| 145 | <td>Various helper function, doesn't check anything in it self but can |
|---|
| 146 | help make things simpler.</td> |
|---|
| 147 | </tr> |
|---|
| 148 | <tr> |
|---|
| 149 | <td width="67"> </td> |
|---|
| 150 | <td width="146">CheckAlwaysOK</td> |
|---|
| 151 | <td>Runs another check and always returns OK regardless of result.</td> |
|---|
| 152 | </tr> |
|---|
| 153 | <tr> |
|---|
| 154 | <td width="67"> </td> |
|---|
| 155 | <td width="146">CheckAlwaysCRITICAL</td> |
|---|
| 156 | <td>Runs another check and always returns CRITICAL regardless of result.</td> |
|---|
| 157 | </tr> |
|---|
| 158 | <tr> |
|---|
| 159 | <td width="67"> </td> |
|---|
| 160 | <td width="146">CheckAlwaysWARNING</td> |
|---|
| 161 | <td>Runs another check and always returns WARNING regardless of result.</td> |
|---|
| 162 | </tr> |
|---|
| 163 | <tr> |
|---|
| 164 | <td width="67"> </td> |
|---|
| 165 | <td width="146">CheckMultiple</td> |
|---|
| 166 | <td>Runs multiple checks and returns them all in one go.</td> |
|---|
| 167 | </tr> |
|---|
| 168 | <tr> |
|---|
| 169 | <td width="221" colspan="2"><b><a href="FileLogger/index.html">FileLogger</a></b></td> |
|---|
| 170 | <td>Logs all messages (errors, warnings etc) to a file.</td> |
|---|
| 171 | </tr> |
|---|
| 172 | <tr> |
|---|
| 173 | <td width="221" colspan="2"><b><a href="NRPEListener/index.html">NRPEListener</a></b></td> |
|---|
| 174 | <td>Listens for incoming NRPE calls and handles them by injecting them |
|---|
| 175 | into the core. It also listens for all NRPE definitions and executes |
|---|
| 176 | them</td> |
|---|
| 177 | </tr> |
|---|
| 178 | <tr> |
|---|
| 179 | <td width="221" colspan="2"><b> |
|---|
| 180 | <a href="NSClientListener/index.html">NSClientListener</a></b></td> |
|---|
| 181 | <td>Listens for incoming NSClient calls and handles them accordingly. |
|---|
| 182 | This only allows a limited subset of functionality and NRPE is recommended.</td> |
|---|
| 183 | </tr> |
|---|
| 184 | <tr> |
|---|
| 185 | <td width="221" colspan="2"><b><a href="SysTray/index.html">SysTray</a></b></td> |
|---|
| 186 | <td> |
|---|
| 187 | <p>A simple module to show an icon in the tray when the service is running |
|---|
| 188 | this module does not export any check commands.</p> |
|---|
| 189 | </td> |
|---|
| 190 | </tr> |
|---|
| 191 | </table> |
|---|
| 192 | <h1>Installation</h1> |
|---|
| 193 | <p>NSClient++ comes with simple command line option for registering (and deregistering) |
|---|
| 194 | the service but it does not have a GUI installer.</p> |
|---|
| 195 | <p>Thus to install the Client you only need to copy the files to a directory |
|---|
| 196 | of you choice and then run NSClient /install.</p> |
|---|
| 197 | <p>Before you start NSClient++ you need to configure the client this is done |
|---|
| 198 | by editing the configuration file (NSC.ini). The configuration file is a simple |
|---|
| 199 | text file and is explained in detail under Configuration. The files needed by |
|---|
| 200 | NSClient++ varies but mainly the exe and DLL:s in the NSClient++ root are required |
|---|
| 201 | as well as all the modules you plan to use from the modules subdirectory (/modules/*). </p> |
|---|
| 202 | <p><b>The configuration file (NSC.ini) *NEEDS* to be configured as for |
|---|
| 203 | security reasons all plug-ins are disabled by default. The reason for this |
|---|
| 204 | is so no one will accidentally install this and get potential security issues, |
|---|
| 205 | I believe that things should be "off" by default. Also notice that by default |
|---|
| 206 | allowed_hosts are 127.0.0.1 so you need to modify this as well.</b></p> |
|---|
| 207 | <p> </p> |
|---|
| 208 | <p>To <b>install</b> NSClient++ execute the following command:</p> |
|---|
| 209 | <p><i>NSClient++ /install</i></p> |
|---|
| 210 | <p>To <b>uninstall</b> NSClient++ execute the following command:</p> |
|---|
| 211 | <p><i>NSClient++ /uninstall</i></p> |
|---|
| 212 | <p>To <b>start</b> NSClient++ execute the following command:</p> |
|---|
| 213 | <p><i>NSClient++ /start</i></p> |
|---|
| 214 | <p>To <b>stop</b> NSClient++ execute the following command:</p> |
|---|
| 215 | <p><i>NSClient++ /stop</i></p> |
|---|
| 216 | <p> </p> |
|---|
| 217 | <p>If you only wish to test it or debug the client you can use the following |
|---|
| 218 | without installing it first.</p> |
|---|
| 219 | <p><i>NSClient++ /test</i></p> |
|---|
| 220 | <h1>Configuration</h1> |
|---|
| 221 | <p>Configuration is fairly simple and straight forward. Open the configuration |
|---|
| 222 | file in notepad (or you favorite editor) notepad <installation path>\NSC.ini |
|---|
| 223 | and edit it accordingly. </p> |
|---|
| 224 | <p>A longer description of the Configuration file is included in the following |
|---|
| 225 | <a href="Configuration/index.html">page</a>.</p> |
|---|
| 226 | </div> |
|---|
| 227 | |
|---|
| 228 | </body> |
|---|
| 229 | |
|---|
| 230 | </html> |
|---|