<HTML> <HEAD> <TITLE>Nagios plugins</TITLE> <META NAME="Keywords" CONTENT="nagios,plugins,perl,snmp,proy"> <STYLE type="text/css"> <!-- .Default { font-family: verdana,arial,serif; font-size: 10pt; } .ProgramTitle { font-family: verdana,arial,serif; font-size: 18pt; font-weight: bold;} .Copyright { font-family: verdana,arial,serif; font-size: 10pt;} .Email { font-family: verdana,arial,serif; font-size: 10pt;} .NewsItem { font-family: verdana,arial,serif; font-size: 8pt; } .NewsItemOdd { font-family: verdana,arial,serif; font-size: 8pt; background-color: #DBDBDB;} .NewsItemEven { font-family: verdana,arial,serif; font-size: 8pt; background-color: #C4C2C2;} .NewsItemUrgent { font-family: verdana,arial,serif; font-size: 8pt; background-color: #ccff99;} .NewsItemDate { font-family: verdana,arial,serif; font-size: 8pt; font-weight: bold; } .SectionTitle { font-family: verdana,arial,serif; font-size: 9pt; font-weight: bold; text-decoration: underline;} .SectionBody { font-family: verdana,arial,serif; font-size: 8pt; } .ModificationDate { font-family: verdana,arial,serif; font-size: 7pt; } .Disclaimer { font-family: verdana,arial,serif; font-size: 8pt; } A.SideNavBarItem { font-family: verdana,arial,serif; background-color : black; color: #e7e7e7; font-size: 9pt; font-weight: bold; text-decoration: none; } A.SideNavBarItem:Hover { font-family: verdana,arial,serif; background-color : black; color: #ccff33; font-size: 9pt; font-weight: bold; text-decoration: none; } A.SideNavBarHotItem { font-family: verdana,arial,serif; background-color : black; color: #ffcc66; font-size: 9pt; font-weight: bold; text-decoration: none; } A.SideNavBarHotItem:Hover { font-family: verdana,arial,serif; background-color : black; color: #ccff33; font-size: 9pt; font-weight: bold; text-decoration: none; } --> </STYLE> </HEAD> <body background="img/sideback.jpg" bgcolor="#FFFFFF" text="black" class="Default"> <table border="0"> <tr> <td valign=top> <!-- Begin Side Bar --> <table border="0" width="125" valign=top> <tr> <td><a href="http://nagios.manubulon.com/" class="SideNavBarItem" >Home</a></td> </tr> <tr> <td></td> </tr> <tr> <td><BR> </td> </tr> <tr> <td> </td> </tr> </table> <!-- End Side Bar --> </td> <td valign=top> <table border="0" valign=top> <tr> <td class="ProgramTitle"> Snmp windows check</td> </tr> <tr> <td> <p class="NewsItemDate">Script : check_snmp_win.pl</p> <p class="SectionTitle"> Last update : Jan 11 2007</p> </td> </tr> <tr> <td valign="top"> <p class="SectionTitle">Description : </p> <p class="SectionBody">Checks by snmp v1 or v3 windows specific health monitoring (service state for now).<br> <br> Works on Windows server (2000, 2003) maybe XP and NT.</p> <p class="SectionBody"> V�rifie par snmp v1 ou v3 si un(des) service Windows tournent.<br> <br> <span class="SectionTitle"> Service checks <br> </span></p> <p class="SectionBody">The plugin checks if there if the Windows service(s) he gets as input are running. <br> You can provide multiple services, comma separated : <br> <b>-n <service1>,<service2></b> </p> <p class="SectionBody">The script will return : <br> OK : if <service1> is found (and active) and <service2> is found (and active). <br> WARNING : if <service1> and <service2> match <b>more</b> than 2 active services.<br> CRITICAL : if <service1> OR <service2> don't match any active service. </p> <p class="SectionBody"><b>-N <number> </b>: will return OK if <number> of active services matches the filter</p> <p class="SectionBody"><b>-s </b>: will show all active services instead of the non active ones only</p> <p class="SectionTitle">Requirements :</p> <p class="SectionBody"> - Perl in /usr/bin/perl - or just run 'perl script' <br> - Net::SNMP<br> - file 'utils.pm' in plugin diretory<br> </p> <p class="SectionBody"><a href="check_snmp_win.pl" class="SectionTitle">Dowload latest version : 0.6</a> </p> <p class="SectionBody"><a href="index_commands.html" class="SectionTitle">Configurations examples</a></p> <p class="SectionTitle">Examples :</p> <p class="SectionBody"><br> All examples below are considering the script is local directory. Host to be checked is 127.0.0.1 with snmp community "public".</p> <p class="SectionBody">If multiple interfaces are selected, all must be up to get an OK result</p> <table border="1" cellspacing="5" width="819"> <tr> <td class="NewsItemDate" valign = top width="262"> <p>Get help </td> <td class="SectionBody" width="532"> <p>./check_snmp_win.pl <b>-h</b></p> </td> </tr> <tr> <td class="NewsItemDate" valign = top width="262">snmpv3 login</td> <td class="SectionBody" width="532">./check_snmp_win.pl -H 127.0.0.1 -l login -x passwd<b></b></td> </tr> <tr> <td class="NewsItemDate" valign = top width="262"> <p>Check if at least one process matching dns is running </td> <td class="SectionBody" width="532"> <p>./check_snmp_win.pl -H 127.0.0.1 -C public <b>-n dns</b></p> </td> </tr> <tr> <td class="NewsItemDate" valign = top width="262"> <p align="right">Result example : </td> <td class="SectionBody" width="532"> <p>1 services active (matching "dns") : OK</p> </td> </tr> <tr> <td class="NewsItemDate" valign = top width="262"> <p>Check if at least 3 process matching dns are running </td> <td class="SectionBody" width="532"> <p>./check_snmp_win.pl -H 127.0.0.1 -C public -n http<b> -N 2 </b></p> </td> </tr> <tr> <td class="NewsItemDate" valign = top width="262"> <div align="right">Result example : <br> (<=2 will return warning, 0 critical)</div> </td> <td class="SectionBody" width="532">1 services active (matching "dns") : CRITICAL</td> </tr> <tr> <td class="NewsItemDate" valign = top width="262">Check if dns and ssh services are running</td> <td class="SectionBody" width="532">./check_snmp_win.pl -H 127.0.0.1 -C public -n dns,ssh</td> </tr> <tr> <td class="NewsItemDate" valign = top width="262"> <p align="right">Result example : </p> </td> <td class="SectionBody" width="532">"dns" active, "ssh" active : OK</td> </tr> <tr> <td class="NewsItemDate" valign = top width="262">Check if dns and toto services are running</td> <td class="SectionBody" width="532">./check_snmp_win.pl -H 127.0.0.1 -C public <b>-n dns,toto</b></td> </tr> <tr> <td class="NewsItemDate" valign = top width="262"> <div align="right">Result example : </div> </td> <td class="SectionBody" width="532">"toto" not active : CRITICAL</td> </tr> </table> <p> </p> <p class="NewsItemDate"><span class="SectionTitle">Changelog</span> : On CVS repository on sourceforge : <a href="http://nagios-snmp.cvs.sourceforge.net/nagios-snmp/plugins/">http://nagios-snmp.cvs.sourceforge.net/nagios-snmp/plugins/</a>.<br> </p> <p class="NewsItemDate">Output of check_snmp_win.pl -h</p> <table border="1" cellspacing="5"> <tr> <td class="SectionBody" valign = top> <p>SNMP Windows Monitor for Nagios version 0.6<br> GPL licence, (c)2004-2005 Patrick Proy</p> <p>Usage: check_snmp_win [-v] -H <host> -C <snmp_community> [-2] | (-l login -x passwd) [-p <port>] -n <name>[,<name2] [-T=service] [-r] [-s] [-N=<n>] [-t <timeout>] [-V]<br> -v, --verbose<br> print extra debugging information (and lists all services)<br> -h, --help<br> print this help message<br> -H, --hostname=HOST<br> name or IP address of host to check<br> -C, --community=COMMUNITY NAME<br> community name for the host's SNMP agent (implies SNMP v1 or v2c with option)<br> -2, --v2c<br> Use snmp v2c<br> -l, --login=LOGIN<br> Login for snmpv3 authentication (implies v3 protocol with MD5)<br> -x, --passwd=PASSWD<br> Password for snmpv3 authentication<br> -p, --port=PORT<br> SNMP port (Default 161)<br> -T, --type=service<br> Check type : <br> - service (default) checks service<br> -n, --name=NAME[,NAME2...]<br> Comma separated names of services (perl regular expressions can be used for every one).<br> By default, it is not case sensitive.<br> -N, --number=<n><br> Compare matching services with <n> instead of the number of names provided.<br> -s, --showall<br> Show all services in the output, instead of only the non-active ones.<br> -r, --noregexp<br> Do not use regexp to match NAME in service description.<br> -t, --timeout=INTEGER<br> timeout for SNMP in seconds (Default: 5)<br> -V, --version<br> prints version number<br> Note : <br> The script will return <br> OK if ALL services are in active state,<br> WARNING if there is more than specified (ex 2 service specified, 3 active services matching), <br> CRITICAL if at least one of them is non active.<br> The -n option will allows regexp in perl format <br> -n "service" will match 'service WINS' 'sevice DNS' etc...<br> It is not case sensitive by default : WINS = wins</p> </td> </tr> </table> </td> </tr> <tr> <td> <p class="SectionBody">This project is hosted on : <br> <A href="http://sourceforge.net/projects/nagios-snmp"> <IMG src="http://sourceforge.net/sflogo.php?group_id=134917&type=5" width="210" height="62" border="0" alt="SourceForge.net Logo" /></A> </p> <p class="SectionBody"> Nagios and the Nagios logo are registered trademarks of Ethan Galstad.</p> </td> </tr> </table> </td> </tr> </table> <p> </p> </BODY> </HTML>