In this recipe, you'll learn the most basic step in debugging a Nagios Core configuration, which is to verify it. This is a very useful step to take before restarting the Nagios Core server to load an altered configuration because it will warn us about possible problems. This is a good recipe to follow if you're not able to start the Nagios Core server at any point because of configuration problems and instead get output like this:
# /etc/init.d/nagios reload Running configuration check... CONFIG ERROR! Check your Nagios configuration.
We can verify the Nagios Core configuration as follows:
Run the following command, substituting the path to the
nagiosbinary and our primary
nagios.cfgconfiguration file if necessary:
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
If the output is very long, it might be a good idea to pipe it through a pager program, such as
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg | less
If there's a problem of some sort, we might instead see lines like the following, which is just an example of a possible error; here, my configuration is wrong because I neglected to add a
contact_namedirective for a new contact:
The configuration is parsed as though Nagios Core were about to start up, to check that the configuration all makes sense. It will run basic checks, such as looking for syntax errors, and will also check things such as having at least one host and service to monitor. Some of the things it reports are warnings, meaning that they're not necessarily problems, such as hosts not having any services monitored or not reporting to any contacts.
This is the quickest way to get an idea of whether the Nagios Core configuration is sane and will work correctly and whenever, there's trouble restarting the Nagios Core server, it's a good idea to check the output of this command.
The program at
/usr/local/nagios/bin/nagios is actually the same program that runs the Nagios Core server, but the
-v part of the command is a switch for the program that, instead of starting the server, verifies the configuration and shows any problems with it. The second path is to the configuration file with which Nagios Core starts, which in turn imports configuration files for objects such as the contact, host, and service definitions.
The Writing debugging information to the Nagios Core log file recipe, Chapter 10, Security and Performance