NAME

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

SYNOPSIS

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

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

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

DESCRIPTION

Nagios::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

  • Nagios::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/Monitoring/Plugins.ini
    /usr/local/nagios/etc/plugins.ini
    /usr/local/etc/nagios /etc/opt/Nagios/Monitoring/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, Nagios::Monitoring::Plugin

AUTHORS

This code is maintained by the Nagios Plugin Development Team: https://nagios-plugins.org/.

COPYRIGHT and LICENCE

Copyright (C) 2006-2015 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.