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)); }