I really think a
Quickstart session in which Nagios XI can be demonstrated would be a good idea if you're set on using Nagios Core/XI to monitor your infrastructure. The configuration wizards in Nagios XI, by themselves, take out a lot of the "how do I structure X" in terms of setup.
You seem to have a lot of questions of "where to put stuff". Nagios XI does practically all of that for you automatically.
I always tell people to think of Nagios Core as a framework and Nagios XI as a really sophisticated, more accessible implementation of that framework.
The main thing that Nagios Core has a concept of is configuration objects. Those are defined in plain-text like so:
Code: Select all
define [object] {
[param_1] [setting_1]
[param_2] [setting_2]
.....
[param_n] [setting_n]
}
Where you put those plain-text definitions is irrelevant. You could put
literally every single
object definition (command, host, service, contact, whatever) into one single
.cfg file. This would be a
nightmare to manage with 10,000+ objects, but you could do it and Nagios Core would not care one way or another.
That
.cfg file could be named anything.
Literally anything. It could be named
0294163121743a111260f6d75cadc4b5.cfg. This would be a
nightmare to identify by hand (it's all just jargon!), but you could do it and
as long as your main nagios.cfg file contains one of the following lines:
Code: Select all
cfg_file=/some/path/to/some/place/0294163121743a111260f6d75cadc4b5.cfg
# or #
cfg_dir=/some/path/to/some/place
Nagios Core would not care one way or another. It just needs to know "this is a file that contains
object definitions. please load it."
So maybe I have 100 different Windows hosts I need to monitor. One way I could structure that would be to lump every single Windows host into the following configuration file:
Code: Select all
/some/path/to/some/place/windows.cfg
Or maybe I want to break it down by Windows versions:
Code: Select all
/some/path/to/some/place/windows_server_2008.cfg
/some/path/to/some/place/windows_server_2012.cfg
/some/path/to/some/place/windows_server_2016.cfg
/some/path/to/some/place/windows_7.cfg
/some/path/to/some/place/windows_8.cfg
And maybe I want separate
command files for my Windows-based
commands and my Linux-based
commands:
Code: Select all
/some/path/to/some/place/windows_commands.cfg
/some/path/to/some/place/linux_commands.cfg
Or maybe I don't care about separating my
hosts from my
commands from my
services from my
contacts. Maybe I want everything I have defined in Nagios Core to exist in one single file:
Code: Select all
/some/path/to/some/place/all_my_stuff.cfg
Or maybe I want to
really confuse the new guy on my team and put all the Windows
hosts in a file named macintosh.cfg:
Code: Select all
/some/path/to/some/place/macintosh.cfg
Nagios Core does not care one way or another. It is happy to let you shoot yourself in the foot if that's what you want to do
So all of that information regarding managing configuration files I just wrote? You don't
need to have any concept of it if you're using Nagios XI. Just use configuration wizards for everything. Nagios XI will handle putting the files where they need to be. Don't know where you've defined some service on some host? Search for it. Boom.