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.