[Nagiosplug-checkins] SF.net SVN: nagiosplug: [1877] nagiosplug/trunk

tonvoon at users.sourceforge.net tonvoon at users.sourceforge.net
Mon Dec 17 12:47:33 CET 2007


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.




More information about the Commits mailing list