summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: cf75207)
raw | patch | inline | side by side (parent: cf75207)
author | Harper Mann <harpermann@users.sourceforge.net> | |
Fri, 21 Jan 2005 01:03:56 +0000 (01:03 +0000) | ||
committer | Harper Mann <harpermann@users.sourceforge.net> | |
Fri, 21 Jan 2005 01:03:56 +0000 (01:03 +0000) |
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1092 f882894a-f735-0410-b71e-b25c423dba1c
plugins/check_snmp.c | patch | blob | history |
diff --git a/plugins/check_snmp.c b/plugins/check_snmp.c
index ef411e15fe59208e521b66fbdb7a723cbaff06a2..0ef0c65348b0962ae36a8de46ef2d1af72dd9481 100644 (file)
--- a/plugins/check_snmp.c
+++ b/plugins/check_snmp.c
#define DEFAULT_PORT "161"
#define DEFAULT_MIBLIST "ALL"
#define DEFAULT_PROTOCOL "1"
#define DEFAULT_PORT "161"
#define DEFAULT_MIBLIST "ALL"
#define DEFAULT_PROTOCOL "1"
+#define DEFAULT_TIMEOUT 1
+#define DEFAULT_RETRIES 5
#define DEFAULT_AUTH_PROTOCOL "MD5"
#define DEFAULT_DELIMITER "="
#define DEFAULT_OUTPUT_DELIMITER " "
#define DEFAULT_AUTH_PROTOCOL "MD5"
#define DEFAULT_DELIMITER "="
#define DEFAULT_OUTPUT_DELIMITER " "
unsigned long response_value[MAX_OIDS];
int check_warning_value = FALSE;
int check_critical_value = FALSE;
unsigned long response_value[MAX_OIDS];
int check_warning_value = FALSE;
int check_critical_value = FALSE;
+int retries = 0;
unsigned long eval_method[MAX_OIDS];
char *delimiter;
char *output_delim;
char *miblist;
unsigned long eval_method[MAX_OIDS];
char *delimiter;
char *output_delim;
char *miblist;
-
-
int
main (int argc, char **argv)
{
int
main (int argc, char **argv)
{
delimiter = strdup (DEFAULT_DELIMITER);
output_delim = strdup (DEFAULT_OUTPUT_DELIMITER);
miblist = strdup (DEFAULT_MIBLIST);
delimiter = strdup (DEFAULT_DELIMITER);
output_delim = strdup (DEFAULT_OUTPUT_DELIMITER);
miblist = strdup (DEFAULT_MIBLIST);
+ timeout_interval = DEFAULT_TIMEOUT;
+ retries = DEFAULT_RETRIES;
if (process_arguments (argc, argv) == ERROR)
usage4 (_("Could not parse arguments"));
/* create the command line to execute */
if (process_arguments (argc, argv) == ERROR)
usage4 (_("Could not parse arguments"));
/* create the command line to execute */
- asprintf (&command_line, "%s -t 1 -r %d -m %s -v %s %s %s:%s %s",
- PATH_TO_SNMPGET, timeout_interval - 1, miblist, proto,
+ asprintf (&command_line, "%s -t %d -r %d -m %s -v %s %s %s:%s %s",
+ PATH_TO_SNMPGET, timeout_interval, retries, miblist, proto,
authpriv, server_address, port, oid);
if (verbose)
printf ("%s\n", command_line);
authpriv, server_address, port, oid);
if (verbose)
printf ("%s\n", command_line);
{"delimiter", required_argument, 0, 'd'},
{"output-delimiter", required_argument, 0, 'D'},
{"string", required_argument, 0, 's'},
{"delimiter", required_argument, 0, 'd'},
{"output-delimiter", required_argument, 0, 'D'},
{"string", required_argument, 0, 's'},
+ {"timeout", required_argument, 0, 't'},
{"regex", required_argument, 0, 'r'},
{"ereg", required_argument, 0, 'r'},
{"eregi", required_argument, 0, 'R'},
{"label", required_argument, 0, 'l'},
{"units", required_argument, 0, 'u'},
{"port", required_argument, 0, 'p'},
{"regex", required_argument, 0, 'r'},
{"ereg", required_argument, 0, 'r'},
{"eregi", required_argument, 0, 'R'},
{"label", required_argument, 0, 'l'},
{"units", required_argument, 0, 'u'},
{"port", required_argument, 0, 'p'},
+ {"retries", required_argument, 0, 'e'},
{"miblist", required_argument, 0, 'm'},
{"protocol", required_argument, 0, 'P'},
{"seclevel", required_argument, 0, 'L'},
{"miblist", required_argument, 0, 'm'},
{"protocol", required_argument, 0, 'P'},
{"seclevel", required_argument, 0, 'L'},
}
while (1) {
}
while (1) {
- c = getopt_long (argc, argv, "hvVt:c:w:H:C:o:e:E:d:D:s:R:r:l:u:p:m:P:L:U:a:A:X:",
+ c = getopt_long (argc, argv, "hvVt:c:w:H:C:o:e:E:d:D:s:t:R:r:l:u:p:m:P:L:U:a:A:X:",
longopts, &option);
if (c == -1 || c == EOF)
longopts, &option);
if (c == -1 || c == EOF)
(ptr = index (ptr, ',')) ? ptr++ : ptr;
}
break;
(ptr = index (ptr, ',')) ? ptr++ : ptr;
}
break;
- case 'o': /* object identifier */
case 'e': /* PRELIMINARY - may change */
case 'E': /* PRELIMINARY - may change */
case 'e': /* PRELIMINARY - may change */
case 'E': /* PRELIMINARY - may change */
+ if (!is_integer (optarg))
+ usage2 (_("Retries interval must be a positive integer"), optarg);
+ else
+ retries = atoi(optarg);
+ break;
+ case 'o': /* object identifier */
for (ptr = optarg; (ptr = index (ptr, ',')); ptr++)
ptr[0] = ' '; /* relpace comma with space */
for (ptr = optarg; (ptr = index (ptr, ' ')); ptr++)
for (ptr = optarg; (ptr = index (ptr, ',')); ptr++)
ptr[0] = ' '; /* relpace comma with space */
for (ptr = optarg; (ptr = index (ptr, ' ')); ptr++)
{
printf ("\
Usage: %s -H <ip_address> -o <OID> [-w warn_range] [-c crit_range] \n\
{
printf ("\
Usage: %s -H <ip_address> -o <OID> [-w warn_range] [-c crit_range] \n\
- [-C community] [-s string] [-r regex] [-R regexi] [-t timeout]\n\
+ [-C community] [-s string] [-r regex] [-R regexi]\n\
+ [-t timeout] [-e retries]\n\
[-l label] [-u units] [-p port-number] [-d delimiter]\n\
[-D output-delimiter] [-m miblist] [-P snmp version]\n\
[-L seclevel] [-U secname] [-a authproto] [-A authpasswd]\n\
[-l label] [-u units] [-p port-number] [-d delimiter]\n\
[-D output-delimiter] [-m miblist] [-P snmp version]\n\
[-L seclevel] [-U secname] [-a authproto] [-A authpasswd]\n\