1Monitoring::Plugin::FunUcsteironCso(n3t)ributed Perl DocMuomneinttoartiinogn::Plugin::Functions(3)
2
3
4
6 Monitoring::Plugin::Functions - functions to simplify the creation of
7 Nagios plugins
8
10 # Constants OK, WARNING, CRITICAL, and UNKNOWN exported by default
11 use Monitoring::Plugin::Functions;
12
13 # plugin_exit( CODE, $message ) - exit with error code CODE,
14 # and message "PLUGIN CODE - $message"
15 plugin_exit( CRITICAL, $critical_error ) if $critical_error;
16 plugin_exit( WARNING, $warning_error ) if $warning_error;
17 plugin_exit( OK, $result );
18
19 # plugin_die( $message, [$CODE] ) - just like plugin_exit(),
20 # but CODE is optional, defaulting to UNKNOWN
21 do_something()
22 or plugin_die("do_something() failed horribly");
23 do_something_critical()
24 or plugin_die("do_something_critical() failed", CRITICAL);
25
26 # check_messages - check a set of message arrays, returning a
27 # CODE and/or a result message
28 $code = check_messages(critical => \@crit, warning => \@warn);
29 ($code, $message) = check_messages(
30 critical => \@crit, warning => \@warn,
31 ok => \@ok );
32
33 # get_shortname - return the default short name for this plugin
34 # (as used by plugin_exit/die; not exported by default)
35 $shortname = get_shortname();
36
38 This module is part of the Monitoring::Plugin family, a set of modules
39 for simplifying the creation of Nagios plugins. This module exports
40 convenience functions for the class methods provided by
41 Monitoring::Plugin. It is intended for those who prefer a simpler
42 functional interface, and who do not need the additional functionality
43 of Monitoring::Plugin.
44
45 EXPORTS
46 Nagios status code constants are exported by default:
47
48 OK
49 WARNING
50 CRITICAL
51 UNKNOWN
52 DEPENDENT
53
54 as are the following functions:
55
56 plugin_exit
57 plugin_die
58 check_messages
59
60 The following variables and functions are exported only on request:
61
62 %ERRORS
63 %STATUS_TEXT
64 get_shortname
65 max_state
66 max_state_alt
67
68 FUNCTIONS
69 The following functions are supported:
70
71 plugin_exit( <CODE>, $message )
72 Exit with return code CODE, and a standard nagios message of the
73 form "PLUGIN CODE - $message".
74
75 plugin_die( $message, [CODE] )
76 Same as plugin_exit(), except that CODE is optional, defaulting to
77 UNKNOWN. NOTE: exceptions are not raised by default to calling
78 code. Set $_use_die flag if this functionality is required (see
79 test code).
80
81 check_messages( critical => \@crit, warning => \@warn )
82 Convenience function to check a set of message arrays and return an
83 appropriate nagios return code and/or a result message. Returns
84 only a return code in scalar context; returns a return code and an
85 error message in list context i.e.
86
87 # Scalar context
88 $code = check_messages(critical => \@crit, warning => \@warn);
89 # List context
90 ($code, $msg) = check_messages(critical => \@crit, warning => \@warn);
91
92 check_messages() accepts the following named arguments:
93
94 critical => ARRAYREF
95 An arrayref of critical error messages - check_messages()
96 returns CRITICAL if this arrayref is non-empty. Mandatory.
97
98 warning => ARRAYREF
99 An arrayref of warning error messages - check_messages()
100 returns WARNING if this arrayref is non-empty ('critical' is
101 checked first). Mandatory.
102
103 ok => ARRAYREF | SCALAR
104 An arrayref of informational messages (or a single scalar
105 message), used in list context if both the 'critical' and
106 'warning' arrayrefs are empty. Optional.
107
108 join => SCALAR
109 A string used to join the relevant array to generate the
110 message string returned in list context i.e. if the 'critical'
111 array @crit is non-empty, check_messages would return:
112
113 join( $join, @crit )
114
115 as the result message. Optional; default: ' ' (space).
116
117 join_all => SCALAR
118 By default, only one set of messages are joined and returned in
119 the result message i.e. if the result is CRITICAL, only the
120 'critical' messages are included in the result; if WARNING,
121 only the 'warning' messages are included; if OK, the 'ok'
122 messages are included (if supplied) i.e. the default is to
123 return an 'errors-only' type message.
124
125 If join_all is supplied, however, it will be used as a string
126 to join the resultant critical, warning, and ok messages
127 together i.e. all messages are joined and returned.
128
129 get_shortname
130 Return the default shortname used for this plugin i.e. the first
131 token reported by plugin_exit/plugin_die. The default is basically
132
133 uc basename( $ENV{PLUGIN_NAME} || $ENV{NAGIOS_PLUGIN} || $0 )
134
135 with any leading 'CHECK_' and trailing file suffixes removed.
136
137 get_shortname is not exported by default, so must be explicitly
138 imported.
139
140 max_state(@a)
141 Returns the worst state in the array. Order is: CRITICAL, WARNING,
142 OK, UNKNOWN, DEPENDENT
143
144 The typical usage of max_state is to initialise the state as
145 UNKNOWN and use it on the result of various test. If no test were
146 performed successfully the state will still be UNKNOWN.
147
148 max_state_alt(@a)
149 Returns the worst state in the array. Order is: CRITICAL, WARNING,
150 UNKNOWN, DEPENDENT, OK
151
152 This is a true definition of a max state (OK last) and should be
153 used if the internal tests performed can return UNKNOWN.
154
156 Monitoring::Plugin; the nagios plugin developer guidelines at
157 https://www.monitoring-plugins.org/doc/guidelines.html.
158
160 This code is maintained by the Monitoring Plugin Development Team: see
161 https://monitoring-plugins.org
162
164 Copyright (C) 2014 by Monitoring Plugin Team Copyright (C)
165 2006-2014 by Nagios Plugin Development Team
166
167 This library is free software; you can redistribute it and/or modify it
168 under the same terms as Perl itself.
169
170
171
172perl v5.36.0 2023-01-20 Monitoring::Plugin::Functions(3)