SF.net SVN: nagiosplug: [1877] nagiosplug/trunk

[email protected]
Newsgroups gmane.network.nagios.plugins.cvs
Message-ID <[email protected]>
Revision: 1877
          http://nagiosplug.svn.sourceforge.net/nagiosplug/?rev=1877&view=rev
Author:   tonvoon
Date:     2007-12-17 03:47:33 -0800 (Mon, 17 Dec 2007)

Log Message:
-----------
Add check_nt -v INSTANCES (Alessandro Ren)

Modified Paths:
--------------
    nagiosplug/trunk/NEWS
    nagiosplug/trunk/THANKS.in
    nagiosplug/trunk/plugins/check_nt.c

Modified: nagiosplug/trunk/NEWS
===================================================================
--- nagiosplug/trunk/NEWS	2007-12-13 23:17:51 UTC (rev 1876)
+++ nagiosplug/trunk/NEWS	2007-12-17 11:47:33 UTC (rev 1877)
@@ -1,5 +1,8 @@
 This file documents the major additions and syntax changes between releases.
 
+1.4.12 or 1.5 ??
+	Added ./check_nt -v INSTANCES to count number of instances (Alessandro Ren)
+
 1.4.11 13th December 2007
 	Fixed check_http regression in 1.4.10 where following redirects to
 	  relative URLs on virtual hosts failed if both "-H" and "-I" were used

Modified: nagiosplug/trunk/THANKS.in
===================================================================
--- nagiosplug/trunk/THANKS.in	2007-12-13 23:17:51 UTC (rev 1876)
+++ nagiosplug/trunk/THANKS.in	2007-12-17 11:47:33 UTC (rev 1877)
@@ -229,3 +229,4 @@
 Bernhard Fischer
 fabiodds
 Tom Payerle
+Alessandro Ren

Modified: nagiosplug/trunk/plugins/check_nt.c
===================================================================
--- nagiosplug/trunk/plugins/check_nt.c	2007-12-13 23:17:51 UTC (rev 1876)
+++ nagiosplug/trunk/plugins/check_nt.c	2007-12-17 11:47:33 UTC (rev 1877)
@@ -55,7 +55,8 @@
 	CHECK_PROCSTATE,
 	CHECK_MEMUSE,
 	CHECK_COUNTER,
-	CHECK_FILEAGE
+	CHECK_FILEAGE,
+	CHECK_INSTANCES
 };
 
 enum {
@@ -414,7 +415,7 @@
 					return_code=STATE_WARNING;	
 				else
 					return_code=STATE_OK;	
-			} 
+			}
 			else {                                       /* inverse thresholds */
 				if(check_critical_value==TRUE && age_in_minutes <= critical_value)
 					return_code=STATE_CRITICAL;
@@ -426,6 +427,21 @@
 		}
 		break;
 
+	case CHECK_INSTANCES:		
+		if (value_list==NULL)
+			output_message = strdup (_("No counter specified"));
+		else {
+			asprintf(&send_buffer,"%s&10&%s", req_password,value_list);
+			fetch_data (server_address, server_port, send_buffer);
+			if (!strncmp(recv_buffer,"ERROR",5)) {
+				printf("NSClient - %s\n",recv_buffer);
+				exit(STATE_UNKNOWN);
+			}
+			asprintf(&output_message,"%s",recv_buffer);			
+			return_code=STATE_OK;
+		}
+		break;
+
 	case CHECK_NONE:
 	default:
 		usage4 (_("Please specify a variable to check"));
@@ -483,14 +499,13 @@
       strcpy(argv[c],"-c");
 	}
 
-	while (1){
+	while (1) {
 		c = getopt_long(argc,argv,"+hVH:t:c:w:p:v:l:s:d:",longopts,&option);
 
 		if (c==-1||c==EOF||c==1)
 			break;
 
-		switch (c)
-			{
+		switch (c) {
 			case '?': /* print short usage statement if args not parsable */
 			usage5 ();
 			case 'h': /* help */
@@ -533,6 +548,8 @@
 					vars_to_check=CHECK_COUNTER;
 				else if(!strcmp(optarg,"FILEAGE"))
 					vars_to_check=CHECK_FILEAGE;
+				else if(!strcmp(optarg,"INSTANCES"))
+					vars_to_check=CHECK_INSTANCES;
 				else
 					return ERROR;
 				break;
@@ -671,7 +688,7 @@
   printf (" %s\n", "MEMUSE =");
   printf ("  %s\n", _("Memory use."));
   printf ("  %s\n", _("Warning and critical thresholds can be specified with -w and -c."));
-  printf (" %s\n,", "SERVICESTATE =");
+  printf (" %s\n", "SERVICESTATE =");
   printf ("  %s\n", _("Check the state of one or several services."));
   printf ("  %s\n", _("Request a -l parameters with the following syntax:"));
   printf ("  %s\n", _("-l <service1>,<service2>,<service3>,..."));
@@ -686,10 +703,24 @@
   printf ("  %s\n", _("-l \"\\\\<performance object>\\\\counter\",\"<description>"));
   printf ("  %s\n", _("The <description> parameter is optional and is given to a printf "));
   printf ("  %s\n", _("output command which requires a float parameter."));
-  printf ("  %s\n\n", _("If <description> does not include \"%%\", it is used as a label."));
+  printf ("  %s\n", _("If <description> does not include \"%%\", it is used as a label."));
   printf ("  %s\n", _("Some examples:"));
   printf ("  %s\n", "\"Paging file usage is %%.2f %%%%\"");
-  printf ("  %s\n\n", "\"%%.f %%%% paging file used.\"");
+  printf ("  %s\n", "\"%%.f %%%% paging file used.\"");
+  printf (" %s\n", "INSTANCES =");  
+  printf ("  %s\n", _("Check any performance counter object of Windows NT/2000."));
+  printf ("  %s\n", _("Syntax: check_nt -H <hostname> -p <port> -v INSTANCES -l <counter object>"));
+  printf ("  %s\n", _("<counter object> is a Windows Perfmon Counter object (eg. Process),"));
+  printf ("  %s\n", _("if it is two words, it should be enclosed in quotes"));
+  printf ("  %s\n", _("The returned results will be a comma-separated list of instances on "));
+  printf ("  %s\n", _(" the selected computer for that object."));
+  printf ("  %s\n", _("The purpose of this is to be run from command line to determine what instances"));
+  printf ("  %s\n", _(" are available for monitoring without having to log onto the Windows server"));
+  printf ("  %s\n", _("  to run Perfmon directly."));
+  printf ("  %s\n", _("It can also be used in scripts that automatically create Nagios service"));
+  printf ("  %s\n", _(" configuration files."));
+  printf ("  %s\n", _("Some examples:"));
+  printf ("  %s\n\n", _("check_nt -H 192.168.1.1 -p 1248 -v INSTANCES -l Process"));
   printf (_("Notes:"));
   printf (" %s\n", _("- The NSClient service should be running on the server to get any information"));
   printf (" %s\n", "(http://nsclient.ready2run.nl).");


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services
for just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.