Monitoring::Plugin::Config - read nagios plugin .ini style config files
# 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};
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.
Config::Tiny, Monitoring::Plugin
This code is maintained by the Monitoring Plugin Development Team: see
https://monitoring-plugins.org
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.