X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=sidebyside;f=plugins%2Fcheck_nagios.c;h=0176983c5866f900a20587416cfe3aa9b4bab70e;hb=6ecaa524bf28b5fb861b161ea075a11119cb3bd2;hp=7c36d116b8be3c5e30491699d0ed1be54f2e7f3b;hpb=df1bd0c89ff63de64ee630e0025389651947020c;p=nagiosplug.git diff --git a/plugins/check_nagios.c b/plugins/check_nagios.c index 7c36d11..0176983 100644 --- a/plugins/check_nagios.c +++ b/plugins/check_nagios.c @@ -20,7 +20,7 @@ const char *progname = "check_nagios"; const char *revision = "$Revision$"; -const char *copyright = "1999-2003"; +const char *copyright = "1999-2004"; const char *email = "nagiosplug-devel@lists.sourceforge.net"; #include "common.h" @@ -54,6 +54,7 @@ main (int argc, char **argv) int procrss = 0; float procpcpu = 0; char procstat[8]; + char procetime[MAX_INPUT_BUFFER]; char procprog[MAX_INPUT_BUFFER]; char *procargs; int pos, cols; @@ -65,13 +66,12 @@ main (int argc, char **argv) bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); - if (process_arguments (argc, argv) != TRUE) - usage (_("check_nagios: could not parse arguments\n")); + if (process_arguments (argc, argv) == ERROR) + usage4 (_("Could not parse arguments")); - /* Set signal handling and alarm */ + /* Set signal handling and alarm timeout */ if (signal (SIGALRM, timeout_alarm_handler) == SIG_ERR) { - printf (_("Cannot catch SIGALRM")); - return STATE_UNKNOWN; + usage4 (_("Cannot catch SIGALRM")); } /* handle timeouts gracefully... */ @@ -95,7 +95,7 @@ main (int argc, char **argv) fclose (fp); if (verbose >= 2) - printf("command: %s\n", PS_COMMAND); + printf(_("command: %s\n"), PS_COMMAND); /* run the command to check for the Nagios process.. */ child_process = spopen (PS_COMMAND); @@ -134,7 +134,7 @@ main (int argc, char **argv) } /* May get empty procargs */ - if (!strstr(procargs, argv[0]) && strstr(procprog, process_string) && strcmp(procargs,"")) { + if (!strstr(procargs, argv[0]) && strstr(procargs, process_string) && strcmp(procargs,"")) { proc_entries++; if (verbose >= 2) { printf (_("Found process: %s %s\n"), procprog, procargs); @@ -206,8 +206,7 @@ process_arguments (int argc, char **argv) expire_minutes = atoi (argv[2]); else die (STATE_UNKNOWN, - _("Expiration time must be an integer (seconds)\nType '%s -h' for additional help\n"), - progname); + _("Expiration time must be an integer (seconds)\n")); process_string = argv[3]; return OK; } @@ -220,9 +219,7 @@ process_arguments (int argc, char **argv) switch (c) { case '?': /* print short usage statement if args not parsable */ - printf (_("%s: Unknown argument: %c\n\n"), progname, optopt); - print_usage (); - exit (STATE_UNKNOWN); + usage2 (_("Unknown argument"), optarg); case 'h': /* help */ print_help (); exit (STATE_OK); @@ -240,8 +237,7 @@ process_arguments (int argc, char **argv) expire_minutes = atoi (optarg); else die (STATE_UNKNOWN, - _("Expiration time must be an integer (seconds)\nType '%s -h' for additional help\n"), - progname); + _("Expiration time must be an integer (seconds)\n")); break; case 'v': verbose++; @@ -252,12 +248,10 @@ process_arguments (int argc, char **argv) if (status_log == NULL) die (STATE_UNKNOWN, - _("You must provide the status_log\nType '%s -h' for additional help\n"), - progname); + _("You must provide the status_log\n")); else if (process_string == NULL) die (STATE_UNKNOWN, - _("You must provide a process string\nType '%s -h' for additional help\n"), - progname); + _("You must provide a process string\n")); return OK; } @@ -272,29 +266,26 @@ print_help (void) printf (_(COPYRIGHT), copyright, email); printf (_("\ -This plugin attempts to check the status of the Nagios process on the local\n\ +This plugin checks the status of the Nagios process on the local\n\ machine. The plugin will check to make sure the Nagios status log is no older\n\ -than the number of minutes specified by the option. It also\n\ -uses the /bin/ps command to check for a process matching whatever you specify\n\ -by the argument.\n")); +than the number of minutes specified by the expires option. It also\n\ +checks the process table for a process matching the command argument.\n\n")); print_usage (); printf (_(UT_HELP_VRSN)); printf (_("\ --F, --filename=FILE\n\ + -F, --filename=FILE\n\ Name of the log file to check\n\ --e, --expires=INTEGER\n\ - Seconds aging afterwhich logfile is condsidered stale\n\ --C, --command=STRING\n\ - Command to search for in process table\n")); + -e, --expires=INTEGER\n\ + Minutes aging after which logfile is considered stale\n\ + -C, --command=STRING\n\ + Substring to search for in process arguments\n")); printf (_("\ Example:\n\ - ./check_nagios -e 5 \\\ - -F /usr/local/nagios/var/status.log \\\ - -C /usr/local/nagios/bin/nagios\n")); + ./check_nagios -e 5 -F /usr/local/nagios/var/status.log -C /usr/local/nagios/bin/nagios\n")); } @@ -302,7 +293,6 @@ Example:\n\ void print_usage (void) { - printf (_("\ -Usage: %s -F -e -C \n"), - progname); + printf ("\ +Usage: %s -F -e -C \n", progname); }