diff --git a/plugins/check_pgsql.c b/plugins/check_pgsql.c
index 22a5b8119a98ba63855e140c9cf9163bcb02daa9..a00257127ddc82cbd9e71b3da798e73d1a9f981a 100644 (file)
--- a/plugins/check_pgsql.c
+++ b/plugins/check_pgsql.c
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ $Id$
+
*****************************************************************************/
+const char *progname = "check_pgsql";
+const char *revision = "$Revision$";
+const char *copyright = "1999-2004";
+const char *email = "nagiosplug-devel@lists.sourceforge.net";
+
+#include "common.h"
+#include "utils.h"
+
+#include "netutils.h"
+#include <libpq-fe.h>
+
#define DEFAULT_DB "template1"
#define DEFAULT_HOST "127.0.0.1"
DEFAULT_CRIT = 8
};
-#include "common.h"
-#include "utils.h"
-#include "netutils.h"
-#include <libpq-fe.h>
+
int process_arguments (int, char **);
int validate_arguments (void);
PGconn *conn;
/*PGresult *res;*/
-const char *progname = "check_pgsql";
-const char *revision = "$Revision$";
-const char *copyright = "1999-2003";
-const char *email = "nagiosplug-devel@lists.sourceforge.net";
-\f
/******************************************************************************
<title>Functions</title>
-@@
******************************************************************************/
-\f
-
int
main (int argc, char **argv)
{
- int elapsed_time, status;
+ int elapsed_time;
+ int status = STATE_UNKNOWN;
/* begin, by setting the parameters for a backend connection if the
* parameters are null, then the system will try to use reasonable
bindtextdomain (PACKAGE, LOCALEDIR);
textdomain (PACKAGE);
- if (process_arguments (argc, argv) == ERROR)
- usage ("Could not parse arguments");
+ if (process_arguments (argc, argv) != TRUE)
+ usage4 (_("Could not parse arguments"));
/* Set signal handling and alarm */
if (signal (SIGALRM, timeout_alarm_handler) == SIG_ERR) {
- printf (_("Cannot catch SIGALRM"));
- return STATE_UNKNOWN;
+ usage4 (_("Cannot catch SIGALRM"));
}
alarm (timeout_interval);
/* check to see that the backend connection was successfully made */
if (PQstatus (conn) == CONNECTION_BAD) {
- printf (_("PGSQL: CRITICAL - no connection to '%s' (%s).\n"),
+ printf (_("CRITICAL - no connection to '%s' (%s).\n"),
dbName, PQerrorMessage (conn));
PQfinish (conn);
return STATE_CRITICAL;
status = STATE_OK;
}
PQfinish (conn);
- printf (_("PGSQL: %s - database %s (%d sec.)|%s\n"),
+ printf (_(" %s - database %s (%d sec.)|%s\n"),
state_text(status), dbName, elapsed_time,
fperfdata("time", elapsed_time, "s",
(int)twarn, twarn, (int)tcrit, tcrit, TRUE, 0, FALSE,0));
return status;
}
-\f
+
/* process command-line arguments */
switch (c) {
case '?': /* usage */
- usage3 (_("Unknown argument"), optopt);
- break;
+ printf (_("%s: Unknown argument: %s\n\n"), progname, optarg);
+ print_usage ();
+ exit (STATE_UNKNOWN);
case 'h': /* help */
print_help ();
exit (STATE_OK);
exit (STATE_OK);
case 't': /* timeout period */
if (!is_integer (optarg))
- usage2 (_("Timeout Interval must be an integer"), optarg);
+ usage2 (_("Timeout interval must be a positive integer"), optarg);
else
timeout_interval = atoi (optarg);
break;
case 'c': /* critical time threshold */
if (!is_nonnegative (optarg))
- usage2 (_("Invalid critical threshold"), optarg);
+ usage2 (_("Critical threshold must be a positive integer"), optarg);
else
tcrit = strtod (optarg, NULL);
break;
case 'w': /* warning time threshold */
if (!is_nonnegative (optarg))
- usage2 (_("Invalid critical threshold"), optarg);
+ usage2 (_("Critical threshold must be a positive integer"), optarg);
else
twarn = strtod (optarg, NULL);
break;
case 'H': /* host */
if (!is_host (optarg))
- usage2 (_("You gave an invalid host name"), optarg);
+ usage2 (_("Invalid hostname/address"), optarg);
else
pghost = optarg;
break;
case 'P': /* port */
if (!is_integer (optarg))
- usage2 (_("Port must be an integer"), optarg);
+ usage2 (_("Port must be a positive integer"), optarg);
else
pgport = optarg;
break;
break;
case 'l': /* login name */
if (!is_pg_logname (optarg))
- usage2 (_("user name is not valid"), optarg);
+ usage2 (_("User name is not valid"), optarg);
else
pguser = optarg;
break;
-@@
******************************************************************************/
+
+
int
validate_arguments ()
{
return OK;
}
-\f
/******************************************************************************
-@@
******************************************************************************/
+
+
int
is_pg_dbname (char *dbname)
{
-@@
******************************************************************************/
+
+
int
is_pg_logname (char *username)
{
</article>
-@@
******************************************************************************/
-\f
-
print_revision (progname, revision);
- printf (_(COPYRIGHT), copyright, email);
+ printf (COPYRIGHT, copyright, email);
- printf (_("Test whether a PostgreSQL DBMS is accepting connections.\n\n"));
+ printf (_("Test whether a PostgreSQL Database is accepting connections.\n\n"));
print_usage ();
-
void
print_usage (void)
{
- printf (S_("\
-Usage:\n %s [-H <host>] [-P <port>] [-c <critical time>] [-w <warning time>]\n\
- [-t <timeout>]"), progname);
- printf (S_("[-d <database>] [-l <logname>] [-p <password>]\n"));
- printf (S_("\
- %s (-h | --help) for detailed help\n\
- %s (-V | --version) for version information\n"),
- progname, progname);
+ printf ("\
+Usage: %s [-H <host>] [-P <port>] [-c <critical time>] [-w <warning time>]\n\
+ [-t <timeout>] [-d <database>] [-l <logname>] [-p <password>]\n", progname);
}
-