13.3. Organizing Nagios' Configuration Files Sanely
Problem
You're looking at the sample configuration files in /usr/local/nagios/etc and studying the documentation, and you realize that you're going to be managing a whole lot of interdependent files. How are you going to keep track of everything?
Solution
A simple hack to keep your sanity is to use a single directory
to store all configuration files—with three exceptions, which we'll
get to in a moment—and then use the cfg_dir option in
nagios.cfg instead of the cfg_file option to include them. cfg_dir means "use all the files in this
directory," so you can easily control which files Nagios uses by
simply adding or removing them. This is easier than keeping track of a
herd of individual cfg_file
options.
This is what the default /usr/local/nagios/etc directory looks like after following the previous recipes:
$ cd /usr/local/nagios/
$ tree etc
etc
|-- cgi.cfg-sample
|-- commands.cfg-sample
|-- htpasswd.users
|-- localhost.cfg-sample
|-- nagios.cfg-sample
`-- resource.cfg-sample
|-- bigger.cfg-sample
|-- cgi.cfg-sample
|-- commands.cfg-sample
|-- minimal.cfg-sample
|-- misccommands.cfg-sample
|-- nagios.cfg-sample
`-- resource.cfg-sampleI like to organize them like this:
$ tree --dirsfirst etc etc |-- lan_objects | |-- commands.cfg | |-- contacts.cfg | |-- hosts.cfg | |-- commands.cfg | |-- services.cfg | `-- timeperiods.cfg |-- sample |-- |cgi.cfg-sample | |-- commands.cfg-sample | |-- localhost.cfg-sample | |-- nagios.cfg-sample | ...Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access