Usually a file permissions/group membership issue; and/or a hostname matching issue.
Observium config should pretty much should just be something like,
# grep -i rancid config.php
// RANCID integration
$config['rancid_version'] = 3;
$config['rancid_configs'] = array('/var/rancid/bigip/configs/', '/var/rancid/firewall/configs/', '/var/rancid/router/configs/', '/var/rancid/switch/configs/', '/var/rancid/observium/configs',;
$config['rancid_suffix'] = '';
$config['rancid_ignorecomments'] = 0;
$config['rancid']['os_map']['panos'] = 'paloalto';
#
Make sure your device hostnames in Observium match up with filenames like /var/rancid/group/configs/hostname so that Observium can find the appropriate file - this is where $config[‘rancid_suffix’] comes in to play, e.g. if your device hostnames are not full domain names, but your rancid hostnames are full domain names, set rancid_suffix as appropriate.
Make sure your web server user is a member of the “rancid” group.
SELinux context for /var/rancid/group/* should be,
# ls -lZ /var/rancid/router
drwxr-x---. rancid rancid system_u:object_r:var_t:s0 configs
-rw-r-----. rancid rancid system_u:object_r:var_t:s0 router.db
-rw-r-----. rancid rancid system_u:object_r:var_t:s0 routers.all
-rw-r-----. rancid rancid system_u:object_r:var_t:s0 routers.down
-rw-r-----. rancid rancid system_u:object_r:var_t:s0 routers.up
-rw-r-----. rancid rancid system_u:object_r:var_t:s0 runcount
#
I don’t believe any SELinux booleans need to be set to read files under that context.
-Colin