SYNOPSIS

    # Constants OK, WARNING, CRITICAL, and UNKNOWN exported by default
    use Nagios::Plugin::Functions;

    # nagios_exit( CODE, $message ) - exit with error code CODE,
    # and message "PLUGIN CODE - $message"
    nagios_exit( CRITICAL, $critical_error ) if $critical_error;
    nagios_exit( WARNING, $warning_error )   if $warning_error;
    nagios_exit( OK, $result );

    # nagios_die( $message, [$CODE] ) - just like nagios_exit(),
    # but CODE is optional, defaulting to UNKNOWN
    do_something()
      or nagios_die("do_something() failed horribly");
    do_something_critical()
      or nagios_die("do_something_critical() failed", CRITICAL);

    # check_messages - check a set of message arrays, returning a
    # CODE and/or a result message
    $code = check_messages(critical => \@crit, warning => \@warn);
    ($code, $message) = check_messages(
      critical => \@crit, warning => \@warn,
      ok => \@ok );

    # get_shortname - return the default short name for this plugin
    #   (as used by nagios_exit/die; not exported by default)
    $shortname = get_shortname();

DESCRIPTION

This module is part of the Nagios::Plugin family, a set of modules for simplifying the creation of Nagios plugins. This module exports convenience functions for the class methods provided by Nagios::Plugin. It is intended for those who prefer a simpler functional interface, and who do not need the additional functionality of Nagios::Plugin.

\s-1EXPORTS\s0

Nagios status code constants are exported by default:

OK WARNING CRITICAL UNKNOWN DEPENDENT

as are the following functions:

nagios_exit nagios_die check_messages

The following variables and functions are exported only on request:

%ERRORS %STATUS_TEXT get_shortname max_state max_state_alt

\s-1FUNCTIONS\s0

The following functions are supported: Exit with return code \s-1CODE\s0, and a standard nagios message of the form \*(L"\s-1PLUGIN\s0 \s-1CODE\s0 - $message\*(R". Same as nagios_exit(), except that \s-1CODE\s0 is optional, defaulting to \s-1UNKNOWN\s0. \s-1NOTE:\s0 exceptions are not raised by default to calling code. Set $_use_die flag if this functionality is required (see test code).

check_messages( critical => \@crit, warning => \@warn )

Convenience function to check a set of message arrays and return an appropriate nagios return code and/or a result message. Returns only a return code in scalar context; returns a return code and an error message in list context i.e. # Scalar context $code = check_messages(critical => \@crit, warning => \@warn); # List context ($code, $msg) = check_messages(critical => \@crit, warning => \@warn); check_messages() accepts the following named arguments:

critical => \s-1ARRAYREF\s0

An arrayref of critical error messages - check_messages() returns \s-1CRITICAL\s0 if this arrayref is non-empty. Mandatory.

warning => \s-1ARRAYREF\s0

An arrayref of warning error messages - check_messages() returns \s-1WARNING\s0 if this arrayref is non-empty ('critical' is checked first). Mandatory.

ok => \s-1ARRAYREF\s0 | \s-1SCALAR\s0

An arrayref of informational messages (or a single scalar message), used in list context if both the 'critical' and 'warning' arrayrefs are empty. Optional.

join => \s-1SCALAR\s0

A string used to join the relevant array to generate the message string returned in list context i.e. if the 'critical' array @crit is non-empty, check_messages would return: join( $join, @crit ) as the result message. Optional; default: ' ' (space).

join_all => \s-1SCALAR\s0

By default, only one set of messages are joined and returned in the result message i.e. if the result is \s-1CRITICAL\s0, only the 'critical' messages are included in the result; if \s-1WARNING\s0, only the 'warning' messages are included; if \s-1OK\s0, the 'ok' messages are included (if supplied) i.e. the default is to return an 'errors-only' type message. If join_all is supplied, however, it will be used as a string to join the resultant critical, warning, and ok messages together i.e. all messages are joined and returned.

get_shortname

Return the default shortname used for this plugin i.e. the first token reported by nagios_exit/nagios_die. The default is basically uc basename( $ENV{NAGIOS_PLUGIN} || $0 ) with any leading '\s-1CHECK_\s0' and trailing file suffixes removed. get_shortname is not exported by default, so must be explicitly imported.

max_state(@a)

Returns the worst state in the array. Order is: \s-1CRITICAL\s0, \s-1WARNING\s0, \s-1OK\s0, \s-1UNKNOWN\s0, \s-1DEPENDENT\s0 The typical usage of max_state is to initialise the state as \s-1UNKNOWN\s0 and use it on the result of various test. If no test were performed successfully the state will still be \s-1UNKNOWN\s0.

max_state_alt(@a)

Returns the worst state in the array. Order is: \s-1CRITICAL\s0, \s-1WARNING\s0, \s-1UNKNOWN\s0, \s-1DEPENDENT\s0, \s-1OK\s0 This is a true definition of a max state (\s-1OK\s0 last) and should be used if the internal tests performed can return \s-1UNKNOWN\s0.

RELATED TO Nagios::Plugin::Functions…

Nagios::Plugin; the nagios plugin developer guidelines at http://nagiosplug.sourceforge.net/developer-guidelines.html.

AUTHORS

This code is maintained by the Nagios Plugin Development Team: http://nagiosplug.sourceforge.net

COPYRIGHT AND LICENSE

Copyright (C) 2006 by Nagios Plugin Development Team

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.