X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fcheck_overcr.c;h=16ada20d9667cff550ca9a7756a63d8e70d2d8e8;hb=b48c2bdd59783197c93cde531e6e8b9747c0a88f;hp=9958432e1c8edbc213b1f6877166a15d6bfc08ba;hpb=a228492c4bea15a3e6e7bdbfd6631611c97fe92c;p=nagiosplug.git diff --git a/plugins/check_overcr.c b/plugins/check_overcr.c index 9958432..16ada20 100644 --- a/plugins/check_overcr.c +++ b/plugins/check_overcr.c @@ -1,24 +1,36 @@ -/****************************************************************************** - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -******************************************************************************/ +/***************************************************************************** +* +* Nagios check_overcr plugin +* +* License: GPL +* Copyright (c) 2000-2007 Nagios Plugins Development Team +* +* Description: +* +* This file contains the check_overcr plugin +* +* This plugin attempts to contact the Over-CR collector daemon running on the +* remote UNIX server in order to gather the requested system information. +* +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see . +* +* +*****************************************************************************/ const char *progname = "check_overcr"; -const char *revision = "$Revision$"; -const char *copyright = "2000-2003"; +const char *copyright = "2000-2007"; const char *email = "nagiosplug-devel@lists.sourceforge.net"; #include "common.h" @@ -61,7 +73,7 @@ void print_help (void); int main (int argc, char **argv) { - int result; + int result = STATE_UNKNOWN; char recv_buffer[MAX_INPUT_BUFFER]; char temp_buffer[MAX_INPUT_BUFFER]; char *temp_ptr = NULL; @@ -79,8 +91,15 @@ main (int argc, char **argv) int uptime_hours = 0; int uptime_minutes = 0; + setlocale (LC_ALL, ""); + bindtextdomain (PACKAGE, LOCALEDIR); + textdomain (PACKAGE); + + /* Parse extra opts if any */ + argv=np_extra_opts (&argc, argv, progname); + if (process_arguments (argc, argv) == ERROR) - usage ("Could not parse arguments\n"); + usage4 (_("Could not parse arguments")); /* initialize alarm signal handling */ signal (SIGALRM, socket_timeout_alarm_handler); @@ -174,7 +193,7 @@ main (int argc, char **argv) /* error if we couldn't find the info for the disk */ if (found_disk == FALSE) die (STATE_CRITICAL, - "Error: Disk '%s' non-existent or not mounted", + "CRITICAL - Disk '%s' non-existent or not mounted", disk_name); if (check_critical_value == TRUE && (percent_used_disk_space >= critical_value)) @@ -266,27 +285,17 @@ main (int argc, char **argv) die (STATE_UNKNOWN, _("Nothing to check!\n")); break; } - - /* reset timeout */ -/* alarm (0); */ - -/* printf (_("Reached end of program with no data returned\n")); */ - -/* return result; */ } - - - /* process command-line arguments */ int process_arguments (int argc, char **argv) { int c; - int option_index = 0; - static struct option long_options[] = { + int option = 0; + static struct option longopts[] = { {"port", required_argument, 0, 'p'}, {"timeout", required_argument, 0, 't'}, {"critical", required_argument, 0, 'c'}, @@ -320,22 +329,20 @@ process_arguments (int argc, char **argv) } while (1) { - c = getopt_long (argc, argv, "+hVH:t:c:w:p:v:", long_options, - &option_index); + c = getopt_long (argc, argv, "+hVH:t:c:w:p:v:", longopts, + &option); if (c == -1 || c == EOF || c == 1) break; switch (c) { case '?': /* print short usage statement if args not parsable */ - printf (_("%s: Unknown argument: %s\n\n"), progname, optarg); - print_usage (); - exit (STATE_UNKNOWN); + usage5 (); case 'h': /* help */ 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; @@ -345,8 +352,7 @@ process_arguments (int argc, char **argv) server_port = atoi (optarg); else die (STATE_UNKNOWN, - _("Server port an integer (seconds)\nType '%s -h' for additional help\n"), - progname); + _("Server port an integer\n")); break; case 'v': /* variable */ if (strcmp (optarg, "LOAD") == 0) { @@ -397,16 +403,7 @@ process_arguments (int argc, char **argv) } return OK; } - -void -print_usage (void) -{ - printf (_("\ -Usage: %s -H host [-p port] [-v variable] [-w warning] [-c critical]\n\ - [-t timeout]\n"), - progname); - printf (_(UT_HLP_VRS), progname, progname); -} + void print_help (void) @@ -414,50 +411,59 @@ 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); - printf (_("Copyright (c) 1999 Ethan Galstad \n")); - printf (_(COPYRIGHT), copyright, email); + printf ("%s\n", _("This plugin attempts to contact the Over-CR collector daemon running on the")); + printf ("%s\n", _("remote UNIX server in order to gather the requested system information.")); - printf (_("\ -This plugin attempts to contact the Over-CR collector daemon running on the\n\ -remote UNIX server in order to gather the requested system information.\n\n")); + printf ("\n\n"); print_usage (); - printf (_(UT_HELP_VRSN)); - - printf (_(UT_HOST_PORT), 'p', myport); - - printf (_("\ --v, --variable=STRING\n\ - Variable to check. Valid variables include:\n\ - LOAD1 = 1 minute average CPU load\n\ - LOAD5 = 5 minute average CPU load\n\ - LOAD15 = 15 minute average CPU load\n\ - DPU = percent used disk space on filesystem \n\ - PROC = number of running processes with name \n\ - NET = number of active connections on TCP port \n\ - UPTIME = system uptime in seconds\n")); - - printf (_("\ - -w, --warning=INTEGER\n\ - Threshold which will result in a warning status\n\ - -c, --critical=INTEGER\n\ - Threshold which will result in a critical status\n")); - - printf (_(UT_TIMEOUT), DEFAULT_SOCKET_TIMEOUT); - - printf (_("\ -Notes:\n\ - - For the available options, the critical threshold value should always be\n\ - higher than the warning threshold value, EXCEPT with the uptime variable\n\n")); - - printf (_("\ - - This plugin requres that Eric Molitors' Over-CR collector daemon be\n\ - running on the remote server. Over-CR can be downloaded from\n\ - http://www.molitor.org/overcr (This plugin was tested with version\n\ - 0.99.53 of the Over-CR collector)\n\n")); - - printf (_(UT_SUPPORT)); + printf (UT_HELP_VRSN); + printf (UT_EXTRA_OPTS); + + printf (UT_HOST_PORT, 'p', myport); + + printf (" %s\n", "-w, --warning=INTEGER"); + printf (" %s\n", _("Threshold which will result in a warning status")); + printf (" %s\n", "-c, --critical=INTEGER"); + printf (" %s\n", _("Threshold which will result in a critical status")); + printf (" %s\n", "-v, --variable=STRING"); + printf (" %s\n", _("Variable to check. Valid variables include:")); + printf (" %s\n", _("LOAD1 = 1 minute average CPU load")); + printf (" %s\n", _("LOAD5 = 5 minute average CPU load")); + printf (" %s\n", _("LOAD15 = 15 minute average CPU load")); + printf (" %s\n", _("DPU = percent used disk space on filesystem ")); + printf (" %s\n", _("PROC = number of running processes with name ")); + printf (" %s\n", _("NET = number of active connections on TCP port ")); + printf (" %s\n", _("UPTIME = system uptime in seconds")); + + printf (UT_TIMEOUT, DEFAULT_SOCKET_TIMEOUT); + + printf (UT_VERBOSE); + + printf ("\n"); + printf ("%s\n", _("This plugin requires that Eric Molitors' Over-CR collector daemon be")); + printf ("%s\n", _("running on the remote server.")); + printf ("%s\n", _("Over-CR can be downloaded from http://www.molitor.org/overcr")); + printf ("%s\n", _("This plugin was tested with version 0.99.53 of the Over-CR collector")); + + printf ("\n"); + printf ("%s\n", _("Notes:")); + printf (" %s\n", _("For the available options, the critical threshold value should always be")); + printf (" %s\n", _("higher than the warning threshold value, EXCEPT with the uptime variable")); + + printf (UT_SUPPORT); +} + + +void +print_usage (void) +{ + printf ("%s\n", _("Usage:")); + printf ("%s -H host [-p port] [-v variable] [-w warning] [-c critical] [-t timeout]\n", progname); }