diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/Nagios/Plugin.pm | 11 | ||||
| -rw-r--r-- | lib/Nagios/Plugin/Functions.pm | 26 |
2 files changed, 35 insertions, 2 deletions
diff --git a/lib/Nagios/Plugin.pm b/lib/Nagios/Plugin.pm index 06f313d..5f9a905 100644 --- a/lib/Nagios/Plugin.pm +++ b/lib/Nagios/Plugin.pm | |||
| @@ -99,6 +99,12 @@ sub die { | |||
| 99 | my $self = shift; | 99 | my $self = shift; |
| 100 | Nagios::Plugin::Functions::nagios_die(@_, { plugin => $self }); | 100 | Nagios::Plugin::Functions::nagios_die(@_, { plugin => $self }); |
| 101 | } | 101 | } |
| 102 | sub max_state { | ||
| 103 | Nagios::Plugin::Functions::max_state(@_); | ||
| 104 | } | ||
| 105 | sub max_state_alt { | ||
| 106 | Nagios::Plugin::Functions::max_state_alt(@_); | ||
| 107 | } | ||
| 102 | 108 | ||
| 103 | # Override default shortname accessor to add default | 109 | # Override default shortname accessor to add default |
| 104 | sub shortname { | 110 | sub shortname { |
| @@ -483,6 +489,11 @@ Set C<$_use_die> flag if this functionality is required (see test code). | |||
| 483 | 489 | ||
| 484 | Alias for nagios_die(). Deprecated. | 490 | Alias for nagios_die(). Deprecated. |
| 485 | 491 | ||
| 492 | =item max_state, max_state_alt | ||
| 493 | |||
| 494 | These are wrapper function for Nagios::Plugin::Functions::max_state and | ||
| 495 | Nagios::Plugin::Functions::max_state_alt. | ||
| 496 | |||
| 486 | =back | 497 | =back |
| 487 | 498 | ||
| 488 | =head2 THRESHOLD METHODS | 499 | =head2 THRESHOLD METHODS |
diff --git a/lib/Nagios/Plugin/Functions.pm b/lib/Nagios/Plugin/Functions.pm index a37cdaf..b44157c 100644 --- a/lib/Nagios/Plugin/Functions.pm +++ b/lib/Nagios/Plugin/Functions.pm | |||
| @@ -19,11 +19,11 @@ our @STATUS_CODES = qw(OK WARNING CRITICAL UNKNOWN DEPENDENT); | |||
| 19 | require Exporter; | 19 | require Exporter; |
| 20 | our @ISA = qw(Exporter); | 20 | our @ISA = qw(Exporter); |
| 21 | our @EXPORT = (@STATUS_CODES, qw(nagios_exit nagios_die check_messages)); | 21 | our @EXPORT = (@STATUS_CODES, qw(nagios_exit nagios_die check_messages)); |
| 22 | our @EXPORT_OK = qw(%ERRORS %STATUS_TEXT @STATUS_CODES get_shortname max_state convert $value_re); | 22 | our @EXPORT_OK = qw(%ERRORS %STATUS_TEXT @STATUS_CODES get_shortname max_state max_state_alt convert $value_re); |
| 23 | our %EXPORT_TAGS = ( | 23 | our %EXPORT_TAGS = ( |
| 24 | all => [ @EXPORT, @EXPORT_OK ], | 24 | all => [ @EXPORT, @EXPORT_OK ], |
| 25 | codes => [ @STATUS_CODES ], | 25 | codes => [ @STATUS_CODES ], |
| 26 | functions => [ qw(nagios_exit nagios_die check_messages max_state convert) ], | 26 | functions => [ qw(nagios_exit nagios_die check_messages max_state max_state_alt convert) ], |
| 27 | ); | 27 | ); |
| 28 | 28 | ||
| 29 | use constant OK => 0; | 29 | use constant OK => 0; |
| @@ -73,6 +73,15 @@ sub max_state { | |||
| 73 | return UNKNOWN; | 73 | return UNKNOWN; |
| 74 | } | 74 | } |
| 75 | 75 | ||
| 76 | sub max_state_alt { | ||
| 77 | return CRITICAL if grep { $_ == CRITICAL } @_; | ||
| 78 | return WARNING if grep { $_ == WARNING } @_; | ||
| 79 | return UNKNOWN if grep { $_ == UNKNOWN } @_; | ||
| 80 | return DEPENDENT if grep { $_ == DEPENDENT } @_; | ||
| 81 | return OK if grep { $_ == OK } @_; | ||
| 82 | return UNKNOWN; | ||
| 83 | } | ||
| 84 | |||
| 76 | # nagios_exit( $code, $message ) | 85 | # nagios_exit( $code, $message ) |
| 77 | sub nagios_exit { | 86 | sub nagios_exit { |
| 78 | my ($code, $message, $arg) = @_; | 87 | my ($code, $message, $arg) = @_; |
| @@ -303,6 +312,7 @@ The following variables and functions are exported only on request: | |||
| 303 | %STATUS_TEXT | 312 | %STATUS_TEXT |
| 304 | get_shortname | 313 | get_shortname |
| 305 | max_state | 314 | max_state |
| 315 | max_state_alt | ||
| 306 | 316 | ||
| 307 | 317 | ||
| 308 | =head2 FUNCTIONS | 318 | =head2 FUNCTIONS |
| @@ -395,6 +405,18 @@ imported. | |||
| 395 | Returns the worst state in the array. Order is: CRITICAL, WARNING, OK, UNKNOWN, | 405 | Returns the worst state in the array. Order is: CRITICAL, WARNING, OK, UNKNOWN, |
| 396 | DEPENDENT | 406 | DEPENDENT |
| 397 | 407 | ||
| 408 | The typical usage of max_state is to initialise the state as UNKNOWN and use | ||
| 409 | it on the result of various test. If no test were performed successfully the | ||
| 410 | state will still be UNKNOWN. | ||
| 411 | |||
| 412 | =item max_state_alt(@a) | ||
| 413 | |||
| 414 | Returns the worst state in the array. Order is: CRITICAL, WARNING, UNKNOWN, | ||
| 415 | DEPENDENT, OK | ||
| 416 | |||
| 417 | This is a true definition of a max state (OK last) and should be used if the | ||
| 418 | internal tests performed can return UNKNOWN. | ||
| 419 | |||
| 398 | =back | 420 | =back |
| 399 | 421 | ||
| 400 | =head1 SEE ALSO | 422 | =head1 SEE ALSO |
