NSClient++ Code
Brought to you by:
mickem
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
<meta name=Generator content="Microsoft Word 11 (filtered)">
<title>NSClient++</title>
<style>
<!--
/* Font Definitions */
@font-face
{font-family:"MS Mincho";
panose-1:2 2 6 9 4 2 5 8 3 4;}
@font-face
{font-family:"\@MS Mincho";
panose-1:2 2 6 9 4 2 5 8 3 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman";}
h1
{margin-top:12.0pt;
margin-right:0in;
margin-bottom:3.0pt;
margin-left:0in;
page-break-after:avoid;
font-size:16.0pt;
font-family:Arial;}
h2
{margin-top:12.0pt;
margin-right:0in;
margin-bottom:3.0pt;
margin-left:0in;
page-break-after:avoid;
font-size:14.0pt;
font-family:Arial;
font-style:italic;}
h3
{margin-top:12.0pt;
margin-right:0in;
margin-bottom:3.0pt;
margin-left:0in;
page-break-after:avoid;
font-size:13.0pt;
font-family:Arial;}
p.MsoToc1, li.MsoToc1, div.MsoToc1
{margin-top:12.0pt;
margin-right:0in;
margin-bottom:6.0pt;
margin-left:0in;
font-size:10.0pt;
font-family:"Times New Roman";
font-weight:bold;}
p.MsoToc2, li.MsoToc2, div.MsoToc2
{margin-top:6.0pt;
margin-right:0in;
margin-bottom:0in;
margin-left:12.0pt;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Times New Roman";
font-style:italic;}
p.MsoToc3, li.MsoToc3, div.MsoToc3
{margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:24.0pt;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Times New Roman";}
p.MsoToc4, li.MsoToc4, div.MsoToc4
{margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Times New Roman";}
p.MsoToc5, li.MsoToc5, div.MsoToc5
{margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:48.0pt;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Times New Roman";}
p.MsoToc6, li.MsoToc6, div.MsoToc6
{margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:60.0pt;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Times New Roman";}
p.MsoToc7, li.MsoToc7, div.MsoToc7
{margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:1.0in;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Times New Roman";}
p.MsoToc8, li.MsoToc8, div.MsoToc8
{margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:84.0pt;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Times New Roman";}
p.MsoToc9, li.MsoToc9, div.MsoToc9
{margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:96.0pt;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Times New Roman";}
a:link, span.MsoHyperlink
{color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{color:purple;
text-decoration:underline;}
@page Section1
{size:595.3pt 841.9pt;
margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.Section1
{page:Section1;}
-->
</style>
</head>
<body lang=SV link=blue vlink=purple>
<div class=Section1>
<h1><a name="_Toc101631085"><span lang=EN-US>About NSClient++</span></a></h1>
<p class=MsoNormal><span lang=EN-US>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.</span></p>
<p class=MsoNormal><span lang=EN-US>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. </span></p>
<p class=MsoNormal><span lang=EN-US>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.</span></p>
<h1><a name="_Toc101631086"><span lang=EN-US>Table of Contents</span></a></h1>
<p class=MsoToc1><span
class=MsoHyperlink><a href="#_Toc101631085"><span lang=EN-US>About NSClient++</span><span
lang=EN-US style='color:windowtext;display:none;text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>1</span></a></span></p>
<p class=MsoToc1><span class=MsoHyperlink><a href="#_Toc101631086"><span
lang=EN-US>Table of Contents</span><span lang=EN-US style='color:windowtext;
display:none;text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>1</span></a></span></p>
<p class=MsoToc1><span class=MsoHyperlink><a href="#_Toc101631087"><span
lang=EN-US>Modules</span><span lang=EN-US style='color:windowtext;display:none;
text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>2</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc101631088"><span
lang=EN-US>CheckDisk.dll</span><span lang=EN-US style='color:windowtext;
display:none;text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>2</span></a></span></p>
<p class=MsoToc3><span class=MsoHyperlink><a href="#_Toc101631089">CheckFileSize<span
style='color:windowtext;display:none;text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>2</span></a></span></p>
<p class=MsoToc3><span class=MsoHyperlink><a href="#_Toc101631090"><span
lang=EN-US>CheckDriveSize</span><span lang=EN-US style='color:windowtext;
display:none;text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>3</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc101631091"><span
lang=EN-US>CheckEventLog.dll</span><span lang=EN-US style='color:windowtext;
display:none;text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>3</span></a></span></p>
<p class=MsoToc3><span class=MsoHyperlink><a href="#_Toc101631092">CheckEventLog<span
style='color:windowtext;display:none;text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>3</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc101631093"><span
lang=EN-US>CheckSystem.dll</span><span lang=EN-US style='color:windowtext;
display:none;text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>4</span></a></span></p>
<p class=MsoToc3><span class=MsoHyperlink><a href="#_Toc101631094">checkCPU<span
style='color:windowtext;display:none;text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>4</span></a></span></p>
<p class=MsoToc3><span class=MsoHyperlink><a href="#_Toc101631095"><span
lang=EN-US>checkUpTime</span><span lang=EN-US style='color:windowtext;
display:none;text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>4</span></a></span></p>
<p class=MsoToc3><span class=MsoHyperlink><a href="#_Toc101631096"><span
lang=EN-US>checkServiceState</span><span lang=EN-US style='color:windowtext;
display:none;text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>5</span></a></span></p>
<p class=MsoToc3><span class=MsoHyperlink><a href="#_Toc101631097"><span
lang=EN-US>checkProcState</span><span lang=EN-US style='color:windowtext;
display:none;text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>5</span></a></span></p>
<p class=MsoToc3><span class=MsoHyperlink><a href="#_Toc101631098"><span
lang=EN-US>checkMem</span><span lang=EN-US style='color:windowtext;display:
none;text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>5</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc101631099"><span
lang=EN-US>FileLogger.dll</span><span lang=EN-US style='color:windowtext;
display:none;text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>5</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc101631100"><span
lang=EN-US>NRPEListener.dll</span><span lang=EN-US style='color:windowtext;
display:none;text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>5</span></a></span></p>
<p class=MsoToc3><span class=MsoHyperlink><a href="#_Toc101631101"><span
lang=EN-US>External commands</span><span lang=EN-US style='color:windowtext;
display:none;text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>6</span></a></span></p>
<p class=MsoToc3><span class=MsoHyperlink><a href="#_Toc101631102"><span
lang=EN-US>Internal commands</span><span lang=EN-US style='color:windowtext;
display:none;text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>6</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc101631103"><span
lang=EN-US>CheckSystem.dll</span><span lang=EN-US style='color:windowtext;
display:none;text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>6</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc101631104"><span
lang=EN-US>NSClientListener.dll</span><span lang=EN-US style='color:windowtext;
display:none;text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>6</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc101631105"><span
lang=EN-US>SysTray.dll</span><span lang=EN-US style='color:windowtext;
display:none;text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>6</span></a></span></p>
<p class=MsoToc1><span class=MsoHyperlink><a href="#_Toc101631106"><span
lang=EN-US>Installation</span><span lang=EN-US style='color:windowtext;
display:none;text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>6</span></a></span></p>
<p class=MsoToc1><span class=MsoHyperlink><a href="#_Toc101631107"><span
lang=EN-US>Configuration</span><span lang=EN-US style='color:windowtext;
display:none;text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>7</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc101631108"><span
lang=EN-US>Log</span><span lang=EN-US style='color:windowtext;display:none;
text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>7</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc101631109"><span
lang=EN-US>Systray</span><span lang=EN-US style='color:windowtext;display:none;
text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>7</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc101631110"><span
lang=EN-US>NSClient</span><span lang=EN-US style='color:windowtext;display:
none;text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>7</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc101631111"><span
lang=EN-US>NRPE</span><span lang=EN-US style='color:windowtext;display:none;
text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>8</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc101631112"><span
lang=EN-US>NRPE Handlers</span><span lang=EN-US style='color:windowtext;
display:none;text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>8</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc101631113"><span
lang=EN-US>Check System</span><span lang=EN-US style='color:windowtext;
display:none;text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>8</span></a></span></p>
<p class=MsoToc2><span class=MsoHyperlink><a href="#_Toc101631114"><span
lang=EN-US>modules</span><span lang=EN-US style='color:windowtext;display:none;
text-decoration:none'> </span><span
style='color:windowtext;display:none;text-decoration:none'>9</span></a></span></p>
<p class=MsoNormal><span lang=EN-US> </span></p>
<h1><a name="_Toc101631087"><span lang=EN-US>Modules</span></a></h1>
<p class=MsoNormal><span lang=EN-US>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.</span></p>
<h2><a name="_Toc101631088"><span lang=EN-US>CheckDisk.dll</span></a></h2>
<p class=MsoNormal><span lang=EN-US>This module has various disk related checks
such as drive/directory usage and hopefully in the future more similar such
checks. Feel free to request checks that you feel are good to have.</span></p>
<table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
style='border-collapse:collapse;border:none'>
<tr>
<td width=134 valign=top style='width:100.85pt;border:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Command</span></p>
</td>
<td width=473 valign=top style='width:354.55pt;border:solid windowtext 1.0pt;
border-left:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Description</span></p>
</td>
</tr>
<tr>
<td width=134 valign=top style='width:100.85pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>CheckFileSize</span></p>
</td>
<td width=473 valign=top style='width:354.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Check the size of one or more files or
directories.</span></p>
</td>
</tr>
<tr>
<td width=134 valign=top style='width:100.85pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>CheckDriveSize</span></p>
</td>
<td width=473 valign=top style='width:354.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Check the size of one or more Drives</span></p>
</td>
</tr>
</table>
<h3><a name="_Toc101631089">CheckFileSize</a></h3>
<p class=MsoNormal><span lang=EN-US>This check does a recursive size
calculation of the directory (or file) specified. A request has one or more
options described in the table below. </span></p>
<table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
style='border-collapse:collapse;border:none'>
<tr>
<td width=205 valign=top style='width:153.5pt;border:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Option</span></p>
</td>
<td width=205 valign=top style='width:153.55pt;border:solid windowtext 1.0pt;
border-left:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Values</span></p>
</td>
<td width=205 valign=top style='width:153.55pt;border:solid windowtext 1.0pt;
border-left:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Description</span></p>
</td>
</tr>
<tr>
<td width=205 valign=top style='width:153.5pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>MaxWarn</span></p>
</td>
<td width=205 valign=top style='width:153.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Size GMKB</span></p>
</td>
<td width=205 valign=top style='width:153.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>The maximum size the directory is allowed
before a warning state is returned.</span></p>
</td>
</tr>
<tr>
<td width=205 valign=top style='width:153.5pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>MaxCrit</span></p>
</td>
<td width=205 valign=top style='width:153.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Size GMKB</span></p>
</td>
<td width=205 valign=top style='width:153.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>The maximum size the directory is allowed
before a critical state is returned.</span></p>
</td>
</tr>
<tr>
<td width=205 valign=top style='width:153.5pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>MinWarn</span></p>
</td>
<td width=205 valign=top style='width:153.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Size GMKB</span></p>
</td>
<td width=205 valign=top style='width:153.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>The minimum size the directory is allowed
before a warning state is returned.</span></p>
</td>
</tr>
<tr>
<td width=205 valign=top style='width:153.5pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>MinCrit</span></p>
</td>
<td width=205 valign=top style='width:153.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Size GMKB</span></p>
</td>
<td width=205 valign=top style='width:153.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>The minimum size the directory is allowed
before a critical state is returned.</span></p>
</td>
</tr>
<tr>
<td width=205 valign=top style='width:153.5pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>ShowAll</span></p>
</td>
<td width=205 valign=top style='width:153.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><i><span lang=EN-US>None</span></i></p>
</td>
<td width=205 valign=top style='width:153.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>A Boolean flag to show size of
directories that are not in an alarm state. If this is not specified only
drives with an alarm state will be listed in the resulting string.</span></p>
</td>
</tr>
<tr>
<td width=205 valign=top style='width:153.5pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>File</span></p>
</td>
<td width=205 valign=top style='width:153.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>File or directory name</span></p>
</td>
<td width=205 valign=top style='width:153.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>The name of the file or directory that
should have its size calculated. Notice that large directory structures will
take a long time to check.</span></p>
</td>
</tr>
<tr>
<td width=205 valign=top style='width:153.5pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>File:<alias></span></p>
</td>
<td width=205 valign=top style='width:153.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>File or directory name</span></p>
</td>
<td width=205 valign=top style='width:153.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Same as the file option but using a short
alias in the returned data.</span></p>
</td>
</tr>
</table>
<p class=MsoNormal><span lang=EN-US>The “Size gmkb” is a way to simply specify
large sizes simply add a postfix describing the unit you want thus 1k is the
same as 1024. 1m is the same as 1048576 etc.</span></p>
<p class=MsoNormal><span lang=EN-US>Example: </span></p>
<p class=MsoNormal><i><span lang=EN-US>CheckFileSize ShowAll MaxWarn=1024M
MaxCrit=4096M File:WIN=c:\WINDOWS\*.*</span></i></p>
<p class=MsoNormal><span lang=EN-US>Will return something along the lines of
this:</span></p>
<p class=MsoNormal><i><span lang=EN-US>WIN: 1G
(2110962363B)|WIN:2110962363:1073741824:4294967296</span></i></p>
<h3><a name="_Toc101631090"><span lang=EN-US>CheckDriveSize</span></a></h3>
<table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
style='border-collapse:collapse;border:none'>
<tr>
<td width=205 valign=top style='width:153.5pt;border:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Option</span></p>
</td>
<td width=205 valign=top style='width:153.55pt;border:solid windowtext 1.0pt;
border-left:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Values</span></p>
</td>
<td width=205 valign=top style='width:153.55pt;border:solid windowtext 1.0pt;
border-left:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Description</span></p>
</td>
</tr>
<tr>
<td width=205 valign=top style='width:153.5pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>MaxWarn</span></p>
</td>
<td width=205 valign=top style='width:153.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Size GMKB%</span></p>
</td>
<td width=205 valign=top style='width:153.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>The maximum size the directory is allowed
before a warning state is returned.</span></p>
</td>
</tr>
<tr>
<td width=205 valign=top style='width:153.5pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>MaxCrit</span></p>
</td>
<td width=205 valign=top style='width:153.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Size GMKB%</span></p>
</td>
<td width=205 valign=top style='width:153.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>The maximum size the directory is allowed
before a critical state is returned.</span></p>
</td>
</tr>
<tr>
<td width=205 valign=top style='width:153.5pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>MinWarn</span></p>
</td>
<td width=205 valign=top style='width:153.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Size GMKB%</span></p>
</td>
<td width=205 valign=top style='width:153.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>The minimum size the directory is allowed
before a warning state is returned.</span></p>
</td>
</tr>
<tr>
<td width=205 valign=top style='width:153.5pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>MinCrit</span></p>
</td>
<td width=205 valign=top style='width:153.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Size GMKB%</span></p>
</td>
<td width=205 valign=top style='width:153.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>The minimum size the directory is allowed
before a critical state is returned.</span></p>
</td>
</tr>
<tr>
<td width=205 valign=top style='width:153.5pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>ShowAll</span></p>
</td>
<td width=205 valign=top style='width:153.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><i><span lang=EN-US>None</span></i></p>
</td>
<td width=205 valign=top style='width:153.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>A Boolean flag to show size of
directories that are not in an alarm state. If this is not specified only
drives with an alarm state will be listed in the resulting string.</span></p>
</td>
</tr>
<tr>
<td width=205 valign=top style='width:153.5pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Drive</span></p>
</td>
<td width=205 valign=top style='width:153.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>A Drive letter</span></p>
</td>
<td width=205 valign=top style='width:153.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>The letter of the drive to check. Notice
that the drive has to be a fixed drive.</span></p>
</td>
</tr>
</table>
<p class=MsoNormal><span lang=EN-US>The “Size GMKB%” is similar “Size GMKB” but
with an added option of specifying the value in percent of disk space. For
example 80% will mean a value of 80% of total drive space.</span></p>
<h2><a name="_Toc101631091"><span lang=EN-US>CheckEventLog.dll</span></a></h2>
<p class=MsoNormal><span lang=EN-US>Simple module to check for errors in the
system event log. This module is in an early stage and feedback would be
appreciated.</span></p>
<table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
style='border-collapse:collapse;border:none'>
<tr>
<td width=134 valign=top style='width:100.85pt;border:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Command</span></p>
</td>
<td width=473 valign=top style='width:354.55pt;border:solid windowtext 1.0pt;
border-left:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Description</span></p>
</td>
</tr>
<tr>
<td width=134 valign=top style='width:100.85pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>CheckEventLog</span></p>
</td>
<td width=473 valign=top style='width:354.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Check for errors in the event log.</span></p>
</td>
</tr>
</table>
<h3><a name="_Toc101631092">CheckEventLog</a></h3>
<p class=MsoNormal><span lang=EN-US>Yet to be written</span></p>
<p class=MsoNormal><span lang=EN-US>A quick introduction though:</span></p>
<p class=MsoNormal><span lang=EN-US>First option is the logfile to parse.
(Application, System etc)</span></p>
<p class=MsoNormal><span lang=EN-US>Options have the following format.</span></p>
<p class=MsoNormal><span lang=EN-US>warn.require.eventType=warning</span></p>
<p class=MsoNormal><span lang=EN-US><alert>.<action>.<key>=<value></span></p>
<p class=MsoNormal><span lang=EN-US>Where “alert” is either warning or critical
or all depending on the type of alert to generate if this rule is matched.</span></p>
<p class=MsoNormal><span lang=EN-US>Where action is either require or exclude
depending on if the options should be required by the state (if this rule is
needed to generate an alert) or excluded (if the rule is matched the alert
cannot be generated).</span></p>
<p class=MsoNormal><span lang=EN-US>Where key is one of the following value:</span></p>
<p class=MsoNormal>eventType</p>
<p class=MsoNormal>eventSource</p>
<p class=MsoNormal>eventSourceRegexp</p>
<p class=MsoNormal>generatedBeforeDelta</p>
<p class=MsoNormal>generatedAfterDelta</p>
<p class=MsoNormal>writtenBeforeDelta</p>
<p class=MsoNormal><span lang=EN-US>writtenAfterDelta</span></p>
<p class=MsoNormal><span lang=EN-US>regexp</span></p>
<p class=MsoNormal><span lang=EN-US>A sample is shown below:</span></p>
<p class=MsoNormal><span lang=EN-US>Application critical.require.eventType=error
truncate=1024 descriptions all.exclude.eventSourceRegexp=^(Win|Msi|NSClient\+\+|Userenv|ASP\.NET|LoadPerf|Outlook|Application
E|NSClient).*</span></p>
<h2><a name="_Toc101631093"><span lang=EN-US>CheckSystem.dll</span></a></h2>
<p class=MsoNormal><span lang=EN-US>A module to check various system related
things. A list of the modules and there potential use is listed below here.</span></p>
<table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
style='border-collapse:collapse;border:none'>
<tr>
<td width=150 valign=top style='width:112.85pt;border:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Command</span></p>
</td>
<td width=469 valign=top style='width:351.55pt;border:solid windowtext 1.0pt;
border-left:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Description</span></p>
</td>
</tr>
<tr>
<td width=150 valign=top style='width:112.85pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal>checkCPU</p>
</td>
<td width=469 valign=top style='width:351.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal>Check CPU load</p>
</td>
</tr>
<tr>
<td width=150 valign=top style='width:112.85pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal>checkUpTime</p>
</td>
<td width=469 valign=top style='width:351.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal>Check system uptime</p>
</td>
</tr>
<tr>
<td width=150 valign=top style='width:112.85pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal>checkServiceState</p>
</td>
<td width=469 valign=top style='width:351.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal>Check state of a service</p>
</td>
</tr>
<tr>
<td width=150 valign=top style='width:112.85pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal>checkProcState</p>
</td>
<td width=469 valign=top style='width:351.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal>Check state of a process</p>
</td>
</tr>
<tr>
<td width=150 valign=top style='width:112.85pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal>checkMem</p>
</td>
<td width=469 valign=top style='width:351.55pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal>Check memory usage (page)</p>
</td>
</tr>
</table>
<h3><a name="_Toc101631094">checkCPU</a></h3>
<p class=MsoNormal><span lang=EN-US>This check calculates an average of CPU
usage for a specified period of time. The data is always collected in the
background and the size and interval is configured from the </span><span
lang=EN-US style='font-size:10.0pt;font-family:"Courier New"'>CPUBufferSize and
CheckResolution options. </span><span lang=EN-US>A request has one or more
options described in the table below. </span></p>
<table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
style='border-collapse:collapse;border:none'>
<tr>
<td width=72 valign=top style='width:54.15pt;border:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Option</span></p>
</td>
<td width=84 valign=top style='width:62.8pt;border:solid windowtext 1.0pt;
border-left:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Values</span></p>
</td>
<td width=463 valign=top style='width:347.45pt;border:solid windowtext 1.0pt;
border-left:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Description</span></p>
</td>
</tr>
<tr>
<td width=72 valign=top style='width:54.15pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>warn</span></p>
</td>
<td width=84 valign=top style='width:62.8pt;border-top:none;border-left:none;
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>load in %</span></p>
</td>
<td width=463 valign=top style='width:347.45pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Load to go above to generate a warning.</span></p>
</td>
</tr>
<tr>
<td width=72 valign=top style='width:54.15pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>crit</span></p>
</td>
<td width=84 valign=top style='width:62.8pt;border-top:none;border-left:none;
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>load in %</span></p>
</td>
<td width=463 valign=top style='width:347.45pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Load to go above to generate a critical
state.</span></p>
</td>
</tr>
<tr>
<td width=72 valign=top style='width:54.15pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>time</span></p>
</td>
<td width=84 valign=top style='width:62.8pt;border-top:none;border-left:none;
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>time</span></p>
</td>
<td width=463 valign=top style='width:347.45pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>The time to calculate average over.</span></p>
</td>
</tr>
<tr>
<td width=72 valign=top style='width:54.15pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>nsclient</span></p>
</td>
<td width=84 valign=top style='width:62.8pt;border-top:none;border-left:none;
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US> </span></p>
</td>
<td width=463 valign=top style='width:347.45pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Flag to make the plug in run in nsclient
compatibility mode</span></p>
</td>
</tr>
</table>
<p class=MsoNormal><span lang=EN-US>Time can use any of the following
postfixes. w=week, d=day, h=hour, m=minute and s=second.</span></p>
<p class=MsoNormal><span lang=EN-US>Example: </span></p>
<p class=MsoNormal><i><span lang=EN-US>checkCPU warn=80 crit=90 time=20m
time=10s time=4</span></i></p>
<p class=MsoNormal><span lang=EN-US>This will check CPU load 20minutes and
10seconds and 4 “units” (depends on the current CheckInterval) if any of the
loads are above 80% a warning state will be returned and if any of the loads
are above 90% a critical state will be returned.</span></p>
<h3><a name="_Toc101631095"><span lang=EN-US>checkUpTime</span></a></h3>
<p class=MsoNormal><span lang=EN-US>This check checks the uptime of a server
and if the time is less then the times given as arguments a state is returned.</span></p>
<table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
style='border-collapse:collapse;border:none'>
<tr>
<td width=72 valign=top style='width:54.15pt;border:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Option</span></p>
</td>
<td width=84 valign=top style='width:62.8pt;border:solid windowtext 1.0pt;
border-left:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Values</span></p>
</td>
<td width=463 valign=top style='width:347.45pt;border:solid windowtext 1.0pt;
border-left:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Description</span></p>
</td>
</tr>
<tr>
<td width=72 valign=top style='width:54.15pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>warn</span></p>
</td>
<td width=84 valign=top style='width:62.8pt;border-top:none;border-left:none;
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>time</span></p>
</td>
<td width=463 valign=top style='width:347.45pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Minimum uptime time to not generate a
warning state.</span></p>
</td>
</tr>
<tr>
<td width=72 valign=top style='width:54.15pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>crit</span></p>
</td>
<td width=84 valign=top style='width:62.8pt;border-top:none;border-left:none;
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>time</span></p>
</td>
<td width=463 valign=top style='width:347.45pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Minimum uptime time to not generate a
critical state.</span></p>
</td>
</tr>
<tr>
<td width=72 valign=top style='width:54.15pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>nsclient</span></p>
</td>
<td width=84 valign=top style='width:62.8pt;border-top:none;border-left:none;
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US> </span></p>
</td>
<td width=463 valign=top style='width:347.45pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Flag to make the plug in run in nsclient
compatibility mode</span></p>
</td>
</tr>
</table>
<p class=MsoNormal><span lang=EN-US> </span></p>
<h3><a name="_Toc101631096"><span lang=EN-US>checkServiceState</span></a></h3>
<p class=MsoNormal><span lang=EN-US>This check checks the state of one or more
service on the system and generates a critical state if any service is not in
the required state.</span></p>
<table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
style='border-collapse:collapse;border:none'>
<tr>
<td width=98 valign=top style='width:73.55pt;border:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Option</span></p>
</td>
<td width=83 valign=top style='width:62.1pt;border:solid windowtext 1.0pt;
border-left:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Values</span></p>
</td>
<td width=438 valign=top style='width:328.75pt;border:solid windowtext 1.0pt;
border-left:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Description</span></p>
</td>
</tr>
<tr>
<td width=98 valign=top style='width:73.55pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>ShowAll</span></p>
</td>
<td width=83 valign=top style='width:62.1pt;border-top:none;border-left:none;
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US> </span></p>
</td>
<td width=438 valign=top style='width:328.75pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>A flag to toggle if all service states
should be listed.</span></p>
</td>
</tr>
<tr>
<td width=98 valign=top style='width:73.55pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>ShowFail</span></p>
</td>
<td width=83 valign=top style='width:62.1pt;border-top:none;border-left:none;
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>(default)</span></p>
</td>
<td width=438 valign=top style='width:328.75pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>A flag to indicate if only failed service
states should be listed.</span></p>
</td>
</tr>
<tr>
<td width=98 valign=top style='width:73.55pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>service=state</span></p>
</td>
<td width=83 valign=top style='width:62.1pt;border-top:none;border-left:none;
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US> </span></p>
</td>
<td width=438 valign=top style='width:328.75pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>A service name and a state the service
should have. The state can be either started or stopped. If no state is given
started is assumed.</span></p>
</td>
</tr>
</table>
<p class=MsoNormal><span lang=EN-US>Example</span></p>
<p class=MsoNormal><i><span lang=EN-US>checkServiceState showAll myService MyStoppedService=stopped</span></i></p>
<h3><a name="_Toc101631097"><span lang=EN-US>checkProcState</span></a></h3>
<p class=MsoNormal><span lang=EN-US>This check checks the state of one or more processes
on the system and generates a critical state if any process is not in the
required state </span></p>
<table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
style='border-collapse:collapse;border:none'>
<tr>
<td width=101 valign=top style='width:75.55pt;border:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Option</span></p>
</td>
<td width=83 valign=top style='width:62.0pt;border:solid windowtext 1.0pt;
border-left:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Values</span></p>
</td>
<td width=436 valign=top style='width:326.85pt;border:solid windowtext 1.0pt;
border-left:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Description</span></p>
</td>
</tr>
<tr>
<td width=101 valign=top style='width:75.55pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>ShowAll</span></p>
</td>
<td width=83 valign=top style='width:62.0pt;border-top:none;border-left:none;
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US> </span></p>
</td>
<td width=436 valign=top style='width:326.85pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>A flag to toggle if all process states
should be listed.</span></p>
</td>
</tr>
<tr>
<td width=101 valign=top style='width:75.55pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>ShowFail</span></p>
</td>
<td width=83 valign=top style='width:62.0pt;border-top:none;border-left:none;
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>(default)</span></p>
</td>
<td width=436 valign=top style='width:326.85pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>A flag to indicate if only failed process
states should be listed.</span></p>
</td>
</tr>
<tr>
<td width=101 valign=top style='width:75.55pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>process=state</span></p>
</td>
<td width=83 valign=top style='width:62.0pt;border-top:none;border-left:none;
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US> </span></p>
</td>
<td width=436 valign=top style='width:326.85pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>A process name and a state the process should
have. The state can be either started or stopped. If no state is given
started is assumed. The name is the name of the executable.</span></p>
</td>
</tr>
</table>
<p class=MsoNormal><span lang=EN-US>Example</span></p>
<p class=MsoNormal><i><span lang=EN-US>checkProcState showAll my.exe quake.exe=stopped
word.exe=started</span></i></p>
<h3><a name="_Toc101631098"><span lang=EN-US>checkMem</span></a></h3>
<p class=MsoNormal><span lang=EN-US>This check checks the memory (page) usage
and generates a state if the memory is above or below give parameters.</span></p>
<table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
style='border-collapse:collapse;border:none'>
<tr>
<td width=79 valign=top style='width:59.45pt;border:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Option</span></p>
</td>
<td width=84 valign=top style='width:62.7pt;border:solid windowtext 1.0pt;
border-left:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Values</span></p>
</td>
<td width=456 valign=top style='width:342.25pt;border:solid windowtext 1.0pt;
border-left:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Description</span></p>
</td>
</tr>
<tr>
<td width=79 valign=top style='width:59.45pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>MaxWarn</span></p>
</td>
<td width=84 valign=top style='width:62.7pt;border-top:none;border-left:none;
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Size GMKB%</span></p>
</td>
<td width=456 valign=top style='width:342.25pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>The maximum size allowed before a warning
state is returned.</span></p>
</td>
</tr>
<tr>
<td width=79 valign=top style='width:59.45pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>MaxCrit</span></p>
</td>
<td width=84 valign=top style='width:62.7pt;border-top:none;border-left:none;
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Size GMKB%</span></p>
</td>
<td width=456 valign=top style='width:342.25pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>The maximum size allowed before a
critical state is returned.</span></p>
</td>
</tr>
<tr>
<td width=79 valign=top style='width:59.45pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>MinWarn</span></p>
</td>
<td width=84 valign=top style='width:62.7pt;border-top:none;border-left:none;
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Size GMKB%</span></p>
</td>
<td width=456 valign=top style='width:342.25pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>The minimum size allowed before a warning
state is returned.</span></p>
</td>
</tr>
<tr>
<td width=79 valign=top style='width:59.45pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>MinCrit</span></p>
</td>
<td width=84 valign=top style='width:62.7pt;border-top:none;border-left:none;
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Size GMKB%</span></p>
</td>
<td width=456 valign=top style='width:342.25pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>The minimum size allowed before a
critical state is returned.</span></p>
</td>
</tr>
<tr>
<td width=79 valign=top style='width:59.45pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>ShowAll</span></p>
</td>
<td width=84 valign=top style='width:62.7pt;border-top:none;border-left:none;
border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><i><span lang=EN-US>None</span></i></p>
</td>
<td width=456 valign=top style='width:342.25pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>A Boolean flag to show size even if no
state is returned (?).</span></p>
</td>
</tr>
</table>
<h2><a name="_Toc101631099"><span lang=EN-US>FileLogger.dll</span></a></h2>
<p class=MsoNormal><span lang=EN-US>A module that logs all messages to file if
no logging module is loaded no error messages will be logged thus it is hard to
find problems. I recommend using this module at least until NSClient++ becomes
stable. Again not a command handler module so no commands.</span></p>
<h2><a name="_Toc101631100"><span lang=EN-US>NRPEListener.dll</span></a></h2>
<p class=MsoNormal><span lang=EN-US>This module accepts incoming NRPE
connections and responds by executing various checks and returns their result. To
use this you need to have check_nrpe or another NRPE client. This is similar to
check_nt (NSClient) but much more flexible and supports encryption. This only
drawback is that it lacks any authorization (something I hope will come within
the next few months).</span></p>
<p class=MsoNormal><span lang=EN-US>As this module has the ability to generate
command handlers by configuration there are command handlers but nothing built
in.</span></p>
<p class=MsoNormal><span lang=EN-US>This module can add two types of command
handlers.</span></p>
<p class=MsoNormal><span lang=EN-US>First there are external command handlers
that execute a separate program or script and simply return the output and
return status from that. The other possibility is to create an alias for an
internal command. </span></p>
<h3><a name="_Toc101631101"><span lang=EN-US>External commands</span></a></h3>
<p class=MsoNormal><span lang=EN-US>To add an external command you add a
command definition under the “NRPE Handlers” section. A command definition has
the following syntax:</span></p>
<p class=MsoNormal><i><span lang=EN-US>command_name=/some/executable with some
arguments</span></i></p>
<p class=MsoNormal><span lang=EN-US>for instance:</span></p>
<p class=MsoNormal><i><span lang=EN-US>test_batch_file=c:\test.bat foo $ARG1$
bar</span></i></p>
<p class=MsoNormal><span lang=EN-US>The above example will on an incoming
“test_batch_file” execute the c:\test.bat file and return the output as text
and the return code as the Nagios status.</span></p>
<h3><a name="_Toc101631102"><span lang=EN-US>Internal commands</span></a></h3>
<p class=MsoNormal><span lang=EN-US>To add an internal command or alias is
perhaps a better word. You add a command definition under the “NRPE Handlers”
section. A command definition with the following syntax:</span></p>
<p class=MsoNormal><i><span lang=EN-US>command_name=inject some_other_command
with some arguments</span></i></p>
<p class=MsoNormal><span lang=EN-US>for instance:</span></p>
<p class=MsoNormal><i><span lang=EN-US>check_cpu=inject checkCPU warn=80
crit=90 5 10 15</span></i></p>
<p class=MsoNormal><span lang=EN-US>The above example will on an incoming
“check_cpu” execute the internal command “checkCPU” with predefined arguments
give in the command definition.</span></p>
<h2><a name="_Toc101631103"><span lang=EN-US>CheckSystem.dll</span></a></h2>
<p class=MsoNormal><span lang=EN-US>A module to do simple system related
checks. Such as CPU load memory usage and process and service status.</span></p>
<p class=MsoNormal><span lang=EN-US>Yet to be written</span></p>
<h2><a name="_Toc101631104"><span lang=EN-US>NSClientListener.dll</span></a></h2>
<p class=MsoNormal><span lang=EN-US>Yet to be written</span></p>
<h2><a name="_Toc101631105"><span lang=EN-US>SysTray.dll</span></a></h2>
<p class=MsoNormal><span lang=EN-US>A simple module to show an icon in the tray
when the service is running this module does not export any check commands.</span></p>
<h1><a name="_Toc101631106"><span lang=EN-US>Installation</span></a></h1>
<p class=MsoNormal><span lang=EN-US>NSClient++ comes with simple command line
option for registering (and deregistering) the service but it does not have a
GUI installer.</span></p>
<p class=MsoNormal><span lang=EN-US>Thus to install the Client you only need to
copy the files to a directory of you choice and then run “NSClient /install”.</span></p>
<p class=MsoNormal><span lang=EN-US>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.</span></p>
<p class=MsoNormal><span lang=EN-US> </span></p>
<p class=MsoNormal><span lang=EN-US>To <b>install</b> NSClient++ execute the
following command:</span></p>
<p class=MsoNormal><i><span lang=EN-US>NSClient++ /install</span></i></p>
<p class=MsoNormal><span lang=EN-US>To <b>uninstall</b> NSClient++ execute the
following command:</span></p>
<p class=MsoNormal><i><span lang=EN-US>NSClient++ /uninstall</span></i></p>
<p class=MsoNormal><span lang=EN-US>To <b>start</b> NSClient++ execute the
following command:</span></p>
<p class=MsoNormal><i><span lang=EN-US>NSClient++ /start</span></i></p>
<p class=MsoNormal><span lang=EN-US>To <b>stop</b> NSClient++ execute the
following command:</span></p>
<p class=MsoNormal><i><span lang=EN-US>NSClient++ /stop</span></i></p>
<p class=MsoNormal><span lang=EN-US> </span></p>
<p class=MsoNormal><span lang=EN-US>If you only wish to test it or debug the
client you can use the following without installing it first.</span></p>
<p class=MsoNormal><i><span lang=EN-US>NSClient++ /test</span></i></p>
<h1><a name="_Toc101631107"><span lang=EN-US>Configuration</span></a></h1>
<p class=MsoNormal><span lang=EN-US>Configuration is fairly simple and straight
forward. Open the configuration file in notepad (or you favorite editor)
“notepad <installation path>\NSC.ini”</span></p>
<p class=MsoNormal><span lang=EN-US> </span></p>
<p class=MsoNormal><span lang=EN-US>The file has sections (denoted with section
name in brackets) and key/value pairs (denoted by key=value). Thus it has the
same syntax as pretty much any other INI file in windows.</span></p>
<p class=MsoNormal><span lang=EN-US> </span></p>
<p class=MsoNormal><span lang=EN-US>The sections are described in short below.
The default configuration file has a lot of examples and comments so make sure
you change this before you use NSClient++ as some of the examples might be
potential security issues.</span></p>
<h2><a name="_Toc101631108"><span lang=EN-US>Log</span></a></h2>
<p class=MsoNormal><span lang=EN-US>This section has options for how logging is
performed. First off notice that for logging to make sense you need to enable
the “FileLogger.dll” module that logs all log data to a text file in the same
directory as the NSClient++ binary if you don’t enable any logging module
nothing will be logged.</span></p>
<p class=MsoNormal><span lang=EN-US>The options you have available here are</span></p>
<table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
style='border-collapse:collapse;border:none'>
<tr>
<td width=67 valign=top style='width:50.15pt;border:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Option</span></p>
</td>
<td width=109 valign=top style='width:81.8pt;border:solid windowtext 1.0pt;
border-left:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Default value</span></p>
</td>
<td width=419 valign=top style='width:314.45pt;border:solid windowtext 1.0pt;
border-left:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Description</span></p>
</td>
</tr>
<tr>
<td width=67 valign=top style='width:50.15pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>debug</span></p>
</td>
<td width=109 valign=top style='width:81.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>0</span></p>
</td>
<td width=419 valign=top style='width:314.45pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>A Boolean value that toggles if debug
information should be logged or not. This can be either 1 or 0.</span></p>
</td>
</tr>
<tr>
<td width=67 valign=top style='width:50.15pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>file</span></p>
</td>
<td width=109 valign=top style='width:81.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>nsclient.log</span></p>
</td>
<td width=419 valign=top style='width:314.45pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>The file to write log data to. If no
directory is used this is relative to the NSClient++ binary.</span></p>
</td>
</tr>
</table>
<h2><a name="_Toc101631109"><span lang=EN-US>Systray</span></a></h2>
<p class=MsoNormal><span lang=EN-US>This section configures the system tray
module.</span></p>
<table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
style='border-collapse:collapse;border:none'>
<tr>
<td width=67 valign=top style='width:50.15pt;border:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Option</span></p>
</td>
<td width=109 valign=top style='width:81.8pt;border:solid windowtext 1.0pt;
border-left:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Default value</span></p>
</td>
<td width=419 valign=top style='width:314.45pt;border:solid windowtext 1.0pt;
border-left:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Description</span></p>
</td>
</tr>
<tr>
<td width=67 valign=top style='width:50.15pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>defaultCommand</span></p>
</td>
<td width=109 valign=top style='width:81.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>…</span></p>
</td>
<td width=419 valign=top style='width:314.45pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>A string that will be the default in the
inject command dialog.</span></p>
</td>
</tr>
</table>
<h2><a name="_Toc101631110"><span lang=EN-US>NSClient</span></a></h2>
<p class=MsoNormal><span lang=EN-US>This is the NSClient module configuration
options.</span></p>
<p class=MsoNormal><b><i><span lang=EN-US>This is subject to change in the near
future</span></i></b></p>
<table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
style='border-collapse:collapse;border:none'>
<tr>
<td width=67 valign=top style='width:50.15pt;border:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Option</span></p>
</td>
<td width=109 valign=top style='width:81.8pt;border:solid windowtext 1.0pt;
border-left:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Default value</span></p>
</td>
<td width=419 valign=top style='width:314.45pt;border:solid windowtext 1.0pt;
border-left:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Description</span></p>
</td>
</tr>
<tr>
<td width=67 valign=top style='width:50.15pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>port</span></p>
</td>
<td width=109 valign=top style='width:81.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>12489</span></p>
</td>
<td width=419 valign=top style='width:314.45pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>The port to listen to</span></p>
</td>
</tr>
<tr>
<td width=67 valign=top style='width:50.15pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>password</span></p>
</td>
<td width=109 valign=top style='width:81.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US> </span></p>
</td>
<td width=419 valign=top style='width:314.45pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>The password that incoming client needs
to authorize themselves by.</span></p>
</td>
</tr>
<tr>
<td width=67 valign=top style='width:50.15pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>allowed_hosts</span></p>
</td>
<td width=109 valign=top style='width:81.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US> </span></p>
</td>
<td width=419 valign=top style='width:314.45pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>A list (coma separated) with hosts that
are allowed to poll information from NSClient++</span></p>
</td>
</tr>
<tr>
<td width=67 valign=top style='width:50.15pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>use_ssl</span></p>
</td>
<td width=109 valign=top style='width:81.8pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>0</span></p>
</td>
<td width=419 valign=top style='width:314.45pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Boolean value to toggle SSL encryption.
This is not yet supported in any client I know of but as the underlying
structure (NRPE) supports it I thought Id might add it if someone wants to
update check_nt to support SSL.</span></p>
<p class=MsoNormal><b><span lang=EN-US>Not implemented in this version</span></b></p>
</td>
</tr>
</table>
<h2><a name="_Toc101631111"><span lang=EN-US>NRPE</span></a></h2>
<p class=MsoNormal><span lang=EN-US>This is configuration for the NRPE module
that controls how the NRPE listener operates. </span></p>
<table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
style='border-collapse:collapse;border:none'>
<tr>
<td width=106 valign=top style='width:79.5pt;border:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Option</span></p>
</td>
<td width=107 valign=top style='width:80.4pt;border:solid windowtext 1.0pt;
border-left:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Default value</span></p>
</td>
<td width=406 valign=top style='width:304.5pt;border:solid windowtext 1.0pt;
border-left:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Description</span></p>
</td>
</tr>
<tr>
<td width=106 valign=top style='width:79.5pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>port</span></p>
</td>
<td width=107 valign=top style='width:80.4pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>5666</span></p>
</td>
<td width=406 valign=top style='width:304.5pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>The port to listen to</span></p>
</td>
</tr>
<tr>
<td width=106 valign=top style='width:79.5pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>allowed_hosts</span></p>
</td>
<td width=107 valign=top style='width:80.4pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US> </span></p>
</td>
<td width=406 valign=top style='width:304.5pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>A list (coma separated) with hosts that
are allowed to poll information from NSClient++</span></p>
</td>
</tr>
<tr>
<td width=106 valign=top style='width:79.5pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>use_ssl</span></p>
</td>
<td width=107 valign=top style='width:80.4pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>1</span></p>
</td>
<td width=406 valign=top style='width:304.5pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Boolean value to toggle SSL encryption on
the socket connection</span></p>
</td>
</tr>
<tr>
<td width=106 valign=top style='width:79.5pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>command_timeout</span></p>
</td>
<td width=107 valign=top style='width:80.4pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>60</span></p>
</td>
<td width=406 valign=top style='width:304.5pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>The maximum time in seconds that a
command can execute. (if more then this execution will be aborted).</span></p>
<p class=MsoNormal><b><span lang=EN-US>NOTICE</span></b><span lang=EN-US>
this only affects external commands not internal ones.</span></p>
</td>
</tr>
<tr>
<td width=106 valign=top style='width:79.5pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>allow_arguments</span></p>
</td>
<td width=107 valign=top style='width:80.4pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>0</span></p>
</td>
<td width=406 valign=top style='width:304.5pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>A Boolean flag to determine if arguments
are accepted on the incoming socket. If arguments are not accepted you can
still use external commands that need arguments but you have to define them
in the NRPE handlers below. This is similar to the NRPE “dont_blame_nrpe”
option.</span></p>
</td>
</tr>
<tr>
<td width=106 valign=top style='width:79.5pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>allow_nasty_meta_chars</span></p>
</td>
<td width=107 valign=top style='width:80.4pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>0</span></p>
</td>
<td width=406 valign=top style='width:304.5pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Allow NRPE execution to have “nasty” meta
characters that might affect execution of external commands (things like >
“ etc).</span></p>
</td>
</tr>
</table>
<h2><a name="_Toc101631112"><span lang=EN-US>NRPE Handlers</span></a></h2>
<p class=MsoNormal><span lang=EN-US>This is a list of handlers for NRPE
execution this can of course be used by any module (such as NSClient) but for
historical reasons they are located in this section especially as NRPE plug-in
is the one that does the actual execution.</span></p>
<p class=MsoNormal><span lang=EN-US>The handlers can have two different
syntaxes:</span></p>
<p class=MsoNormal><span lang=EN-US>Either “command[my_command]=/some/executable”
or “my_command=/some/executable” The latter is the preferred way as it is
shorter.</span></p>
<h2><a name="_Toc101631113"><span lang=EN-US>Check System</span></a></h2>
<p class=MsoNormal><span lang=EN-US>Here you can set various options to
configure the Syetem Check module.</span></p>
<table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0
style='border-collapse:collapse;border:none'>
<tr>
<td width=106 valign=top style='width:79.5pt;border:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Option</span></p>
</td>
<td width=107 valign=top style='width:80.4pt;border:solid windowtext 1.0pt;
border-left:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Default value</span></p>
</td>
<td width=406 valign=top style='width:304.5pt;border:solid windowtext 1.0pt;
border-left:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Description</span></p>
</td>
</tr>
<tr>
<td width=106 valign=top style='width:79.5pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>CPUBufferSize</span></p>
</td>
<td width=107 valign=top style='width:80.4pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>1h</span></p>
</td>
<td width=406 valign=top style='width:304.5pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>The time to store CPU load. This means
you can get averaged values this far back in time. The downside is the buffer
might use a lot of memory if the check resolution is high.</span></p>
</td>
</tr>
<tr>
<td width=106 valign=top style='width:79.5pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>CheckResolution</span></p>
</td>
<td width=107 valign=top style='width:80.4pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>10</span></p>
</td>
<td width=406 valign=top style='width:304.5pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Time between checks in 1/10 of seconds.
That means a value of 10 means check every second. A value of 100 means check
every 10 seconds and so on.</span></p>
</td>
</tr>
<tr>
<td width=106 valign=top style='width:79.5pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>CounterPageLimit</span></p>
</td>
<td width=107 valign=top style='width:80.4pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>\\\\.\\Memory\\Commit
Limit</span></p>
</td>
<td width=406 valign=top style='width:304.5pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Counter to use to check upper memory
limit.</span></p>
</td>
</tr>
<tr>
<td width=106 valign=top style='width:79.5pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>CounterPage</span></p>
</td>
<td width=107 valign=top style='width:80.4pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>\\\\.\\Memory\\Committed
Bytes</span></p>
</td>
<td width=406 valign=top style='width:304.5pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Counter to use to check current memory
usage.</span></p>
</td>
</tr>
<tr>
<td width=106 valign=top style='width:79.5pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>CounterUptime</span></p>
</td>
<td width=107 valign=top style='width:80.4pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>\\\\.\\System\\System
Up Time</span></p>
</td>
<td width=406 valign=top style='width:304.5pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Counter to use to check the uptime of the
system.</span></p>
</td>
</tr>
<tr>
<td width=106 valign=top style='width:79.5pt;border:solid windowtext 1.0pt;
border-top:none;padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>CounterCPU</span></p>
</td>
<td width=107 valign=top style='width:80.4pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>\\\\.\\Processor(_total)\\%
Processor Time</span></p>
</td>
<td width=406 valign=top style='width:304.5pt;border-top:none;border-left:
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
padding:0in 5.4pt 0in 5.4pt'>
<p class=MsoNormal><span lang=EN-US>Counter to use for CPU load.</span></p>
</td>
</tr>
</table>
<h2><a name="_Toc101631114"><span lang=EN-US>modules</span></a></h2>
<p class=MsoNormal><span lang=EN-US>This is a list of modules to load at
startup. All the modules included in this list has to be NSClient++ modules and
located in the modules subdirectory. This is in effect the list of plug-ins
that will be available as the service is running.</span></p>
<p class=MsoNormal><span lang=EN-US>A good idea here is to disable all modules
you don’t actually use for two reasons. One less code equals less potential
security holes and two less modules means less resource drain.</span></p>
<p class=MsoNormal><span lang=EN-US> </span></p>
</div>
</body>
</html>