Score:0

Nagios - 'Error: Could not open config directory' but permissions are correct and selinux is permissive

us flag

Trying to setup a separate directory to store my nagios configuration files and when I attempt to validate the configuration I get the below error.

Error: Could not open config directory '/usr/local/nagios/etc/objects/corp/contacts.cfg' for reading.

I believe the permissions are correct and I have selinux in permissive mode.

[root@NAGSRV objects]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Nagios Core 4.4.6
Copyright (c) 2009-present Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 2020-04-28
License: GPL

Website: https://www.nagios.org
Reading configuration data...
   Read main config file okay...
Error: Could not open config directory '/usr/local/nagios/etc/objects/corp/contacts.cfg' for reading.
Error: Invalid max_check_attempts value for host 'localhost'
Error: Could not register host (config file '/usr/local/nagios/etc/objects/localhost.cfg', starting on line 21)
   Error processing object config files!


***> One or more problems was encountered while processing the config files...

     Check your configuration file(s) to ensure that they contain valid
     directives and data definitions.  If you are upgrading from a previous
     version of Nagios, you should be aware that some variables/definitions
     may have been removed or modified in this version.  Make sure to read
     the HTML documentation regarding the config files, as well as the
     'Whats New' section to find out what has changed.

Permissions:

[root@NAGSRV objects]# ls -ld *
-rwxr-xr-x. 1 nagios nagcmd  6747 Dec  7 21:06 commands.cfg
-rwxr-xr-x. 1 nagios nagcmd  1794 Dec  7 21:35 contacts.cfg
-rwxr-xr-x. 1 nagios nagcmd  4777 Dec  7 21:06 localhost.cfg
-rwxr-xr-x. 1 nagios nagcmd  3001 Dec  7 21:06 printer.cfg
drwxr-xr-x. 2 nagios nagcmd    99 Dec  9 10:43 corp
-rwxr-xr-x. 1 nagios nagcmd  3484 Dec  7 21:06 switch.cfg
-rwxr-xr-x. 1 nagios nagcmd 12533 Dec  7 21:06 templates.cfg
-rwxr-xr-x. 1 nagios nagcmd  3512 Dec  7 21:06 timeperiods.cfg
-rwxr-xr-x. 1 nagios nagcmd  7630 Dec  9 10:17 windows.cfg

[root@NAGSRV objects]# ls -ld ./corp/*
-rwxr-xr-x. 1 nagios nagcmd  1245 Dec  9 10:43 ./corp/contacts.cfg
-rwxr-xr-x. 1 nagios nagcmd  1124 Dec  9 10:39 ./corp/hostgroups.cfg
-rwxr-xr-x. 1 nagios nagcmd  3809 Dec  9 10:45 ./corp/hosts.cfg
-rwxr-xr-x. 1 nagios nagcmd 10967 Dec  9 10:41 ./corp/hosts-service-template.cfg

Groups:

[root@NAGSRV objects]# cat /etc/group | grep nag
nagios:x:1000:
nagcmd:x:1001:apache,nagios

Selinux:

[root@NAGSRV objects]# getenforce
Permissive

nagios.cfg:

# NAGIOS USER
# This determines the effective user that Nagios should run as.
# You can either supply a username or a UID.

nagios_user=nagios



# NAGIOS GROUP
# This determines the effective group that Nagios should run as.
# You can either supply a group name or a GID.

nagios_group=nagcmd

If I edit the nagios.cfg and remove my directory from the cfg_dir= I am able to validate.

in flag
The error message sounds like you provided the path to a file to an option that expects a directory.
us flag
Wow, I didn't even check that. I was using cfg_dir= instead of cfg_file=. I will test this now. Thanks!
us flag
That was the issue. Now to continue on with my other configurations. Thanks again.
Score:1
in flag

cfg_dir= expects a directory, but you provided the path to a configuration file instead.

Either use

cfg_file=/usr/local/nagios/etc/objects/corp/contacts.cfg

Or

cfg_dir=/usr/local/nagios/etc/objects/corp/
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.