diff options
Diffstat (limited to 'plugins/check_snmp.c')
| -rw-r--r-- | plugins/check_snmp.c | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/plugins/check_snmp.c b/plugins/check_snmp.c index 9839d6e8..afc568b2 100644 --- a/plugins/check_snmp.c +++ b/plugins/check_snmp.c | |||
| @@ -152,7 +152,7 @@ state_data *previous_state; | |||
| 152 | double *previous_value; | 152 | double *previous_value; |
| 153 | size_t previous_size = OID_COUNT_STEP; | 153 | size_t previous_size = OID_COUNT_STEP; |
| 154 | int perf_labels = 1; | 154 | int perf_labels = 1; |
| 155 | 155 | char* ip_version = ""; | |
| 156 | 156 | ||
| 157 | static char *fix_snmp_range(char *th) | 157 | static char *fix_snmp_range(char *th) |
| 158 | { | 158 | { |
| @@ -576,6 +576,9 @@ main (int argc, char **argv) | |||
| 576 | len = sizeof(perfstr)-strlen(perfstr)-1; | 576 | len = sizeof(perfstr)-strlen(perfstr)-1; |
| 577 | strncat(perfstr, show, len>ptr-show ? ptr-show : len); | 577 | strncat(perfstr, show, len>ptr-show ? ptr-show : len); |
| 578 | 578 | ||
| 579 | if (type) | ||
| 580 | strncat(perfstr, type, sizeof(perfstr)-strlen(perfstr)-1); | ||
| 581 | |||
| 579 | if (warning_thresholds) { | 582 | if (warning_thresholds) { |
| 580 | strncat(perfstr, ";", sizeof(perfstr)-strlen(perfstr)-1); | 583 | strncat(perfstr, ";", sizeof(perfstr)-strlen(perfstr)-1); |
| 581 | strncat(perfstr, warning_thresholds, sizeof(perfstr)-strlen(perfstr)-1); | 584 | strncat(perfstr, warning_thresholds, sizeof(perfstr)-strlen(perfstr)-1); |
| @@ -588,8 +591,6 @@ main (int argc, char **argv) | |||
| 588 | strncat(perfstr, critical_thresholds, sizeof(perfstr)-strlen(perfstr)-1); | 591 | strncat(perfstr, critical_thresholds, sizeof(perfstr)-strlen(perfstr)-1); |
| 589 | } | 592 | } |
| 590 | 593 | ||
| 591 | if (type) | ||
| 592 | strncat(perfstr, type, sizeof(perfstr)-strlen(perfstr)-1); | ||
| 593 | strncat(perfstr, " ", sizeof(perfstr)-strlen(perfstr)-1); | 594 | strncat(perfstr, " ", sizeof(perfstr)-strlen(perfstr)-1); |
| 594 | } | 595 | } |
| 595 | } | 596 | } |
| @@ -680,6 +681,8 @@ process_arguments (int argc, char **argv) | |||
| 680 | {"offset", required_argument, 0, L_OFFSET}, | 681 | {"offset", required_argument, 0, L_OFFSET}, |
| 681 | {"invert-search", no_argument, 0, L_INVERT_SEARCH}, | 682 | {"invert-search", no_argument, 0, L_INVERT_SEARCH}, |
| 682 | {"perf-oids", no_argument, 0, 'O'}, | 683 | {"perf-oids", no_argument, 0, 'O'}, |
| 684 | {"ipv4", no_argument, 0, '4'}, | ||
| 685 | {"ipv6", no_argument, 0, '6'}, | ||
| 683 | {0, 0, 0, 0} | 686 | {0, 0, 0, 0} |
| 684 | }; | 687 | }; |
| 685 | 688 | ||
| @@ -697,7 +700,7 @@ process_arguments (int argc, char **argv) | |||
| 697 | } | 700 | } |
| 698 | 701 | ||
| 699 | while (1) { | 702 | while (1) { |
| 700 | c = getopt_long (argc, argv, "nhvVOt:c:w:H:C:o:e:E:d:D:s:t:R:r:l:u:p:m:P:N:L:U:a:x:A:X:", | 703 | c = getopt_long (argc, argv, "nhvVO46t:c:w:H:C:o:e:E:d:D:s:t:R:r:l:u:p:m:P:N:L:U:a:x:A:X:", |
| 701 | longopts, &option); | 704 | longopts, &option); |
| 702 | 705 | ||
| 703 | if (c == -1 || c == EOF) | 706 | if (c == -1 || c == EOF) |
| @@ -922,6 +925,13 @@ process_arguments (int argc, char **argv) | |||
| 922 | case 'O': | 925 | case 'O': |
| 923 | perf_labels=0; | 926 | perf_labels=0; |
| 924 | break; | 927 | break; |
| 928 | case '4': | ||
| 929 | break; | ||
| 930 | case '6': | ||
| 931 | xasprintf(&ip_version, "udp6:"); | ||
| 932 | if(verbose>2) | ||
| 933 | printf("IPv6 detected! Will pass \"udp6:\" to snmpget.\n"); | ||
| 934 | break; | ||
| 925 | } | 935 | } |
| 926 | } | 936 | } |
| 927 | 937 | ||
| @@ -1127,6 +1137,7 @@ print_help (void) | |||
| 1127 | 1137 | ||
| 1128 | printf (UT_HELP_VRSN); | 1138 | printf (UT_HELP_VRSN); |
| 1129 | printf (UT_EXTRA_OPTS); | 1139 | printf (UT_EXTRA_OPTS); |
| 1140 | printf (UT_IPv46); | ||
| 1130 | 1141 | ||
| 1131 | printf (UT_HOST_PORT, 'p', DEFAULT_PORT); | 1142 | printf (UT_HOST_PORT, 'p', DEFAULT_PORT); |
| 1132 | 1143 | ||
| @@ -1197,8 +1208,9 @@ print_help (void) | |||
| 1197 | printf (" %s\n", _("Separates output on multiple OID requests")); | 1208 | printf (" %s\n", _("Separates output on multiple OID requests")); |
| 1198 | 1209 | ||
| 1199 | printf (UT_CONN_TIMEOUT, DEFAULT_SOCKET_TIMEOUT); | 1210 | printf (UT_CONN_TIMEOUT, DEFAULT_SOCKET_TIMEOUT); |
| 1211 | printf (" %s\n", _("NOTE the final timeout value is calculated using this formula: timeout_interval * retries + 5")); | ||
| 1200 | printf (" %s\n", "-e, --retries=INTEGER"); | 1212 | printf (" %s\n", "-e, --retries=INTEGER"); |
| 1201 | printf (" %s\n", _("Number of retries to be used in the requests")); | 1213 | printf (" %s%i\n", _("Number of retries to be used in the requests, default: "), DEFAULT_RETRIES); |
| 1202 | 1214 | ||
| 1203 | printf (" %s\n", "-O, --perf-oids"); | 1215 | printf (" %s\n", "-O, --perf-oids"); |
| 1204 | printf (" %s\n", _("Label performance data with OIDs instead of --label's")); | 1216 | printf (" %s\n", _("Label performance data with OIDs instead of --label's")); |
| @@ -1245,5 +1257,5 @@ print_usage (void) | |||
| 1245 | printf ("[-C community] [-s string] [-r regex] [-R regexi] [-t timeout] [-e retries]\n"); | 1257 | printf ("[-C community] [-s string] [-r regex] [-R regexi] [-t timeout] [-e retries]\n"); |
| 1246 | printf ("[-l label] [-u units] [-p port-number] [-d delimiter] [-D output-delimiter]\n"); | 1258 | printf ("[-l label] [-u units] [-p port-number] [-d delimiter] [-D output-delimiter]\n"); |
| 1247 | printf ("[-m miblist] [-P snmp version] [-N context] [-L seclevel] [-U secname]\n"); | 1259 | printf ("[-m miblist] [-P snmp version] [-N context] [-L seclevel] [-U secname]\n"); |
| 1248 | printf ("[-a authproto] [-A authpasswd] [-x privproto] [-X privpasswd]\n"); | 1260 | printf ("[-a authproto] [-A authpasswd] [-x privproto] [-X privpasswd] [-4|6]\n"); |
| 1249 | } | 1261 | } |
