NAME

Monitoring::Plugin::Config - read nagios plugin .ini style config files

SYNOPSIS

# Read given nagios plugin config file
$Config = Monitoring::Plugin::Config->read( '/etc/nagios/plugins.ini' );

# Search for and read default nagios plugin config file
$Config = Monitoring::Plugin::Config->read();

# Access sections and properties (returns scalars or arrayrefs)
$rootproperty =  $Config->{_}->{rootproperty};
$one = $Config->{section}->{one};
$Foo = $Config->{section}->{Foo};

DESCRIPTION

Monitoring::Plugin::Config is a subclass of the excellent Config::Tiny, with the following changes:

  • Repeated keys are allowed within sections, returning lists instead of scalars

  • Write functionality has been removed i.e. access is read only

  • Monitoring::Plugin::Config searches for a default nagios plugins file if no explicit filename is given to read(). The current standard locations checked are:

    /etc/nagios/plugins.ini
    /usr/local/nagios/etc/plugins.ini
    /usr/local/etc/nagios /etc/opt/nagios/plugins.ini
    /etc/nagios-plugins.ini
    /usr/local/etc/nagios-plugins.ini
    /etc/opt/nagios-plugins.ini

    To use a custom location, set a NAGIOS_CONFIG_PATH environment variable to the set of directories that should be checked. The first plugins.ini or nagios-plugins.ini file found will be used.

SEE ALSO

Config::Tiny, Monitoring::Plugin

AUTHOR

This code is maintained by the Monitoring Plugin Development Team: see https://monitoring-plugins.org

COPYRIGHT AND LICENSE

Copyright (C) 2014 by Monitoring Plugin Team Copyright (C) 2006-2014 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.