diff options
| author | Karl DeBisschop <kdebisschop@users.sourceforge.net> | 2003-08-07 12:00:18 +0000 |
|---|---|---|
| committer | Karl DeBisschop <kdebisschop@users.sourceforge.net> | 2003-08-07 12:00:18 +0000 |
| commit | 5ed7e0a1486444de344411a1aefc2b8abc1681a4 (patch) | |
| tree | 7755c89e211231f60945de689ffe972dea022755 /plugins | |
| parent | 9e17dab6c3e4b4e7142f3ea5b2a60fcd488dc709 (diff) | |
| download | monitoring-plugins-5ed7e0a1486444de344411a1aefc2b8abc1681a4.tar.gz | |
reorder for consistency (no code changes)
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@657 f882894a-f735-0410-b71e-b25c423dba1c
Diffstat (limited to 'plugins')
| -rw-r--r-- | plugins/check_snmp.c | 333 |
1 files changed, 176 insertions, 157 deletions
diff --git a/plugins/check_snmp.c b/plugins/check_snmp.c index 2e2430da..dcb6e68a 100644 --- a/plugins/check_snmp.c +++ b/plugins/check_snmp.c | |||
| @@ -1,33 +1,30 @@ | |||
| 1 | /****************************************************************************** | 1 | /****************************************************************************** |
| 2 | * | 2 | |
| 3 | * Program: SNMP plugin for Nagios | 3 | This program is free software; you can redistribute it and/or modify |
| 4 | * License: GPL | 4 | it under the terms of the GNU General Public License as published by |
| 5 | * | 5 | the Free Software Foundation; either version 2 of the License, or |
| 6 | * License Information: | 6 | (at your option) any later version. |
| 7 | * | 7 | |
| 8 | * This program is free software; you can redistribute it and/or modify | 8 | This program is distributed in the hope that it will be useful, |
| 9 | * it under the terms of the GNU General Public License as published by | 9 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 10 | * the Free Software Foundation; either version 2 of the License, or | 10 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 11 | * (at your option) any later version. | 11 | GNU General Public License for more details. |
| 12 | * | 12 | |
| 13 | * This program is distributed in the hope that it will be useful, | 13 | You should have received a copy of the GNU General Public License |
| 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 14 | along with this program; if not, write to the Free Software |
| 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 15 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
| 16 | * GNU General Public License for more details. | 16 | |
| 17 | * | 17 | ******************************************************************************/ |
| 18 | * You should have received a copy of the GNU General Public License | ||
| 19 | * along with this program; if not, write to the Free Software | ||
| 20 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
| 21 | * | ||
| 22 | *./plugins/check_snmp 127.0.0.1 -c public -o .1.3.6.1.4.1.2021.9.1.2.1 | ||
| 23 | * | ||
| 24 | *****************************************************************************/ | ||
| 25 | 18 | ||
| 26 | const char *progname = "check_snmp"; | 19 | const char *progname = "check_snmp"; |
| 27 | const char *revision = "$Revision$"; | 20 | const char *revision = "$Revision$"; |
| 28 | const char *copyright = "1999-2003"; | 21 | const char *copyright = "1999-2003"; |
| 29 | const char *email = "nagiosplug-devel@lists.sourceforge.net"; | 22 | const char *email = "nagiosplug-devel@lists.sourceforge.net"; |
| 30 | 23 | ||
| 24 | #include "common.h" | ||
| 25 | #include "utils.h" | ||
| 26 | #include "popen.h" | ||
| 27 | |||
| 31 | #define DEFAULT_COMMUNITY "public" | 28 | #define DEFAULT_COMMUNITY "public" |
| 32 | #define DEFAULT_PORT "161" | 29 | #define DEFAULT_PORT "161" |
| 33 | #define DEFAULT_MIBLIST "ALL" | 30 | #define DEFAULT_MIBLIST "ALL" |
| @@ -36,130 +33,6 @@ const char *email = "nagiosplug-devel@lists.sourceforge.net"; | |||
| 36 | #define DEFAULT_DELIMITER "=" | 33 | #define DEFAULT_DELIMITER "=" |
| 37 | #define DEFAULT_OUTPUT_DELIMITER " " | 34 | #define DEFAULT_OUTPUT_DELIMITER " " |
| 38 | 35 | ||
| 39 | #include "common.h" | ||
| 40 | #include "utils.h" | ||
| 41 | #include "popen.h" | ||
| 42 | |||
| 43 | void | ||
| 44 | print_usage (void) | ||
| 45 | { | ||
| 46 | printf (_("\ | ||
| 47 | Usage: %s -H <ip_address> -o <OID> [-w warn_range] [-c crit_range] \n\ | ||
| 48 | [-C community] [-s string] [-r regex] [-R regexi] [-t timeout]\n\ | ||
| 49 | [-l label] [-u units] [-p port-number] [-d delimiter]\n\ | ||
| 50 | [-D output-delimiter] [-m miblist] [-P snmp version]\n\ | ||
| 51 | [-L seclevel] [-U secname] [-a authproto] [-A authpasswd]\n\ | ||
| 52 | [-X privpasswd]\n"), progname); | ||
| 53 | printf (_(UT_HLP_VRS), progname, progname); | ||
| 54 | } | ||
| 55 | |||
| 56 | void | ||
| 57 | print_help (void) | ||
| 58 | { | ||
| 59 | print_revision (progname, revision); | ||
| 60 | |||
| 61 | printf (_(COPYRIGHT), copyright, email); | ||
| 62 | |||
| 63 | printf (_("\ | ||
| 64 | Check status of remote machines and obtain sustem information via SNMP\n\n")); | ||
| 65 | |||
| 66 | print_usage (); | ||
| 67 | |||
| 68 | printf (_(UT_HELP_VRSN)); | ||
| 69 | |||
| 70 | printf (_(UT_HOST_PORT), 'p', DEFAULT_PORT); | ||
| 71 | |||
| 72 | /* SNMP and Authentication Protocol */ | ||
| 73 | printf (_("\ | ||
| 74 | -P, --protocol=[1|3]\n\ | ||
| 75 | SNMP protocol version\n\ | ||
| 76 | -L, --seclevel=[noAuthNoPriv|authNoPriv|authPriv]\n\ | ||
| 77 | SNMPv3 securityLevel\n\ | ||
| 78 | -a, --authproto=[MD5|SHA]\n\ | ||
| 79 | SNMPv3 auth proto\n")); | ||
| 80 | |||
| 81 | /* Authentication Tokens*/ | ||
| 82 | printf (_("\ | ||
| 83 | -C, --community=STRING\n\ | ||
| 84 | Optional community string for SNMP communication\n\ | ||
| 85 | (default is \"%s\")\n\ | ||
| 86 | -U, --secname=USERNAME\n\ | ||
| 87 | SNMPv3 username\n\ | ||
| 88 | -A, --authpassword=PASSWORD\n\ | ||
| 89 | SNMPv3 authentication password\n\ | ||
| 90 | -X, --privpasswd=PASSWORD\n\ | ||
| 91 | SNMPv3 crypt passwd (DES)\n"), DEFAULT_COMMUNITY); | ||
| 92 | |||
| 93 | /* OID Stuff */ | ||
| 94 | printf (_("\ | ||
| 95 | -o, --oid=OID(s)\n\ | ||
| 96 | Object identifier(s) whose value you wish to query\n\ | ||
| 97 | -m, --miblist=STRING\n\ | ||
| 98 | List of MIBS to be loaded (default = ALL)\n -d, --delimiter=STRING\n\ | ||
| 99 | Delimiter to use when parsing returned data. Default is \"%s\"\n\ | ||
| 100 | Any data on the right hand side of the delimiter is considered\n\ | ||
| 101 | to be the data that should be used in the evaluation.\n"), DEFAULT_DELIMITER); | ||
| 102 | |||
| 103 | /* Tests Against Integers */ | ||
| 104 | printf (_("\ | ||
| 105 | -w, --warning=INTEGER_RANGE(s)\n\ | ||
| 106 | Range(s) which will not result in a WARNING status\n\ | ||
| 107 | -c, --critical=INTEGER_RANGE(s)\n\ | ||
| 108 | Range(s) which will not result in a CRITICAL status\n")); | ||
| 109 | |||
| 110 | /* Tests Against Strings */ | ||
| 111 | printf (_("\ | ||
| 112 | -s, --string=STRING\n\ | ||
| 113 | Return OK state (for that OID) if STRING is an exact match\n\ | ||
| 114 | -r, --ereg=REGEX\n\ | ||
| 115 | Return OK state (for that OID) if extended regular expression REGEX matches\n\ | ||
| 116 | -R, --eregi=REGEX\n\ | ||
| 117 | Return OK state (for that OID) if case-insensitive extended REGEX matches\n\ | ||
| 118 | -l, --label=STRING\n\ | ||
| 119 | Prefix label for output from plugin (default -s 'SNMP')\n")); | ||
| 120 | |||
| 121 | /* Output Formatting */ | ||
| 122 | printf (_("\ | ||
| 123 | -u, --units=STRING\n\ | ||
| 124 | Units label(s) for output data (e.g., 'sec.').\n\ | ||
| 125 | -D, --output-delimiter=STRING\n\ | ||
| 126 | Separates output on multiple OID requests\n")); | ||
| 127 | |||
| 128 | printf (_(UT_TIMEOUT), DEFAULT_SOCKET_TIMEOUT); | ||
| 129 | |||
| 130 | printf (_(UT_VERBOSE)); | ||
| 131 | |||
| 132 | printf (_("\n\ | ||
| 133 | - This plugin uses the 'snmpget' command included with the NET-SNMP package.\n\ | ||
| 134 | If you don't have the package installed, you will need to download it from\n\ | ||
| 135 | http://net-snmp.sourceforge.net before you can use this plugin.\n")); | ||
| 136 | |||
| 137 | printf (_("\ | ||
| 138 | - Multiple OIDs may be indicated by a comma- or space-delimited list (lists with\n\ | ||
| 139 | internal spaces must be quoted) [max 8 OIDs]\n")); | ||
| 140 | |||
| 141 | printf (_("\ | ||
| 142 | - Ranges are inclusive and are indicated with colons. When specified as\n\ | ||
| 143 | 'min:max' a STATE_OK will be returned if the result is within the indicated\n\ | ||
| 144 | range or is equal to the upper or lower bound. A non-OK state will be\n\ | ||
| 145 | returned if the result is outside the specified range.\n")); | ||
| 146 | |||
| 147 | printf (_("\ | ||
| 148 | - If specified in the order 'max:min' a non-OK state will be returned if the\n\ | ||
| 149 | result is within the (inclusive) range.\n")); | ||
| 150 | |||
| 151 | printf (_("\ | ||
| 152 | - Upper or lower bounds may be omitted to skip checking the respective limit.\n\ | ||
| 153 | - Bare integers are interpreted as upper limits.\n\ | ||
| 154 | - When checking multiple OIDs, separate ranges by commas like '-w 1:10,1:,:20'\n\ | ||
| 155 | - Note that only one string and one regex may be checked at present\n\ | ||
| 156 | - All evaluation methods other than PR, STR, and SUBSTR expect that the value\n\ | ||
| 157 | returned from the SNMP query is an unsigned integer.\n")); | ||
| 158 | |||
| 159 | printf (_(UT_SUPPORT)); | ||
| 160 | } | ||
| 161 | |||
| 162 | |||
| 163 | #define mark(a) ((a)!=0?"*":"") | 36 | #define mark(a) ((a)!=0?"*":"") |
| 164 | 37 | ||
| 165 | #define CHECK_UNDEF 0 | 38 | #define CHECK_UNDEF 0 |
| @@ -187,16 +60,16 @@ Check status of remote machines and obtain sustem information via SNMP\n\n")); | |||
| 187 | #define MAX_OIDS 8 | 60 | #define MAX_OIDS 8 |
| 188 | #define MAX_DELIM_LENGTH 8 | 61 | #define MAX_DELIM_LENGTH 8 |
| 189 | 62 | ||
| 190 | void print_usage (void); | ||
| 191 | void print_help (void); | ||
| 192 | int process_arguments (int, char **); | 63 | int process_arguments (int, char **); |
| 193 | int validate_arguments (void); | 64 | int validate_arguments (void); |
| 194 | int check_num (int); | ||
| 195 | char *clarify_message (char *); | 65 | char *clarify_message (char *); |
| 66 | int check_num (int); | ||
| 196 | int lu_getll (unsigned long *, char *); | 67 | int lu_getll (unsigned long *, char *); |
| 197 | int lu_getul (unsigned long *, char *); | 68 | int lu_getul (unsigned long *, char *); |
| 198 | char *thisarg (char *str); | 69 | char *thisarg (char *str); |
| 199 | char *nextarg (char *str); | 70 | char *nextarg (char *str); |
| 71 | void print_usage (void); | ||
| 72 | void print_help (void); | ||
| 200 | 73 | ||
| 201 | #ifdef HAVE_REGEX_H | 74 | #ifdef HAVE_REGEX_H |
| 202 | #include <regex.h> | 75 | #include <regex.h> |
| @@ -244,6 +117,10 @@ char *output_delim = DEFAULT_OUTPUT_DELIMITER; | |||
| 244 | char *miblist = DEFAULT_MIBLIST; | 117 | char *miblist = DEFAULT_MIBLIST; |
| 245 | 118 | ||
| 246 | 119 | ||
| 120 | |||
| 121 | |||
| 122 | |||
| 123 | |||
| 247 | int | 124 | int |
| 248 | main (int argc, char **argv) | 125 | main (int argc, char **argv) |
| 249 | { | 126 | { |
| @@ -427,10 +304,10 @@ main (int argc, char **argv) | |||
| 427 | } /* end while (ptr) */ | 304 | } /* end while (ptr) */ |
| 428 | 305 | ||
| 429 | if (found == 0) | 306 | if (found == 0) |
| 430 | die | 307 | die (STATE_UNKNOWN, |
| 431 | (STATE_UNKNOWN, | 308 | _("%s problem - No data recieved from host\nCMD: %s\n"), |
| 432 | _("%s problem - No data recieved from host\nCMD: %s\n"), | 309 | label, |
| 433 | label, command_line); | 310 | command_line); |
| 434 | 311 | ||
| 435 | /* WARNING if output found on stderr */ | 312 | /* WARNING if output found on stderr */ |
| 436 | if (fgets (input_buffer, MAX_INPUT_BUFFER - 1, child_stderr)) | 313 | if (fgets (input_buffer, MAX_INPUT_BUFFER - 1, child_stderr)) |
| @@ -451,6 +328,11 @@ main (int argc, char **argv) | |||
| 451 | return result; | 328 | return result; |
| 452 | } | 329 | } |
| 453 | 330 | ||
| 331 | |||
| 332 | |||
| 333 | |||
| 334 | |||
| 335 | |||
| 454 | /* process command-line arguments */ | 336 | /* process command-line arguments */ |
| 455 | int | 337 | int |
| 456 | process_arguments (int argc, char **argv) | 338 | process_arguments (int argc, char **argv) |
| @@ -708,6 +590,9 @@ process_arguments (int argc, char **argv) | |||
| 708 | return validate_arguments (); | 590 | return validate_arguments (); |
| 709 | } | 591 | } |
| 710 | 592 | ||
| 593 | |||
| 594 | |||
| 595 | |||
| 711 | /****************************************************************************** | 596 | /****************************************************************************** |
| 712 | 597 | ||
| 713 | @@- | 598 | @@- |
| @@ -783,9 +668,12 @@ validate_arguments () | |||
| 783 | 668 | ||
| 784 | return OK; | 669 | return OK; |
| 785 | } | 670 | } |
| 786 | |||
| 787 | 671 | ||
| 788 | 672 | ||
| 673 | |||
| 674 | |||
| 675 | |||
| 676 | |||
| 789 | char * | 677 | char * |
| 790 | clarify_message (char *msg) | 678 | clarify_message (char *msg) |
| 791 | { | 679 | { |
| @@ -822,6 +710,8 @@ clarify_message (char *msg) | |||
| 822 | } | 710 | } |
| 823 | 711 | ||
| 824 | 712 | ||
| 713 | |||
| 714 | |||
| 825 | int | 715 | int |
| 826 | check_num (int i) | 716 | check_num (int i) |
| 827 | { | 717 | { |
| @@ -865,6 +755,8 @@ check_num (int i) | |||
| 865 | } | 755 | } |
| 866 | 756 | ||
| 867 | 757 | ||
| 758 | |||
| 759 | |||
| 868 | int | 760 | int |
| 869 | lu_getll (unsigned long *ll, char *str) | 761 | lu_getll (unsigned long *ll, char *str) |
| 870 | { | 762 | { |
| @@ -878,6 +770,9 @@ lu_getll (unsigned long *ll, char *str) | |||
| 878 | return 0; | 770 | return 0; |
| 879 | } | 771 | } |
| 880 | 772 | ||
| 773 | |||
| 774 | |||
| 775 | |||
| 881 | int | 776 | int |
| 882 | lu_getul (unsigned long *ul, char *str) | 777 | lu_getul (unsigned long *ul, char *str) |
| 883 | { | 778 | { |
| @@ -894,8 +789,6 @@ lu_getul (unsigned long *ul, char *str) | |||
| 894 | 789 | ||
| 895 | 790 | ||
| 896 | 791 | ||
| 897 | |||
| 898 | |||
| 899 | /* trim leading whitespace | 792 | /* trim leading whitespace |
| 900 | if there is a leading quote, make sure it balances */ | 793 | if there is a leading quote, make sure it balances */ |
| 901 | 794 | ||
| @@ -911,6 +804,8 @@ thisarg (char *str) | |||
| 911 | } | 804 | } |
| 912 | 805 | ||
| 913 | 806 | ||
| 807 | |||
| 808 | |||
| 914 | /* if there's a leading quote, advance to the trailing quote | 809 | /* if there's a leading quote, advance to the trailing quote |
| 915 | set the trailing quote to '\x0' | 810 | set the trailing quote to '\x0' |
| 916 | if the string continues, advance beyond the comma */ | 811 | if the string continues, advance beyond the comma */ |
| @@ -945,3 +840,127 @@ nextarg (char *str) | |||
| 945 | } | 840 | } |
| 946 | return NULL; | 841 | return NULL; |
| 947 | } | 842 | } |
| 843 | |||
| 844 | |||
| 845 | |||
| 846 | |||
| 847 | |||
| 848 | |||
| 849 | void | ||
| 850 | print_help (void) | ||
| 851 | { | ||
| 852 | print_revision (progname, revision); | ||
| 853 | |||
| 854 | printf (_(COPYRIGHT), copyright, email); | ||
| 855 | |||
| 856 | printf (_("\ | ||
| 857 | Check status of remote machines and obtain sustem information via SNMP\n\n")); | ||
| 858 | |||
| 859 | print_usage (); | ||
| 860 | |||
| 861 | printf (_(UT_HELP_VRSN)); | ||
| 862 | |||
| 863 | printf (_(UT_HOST_PORT), 'p', DEFAULT_PORT); | ||
| 864 | |||
| 865 | /* SNMP and Authentication Protocol */ | ||
| 866 | printf (_("\ | ||
| 867 | -P, --protocol=[1|3]\n\ | ||
| 868 | SNMP protocol version\n\ | ||
| 869 | -L, --seclevel=[noAuthNoPriv|authNoPriv|authPriv]\n\ | ||
| 870 | SNMPv3 securityLevel\n\ | ||
| 871 | -a, --authproto=[MD5|SHA]\n\ | ||
| 872 | SNMPv3 auth proto\n")); | ||
| 873 | |||
| 874 | /* Authentication Tokens*/ | ||
| 875 | printf (_("\ | ||
| 876 | -C, --community=STRING\n\ | ||
| 877 | Optional community string for SNMP communication\n\ | ||
| 878 | (default is \"%s\")\n\ | ||
| 879 | -U, --secname=USERNAME\n\ | ||
| 880 | SNMPv3 username\n\ | ||
| 881 | -A, --authpassword=PASSWORD\n\ | ||
| 882 | SNMPv3 authentication password\n\ | ||
| 883 | -X, --privpasswd=PASSWORD\n\ | ||
| 884 | SNMPv3 crypt passwd (DES)\n"), DEFAULT_COMMUNITY); | ||
| 885 | |||
| 886 | /* OID Stuff */ | ||
| 887 | printf (_("\ | ||
| 888 | -o, --oid=OID(s)\n\ | ||
| 889 | Object identifier(s) whose value you wish to query\n\ | ||
| 890 | -m, --miblist=STRING\n\ | ||
| 891 | List of MIBS to be loaded (default = ALL)\n -d, --delimiter=STRING\n\ | ||
| 892 | Delimiter to use when parsing returned data. Default is \"%s\"\n\ | ||
| 893 | Any data on the right hand side of the delimiter is considered\n\ | ||
| 894 | to be the data that should be used in the evaluation.\n"), DEFAULT_DELIMITER); | ||
| 895 | |||
| 896 | /* Tests Against Integers */ | ||
| 897 | printf (_("\ | ||
| 898 | -w, --warning=INTEGER_RANGE(s)\n\ | ||
| 899 | Range(s) which will not result in a WARNING status\n\ | ||
| 900 | -c, --critical=INTEGER_RANGE(s)\n\ | ||
| 901 | Range(s) which will not result in a CRITICAL status\n")); | ||
| 902 | |||
| 903 | /* Tests Against Strings */ | ||
| 904 | printf (_("\ | ||
| 905 | -s, --string=STRING\n\ | ||
| 906 | Return OK state (for that OID) if STRING is an exact match\n\ | ||
| 907 | -r, --ereg=REGEX\n\ | ||
| 908 | Return OK state (for that OID) if extended regular expression REGEX matches\n\ | ||
| 909 | -R, --eregi=REGEX\n\ | ||
| 910 | Return OK state (for that OID) if case-insensitive extended REGEX matches\n\ | ||
| 911 | -l, --label=STRING\n\ | ||
| 912 | Prefix label for output from plugin (default -s 'SNMP')\n")); | ||
| 913 | |||
| 914 | /* Output Formatting */ | ||
| 915 | printf (_("\ | ||
| 916 | -u, --units=STRING\n\ | ||
| 917 | Units label(s) for output data (e.g., 'sec.').\n\ | ||
| 918 | -D, --output-delimiter=STRING\n\ | ||
| 919 | Separates output on multiple OID requests\n")); | ||
| 920 | |||
| 921 | printf (_(UT_TIMEOUT), DEFAULT_SOCKET_TIMEOUT); | ||
| 922 | |||
| 923 | printf (_(UT_VERBOSE)); | ||
| 924 | |||
| 925 | printf (_("\n\ | ||
| 926 | - This plugin uses the 'snmpget' command included with the NET-SNMP package.\n\ | ||
| 927 | If you don't have the package installed, you will need to download it from\n\ | ||
| 928 | http://net-snmp.sourceforge.net before you can use this plugin.\n")); | ||
| 929 | |||
| 930 | printf (_("\ | ||
| 931 | - Multiple OIDs may be indicated by a comma- or space-delimited list (lists with\n\ | ||
| 932 | internal spaces must be quoted) [max 8 OIDs]\n")); | ||
| 933 | |||
| 934 | printf (_("\ | ||
| 935 | - Ranges are inclusive and are indicated with colons. When specified as\n\ | ||
| 936 | 'min:max' a STATE_OK will be returned if the result is within the indicated\n\ | ||
| 937 | range or is equal to the upper or lower bound. A non-OK state will be\n\ | ||
| 938 | returned if the result is outside the specified range.\n")); | ||
| 939 | |||
| 940 | printf (_("\ | ||
| 941 | - If specified in the order 'max:min' a non-OK state will be returned if the\n\ | ||
| 942 | result is within the (inclusive) range.\n")); | ||
| 943 | |||
| 944 | printf (_("\ | ||
| 945 | - Upper or lower bounds may be omitted to skip checking the respective limit.\n\ | ||
| 946 | - Bare integers are interpreted as upper limits.\n\ | ||
| 947 | - When checking multiple OIDs, separate ranges by commas like '-w 1:10,1:,:20'\n\ | ||
| 948 | - Note that only one string and one regex may be checked at present\n\ | ||
| 949 | - All evaluation methods other than PR, STR, and SUBSTR expect that the value\n\ | ||
| 950 | returned from the SNMP query is an unsigned integer.\n")); | ||
| 951 | |||
| 952 | printf (_(UT_SUPPORT)); | ||
| 953 | } | ||
| 954 | |||
| 955 | void | ||
| 956 | print_usage (void) | ||
| 957 | { | ||
| 958 | printf (_("\ | ||
| 959 | Usage: %s -H <ip_address> -o <OID> [-w warn_range] [-c crit_range] \n\ | ||
| 960 | [-C community] [-s string] [-r regex] [-R regexi] [-t timeout]\n\ | ||
| 961 | [-l label] [-u units] [-p port-number] [-d delimiter]\n\ | ||
| 962 | [-D output-delimiter] [-m miblist] [-P snmp version]\n\ | ||
| 963 | [-L seclevel] [-U secname] [-a authproto] [-A authpasswd]\n\ | ||
| 964 | [-X privpasswd]\n"), progname); | ||
| 965 | printf (_(UT_HLP_VRS), progname, progname); | ||
| 966 | } | ||
