X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fcheck_nwstat.c;h=72a47b16e71b6c8b734f9d39ac59c2598c0e2974;hb=5a6268f72953d7d0aa0f22f278ac929b1f183686;hp=a1a3f35a390ae04e6826905698e35fd24b6fe428;hpb=fa4efcdf6df1096ff1f6740c7f44b213b47dc9d3;p=nagiosplug.git
diff --git a/plugins/check_nwstat.c b/plugins/check_nwstat.c
index a1a3f35..72a47b1 100644
--- a/plugins/check_nwstat.c
+++ b/plugins/check_nwstat.c
@@ -5,8 +5,6 @@
* License: GPL
* Copyright (c) 2000-2007 Nagios Plugins Development Team
*
-* Last Modified: $Date$
-*
* Description:
*
* This file contains the check_nwstat plugin
@@ -28,12 +26,10 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
-* $Id$
*
*****************************************************************************/
const char *progname = "check_nwstat";
-const char *revision = "$Revision$";
const char *copyright = "2000-2007";
const char *email = "nagiosplug-devel@lists.sourceforge.net";
@@ -170,6 +166,9 @@ main(int argc, char **argv) {
bindtextdomain (PACKAGE, LOCALEDIR);
textdomain (PACKAGE);
+ /* Parse extra opts if any */
+ argv=np_extra_opts(&argc, argv, progname);
+
if (process_arguments(argc,argv) == ERROR)
usage4 (_("Could not parse arguments"));
@@ -200,7 +199,7 @@ main(int argc, char **argv) {
/* check CPU load */
if (vars_to_check==LOAD1 || vars_to_check==LOAD5 || vars_to_check==LOAD15) {
-
+
switch(vars_to_check) {
case LOAD1:
temp_buffer = strdup ("1");
@@ -246,7 +245,7 @@ main(int argc, char **argv) {
temp_buffer,
utilization,
warning_value,
- critical_value);
+ critical_value);
/* check number of user connections */
} else if (vars_to_check==CONNS) {
@@ -454,7 +453,7 @@ main(int argc, char **argv) {
critical_value);
}
-
+
/* check % free space on volume */
} else if (vars_to_check==VPF) {
@@ -518,14 +517,14 @@ main(int argc, char **argv) {
result=STATE_OK;
else
result=STATE_WARNING;
-
+
close(sd);
my_tcp_connect (server_address, server_port, &sd);
send_buffer = strdup ("S13\r\n");
result=send_tcp_request(sd,send_buffer,recv_buffer,sizeof(recv_buffer));
temp_buffer=strtok(recv_buffer,"\r\n");
-
+
asprintf (&output_message,_("Directory Services Database is %s (DS version %s)"),(result==STATE_OK)?"open":"closed",temp_buffer);
/* check to see if logins are enabled */
@@ -565,11 +564,11 @@ main(int argc, char **argv) {
result=STATE_WARNING;
asprintf (&output_message,_("Warning - NRM Status is suspect!"));
}
-
+
asprintf (&output_message,_("OK - NRM Status is good!"));
}
-
+
/* check packet receive buffers */
} else if (vars_to_check==UPRB || vars_to_check==PUPRB) {
@@ -593,7 +592,7 @@ main(int argc, char **argv) {
return result;
max_packet_receive_buffers=atoi(recv_buffer);
-
+
percent_used_packet_receive_buffers=(unsigned long)(((double)used_packet_receive_buffers/(double)max_packet_receive_buffers)*100.0);
if (vars_to_check==UPRB) {
@@ -607,7 +606,7 @@ main(int argc, char **argv) {
else if (check_warning_value==TRUE && percent_used_packet_receive_buffers >= warning_value)
result=STATE_WARNING;
}
-
+
asprintf (&output_message,_("%lu of %lu (%lu%%) packet receive buffers used"),used_packet_receive_buffers,max_packet_receive_buffers,percent_used_packet_receive_buffers);
/* check SAP table entries */
@@ -623,9 +622,9 @@ main(int argc, char **argv) {
result=send_tcp_request(sd,send_buffer,recv_buffer,sizeof(recv_buffer));
if (result!=STATE_OK)
return result;
-
+
sap_entries=atoi(recv_buffer);
-
+
if (check_critical_value==TRUE && sap_entries >= critical_value)
result=STATE_CRITICAL;
else if (check_warning_value==TRUE && sap_entries >= warning_value)
@@ -811,9 +810,9 @@ main(int argc, char **argv) {
result=send_tcp_request(sd,send_buffer,recv_buffer,sizeof(recv_buffer));
if (result!=STATE_OK)
return result;
-
+
open_files=atoi(recv_buffer);
-
+
if (check_critical_value==TRUE && open_files >= critical_value)
result=STATE_CRITICAL;
else if (check_warning_value==TRUE && open_files >= warning_value)
@@ -824,7 +823,7 @@ main(int argc, char **argv) {
open_files,
warning_value,
critical_value);
-
+
/* check # of abended threads (Netware > 5.x only) */
} else if (vars_to_check==ABENDS) {
@@ -836,9 +835,9 @@ main(int argc, char **argv) {
result=send_tcp_request(sd,send_buffer,recv_buffer,sizeof(recv_buffer));
if (result!=STATE_OK)
return result;
-
+
abended_threads=atoi(recv_buffer);
-
+
if (check_critical_value==TRUE && abended_threads >= critical_value)
result=STATE_CRITICAL;
else if (check_warning_value==TRUE && abended_threads >= warning_value)
@@ -860,9 +859,9 @@ main(int argc, char **argv) {
result=send_tcp_request(sd,send_buffer,recv_buffer,sizeof(recv_buffer));
if (result!=STATE_OK)
return result;
-
+
max_service_processes=atoi(recv_buffer);
-
+
close(sd);
my_tcp_connect (server_address, server_port, &sd);
@@ -870,9 +869,9 @@ main(int argc, char **argv) {
result=send_tcp_request(sd,send_buffer,recv_buffer,sizeof(recv_buffer));
if (result!=STATE_OK)
return result;
-
+
current_service_processes=atoi(recv_buffer);
-
+
if (check_critical_value==TRUE && current_service_processes >= critical_value)
result=STATE_CRITICAL;
else if (check_warning_value==TRUE && current_service_processes >= warning_value)
@@ -911,7 +910,7 @@ main(int argc, char **argv) {
-
+
/* check LRU sitting time in secondss */
} else if (vars_to_check==LRUS) {
@@ -974,7 +973,7 @@ main(int argc, char **argv) {
total_cache_buffers,
warning_value,
critical_value);
-
+
} else if (vars_to_check==DSVER) {
close(sd);
@@ -1002,7 +1001,7 @@ main(int argc, char **argv) {
recv_buffer[sizeof(recv_buffer)-1]=0;
recv_buffer[strlen(recv_buffer)-1]=0;
-
+
asprintf (&output_message,_("Up %s"),recv_buffer);
} else if (vars_to_check==NLM) {
@@ -1021,7 +1020,7 @@ main(int argc, char **argv) {
} else {
result=STATE_CRITICAL;
asprintf (&output_message,_("Module %s is not loaded"),nlm_name);
-
+
}
} else if (vars_to_check==NRMP) {
@@ -1310,7 +1309,7 @@ int process_arguments(int argc, char **argv) {
int option = 0;
static struct option longopts[] =
- {
+ {
{"port", required_argument,0,'p'},
{"timeout", required_argument,0,'t'},
{"critical", required_argument,0,'c'},
@@ -1357,7 +1356,7 @@ int process_arguments(int argc, char **argv) {
print_help();
exit(STATE_OK);
case 'V': /* version */
- print_revision(progname, revision);
+ print_revision(progname, NP_VERSION);
exit(STATE_OK);
case 'H': /* hostname */
server_address=optarg;
@@ -1495,7 +1494,7 @@ int process_arguments(int argc, char **argv) {
nrmm_name = strdup (optarg+4);
if (!strcmp(nrmm_name,""))
nrmm_name = strdup ("AVAILABLE_CACHE_MEMORY");
-
+
}
else if (strncmp(optarg,"NRMS",4)==0) {
@@ -1503,7 +1502,7 @@ int process_arguments(int argc, char **argv) {
nrms_name = strdup (optarg+4);
if (!strcmp(nrms_name,""))
nrms_name = strdup ("USED_SWAP_SPACE");
-
+
}
else if (strncmp(optarg,"NSS1",4)==0) {
@@ -1511,7 +1510,7 @@ int process_arguments(int argc, char **argv) {
nss1_name = strdup (optarg+4);
if (!strcmp(nss1_name,""))
nss1_name = strdup ("CURRENTBUFFERCACHESIZE");
-
+
}
else if (strncmp(optarg,"NSS2",4)==0) {
@@ -1519,7 +1518,7 @@ int process_arguments(int argc, char **argv) {
nss2_name = strdup (optarg+4);
if (!strcmp(nss2_name,""))
nss2_name = strdup ("CACHEHITS");
-
+
}
else if (strncmp(optarg,"NSS3",4)==0) {
@@ -1527,7 +1526,7 @@ int process_arguments(int argc, char **argv) {
nss3_name = strdup (optarg+4);
if (!strcmp(nss3_name,""))
nss3_name = strdup ("CACHEGITPERCENT");
-
+
}
else if (strncmp(optarg,"NSS4",4)==0) {
@@ -1535,7 +1534,7 @@ int process_arguments(int argc, char **argv) {
nss4_name = strdup (optarg+4);
if (!strcmp(nss4_name,""))
nss4_name = strdup ("CURRENTOPENCOUNT");
-
+
}
else if (strncmp(optarg,"NSS5",4)==0) {
@@ -1543,7 +1542,7 @@ int process_arguments(int argc, char **argv) {
nss5_name = strdup (optarg+4);
if (!strcmp(nss5_name,""))
nss5_name = strdup ("CACHEMISSES");
-
+
}
@@ -1552,7 +1551,7 @@ int process_arguments(int argc, char **argv) {
nss6_name = strdup (optarg+4);
if (!strcmp(nss6_name,""))
nss6_name = strdup ("PENDINGWORKSCOUNT");
-
+
}
@@ -1561,7 +1560,7 @@ int process_arguments(int argc, char **argv) {
nss7_name = strdup (optarg+4);
if (!strcmp(nss7_name,""))
nss7_name = strdup ("CACHESIZE");
-
+
}
@@ -1594,7 +1593,7 @@ void print_help(void)
char *myport;
asprintf (&myport, "%d", PORT);
- print_revision (progname, revision);
+ print_revision (progname, NP_VERSION);
printf ("Copyright (c) 1999 Ethan Galstad \n");
printf (COPYRIGHT, copyright, email);
@@ -1607,6 +1606,7 @@ void print_help(void)
print_usage();
printf (_(UT_HELP_VRSN));
+ printf (_(UT_EXTRA_OPTS));
printf (_(UT_HOST_PORT), 'p', myport);
@@ -1673,7 +1673,10 @@ void print_help(void)
printf (" %s\n", _(" (available from http://www.engr.wisc.edu/~drews/mrtg/)"));
printf (" %s\n", _("- Values for critical thresholds should be lower than warning thresholds"));
printf (" %s\n", _(" when the following variables are checked: VPF, VKF, LTCH, CBUFF, DCB, "));
- printf (" %s\n", _(" TCB, LRUS and LRUM.\n"));
+ printf (" %s\n", _(" TCB, LRUS and LRUM."));
+#ifdef NP_EXTRA_OPTS
+ printf (" -%s", _(UT_EXTRA_OPTS_NOTES));
+#endif
printf (_(UT_SUPPORT));
}