Hi, I am new to this and I am having trouble getting nagios started.
I have it installed and it appears to be running (tells me the pid and such) but when I go to any one of the cgi’s on the web interface it says this:
Error: Could not open main config file '/etc/nagios/nagios.cfg' for reading!
Here are some things you should check in order to resolve this error:
- Make sure you’ve installed a main config file in its proper location. See the error message about for details on where the CGI is expecting to find the configuration file. A sample main configuration file (named nagios.cfg) can be found in the sample-config/ subdirectory of the Nagios source code distribution.
- Make sure the user your web server is running as has permission to read the main config file.
The file is there and I think the webserver has permission to read it(How can I verify this?) Can someone help start this
Ok, I am pretty sure it is an apache problem (possibly with selinu:evil:
Edit:
ok I cannot figure this out here is my cgi.cfg file:
#################################################################
#
# CGI.CFG - Sample CGI Configuration File for Nagios
#
# Last Modified: 10-08-2003
#
#################################################################
MAIN CONFIGURATION FILE
This tells the CGIs where to find your main configuration file.
The CGIs will read the main and host config files for any other
data they might need.
main_config_file=/etc/nagios/nagios.cfg
PHYSICAL HTML PATH
This is the path where the HTML files for Nagios reside. This
value is used to locate the logo images needed by the statusmap
and statuswrl CGIs.
physical_html_path=/usr/share/nagios
URL HTML PATH
This is the path portion of the URL that corresponds to the
physical location of the Nagios HTML files (as defined above).
This value is used by the CGIs to locate the online documentation
and graphics. If you access the Nagios pages with an URL like
(without the quotes).
url_html_path=/nagios
CONTEXT-SENSITIVE HELP
This option determines whether or not a context-sensitive
help icon will be displayed for most of the CGIs.
Values: 0 = disables context-sensitive help
1 = enables context-sensitive help
show_context_help=0
NAGIOS PROCESS CHECK COMMAND
This is the full path and filename of the program used to check
the status of the Nagios process. It is used only by the CGIs
and is completely optional. However, if you don’t use it, you’ll
see warning messages in the CGIs about the Nagios process
not running and you won’t be able to execute any commands from
the web interface. The program should follow the same rules
as plugins; the return codes are the same as for the plugins,
it should have timeout protection, it should output something
to STDIO, etc.
Note: The command line for the check_nagios plugin below may
have to be tweaked a bit, as different versions of the plugin
use different command line arguments/syntaxes.
#nagios_check_command=/usr/lib/nagios/plugins/check_nagios /var/log/nagios/status.log 5 ‘/usr/bin/nagios’
AUTHENTICATION USAGE
This option controls whether or not the CGIs will use any
authentication when displaying host and service information, as
well as committing commands to Nagios for processing.
Read the HTML documentation to learn how the authorization works!
NOTE: It is a really bad idea to disable authorization, unless
you plan on removing the command CGI (cmd.cgi)! Failure to do
so will leave you wide open to kiddies messing with Nagios and
possibly hitting you with a denial of service attack by filling up
your drive by continuously writing to your command file!
Setting this value to 0 will cause the CGIs to not use
authentication (bad idea), while any other value will make them
use the authentication functions (the default).
use_authentication=1
DEFAULT USER
Setting this variable will define a default user name that can
access pages without authentication. This allows people within a
secure domain (i.e., behind a firewall) to see the current status
without authenticating. You may want to use this to avoid basic
authentication if you are not using a sercure server since basic
authentication transmits passwords in the clear.
Important: Do not define a default username unless you are
running a secure web server and are sure that everyone who has
access to the CGIs has been authenticated in some manner! If you
define this variable, anyone who has not authenticated to the web
server will inherit all rights you assign to this user!
#default_user_name=guest
SYSTEM/PROCESS INFORMATION ACCESS
This option is a comma-delimited list of all usernames that
have access to viewing the Nagios process information as
provided by the Extended Information CGI (extinfo.cgi). By
default, no one has access to this unless you choose to
not use authorization. You may use an asterisk (*) to
authorize any user who has authenticated to the web server.
authorized_for_system_information=*
CONFIGURATION INFORMATION ACCESS
This option is a comma-delimited list of all usernames that
can view ALL configuration information (hosts, commands, etc).
By default, users can only view configuration information
for the hosts and services they are contacts for. You may use
an asterisk (*) to authorize any user who has authenticated
to the web server.
#authorized_for_configuration_information=nagiosadmin,jdoe
SYSTEM/PROCESS COMMAND ACCESS
This option is a comma-delimited list of all usernames that
can issue shutdown and restart commands to Nagios via the
command CGI (cmd.cgi). Users in this list can also change
the program mode to active or standby. By default, no one
has access to this unless you choose to not use authorization.
You may use an asterisk (*) to authorize any user who has
authenticated to the web server.
authorized_for_system_commands=*
GLOBAL HOST/SERVICE VIEW ACCESS
These two options are comma-delimited lists of all usernames that
can view information for all hosts and services that are being
monitored. By default, users can only view information
for hosts or services that they are contacts for (unless you
you choose to not use authorization). You may use an asterisk (*)
to authorize any user who has authenticated to the web server.
#authorized_for_all_services=nagiosadmin,guest
#authorized_for_all_hosts=*
GLOBAL HOST/SERVICE COMMAND ACCESS
These two options are comma-delimited lists of all usernames that
can issue host or service related commands via the command
CGI (cmd.cgi) for all hosts and services that are being monitored.
By default, users can only issue commands for hosts or services
that they are contacts for (unless you you choose to not use
authorization). You may use an asterisk (*) to authorize any
user who has authenticated to the web server.
#authorized_for_all_service_commands=nagiosadmin
#authorized_for_all_host_commands=nagiosadmin
STATUSMAP BACKGROUND IMAGE
This option allows you to specify an image to be used as a
background in the statusmap CGI. It is assumed that the image
resides in the HTML images path (i.e. /usr/local/nagios/share/images).
This path is automatically determined by appending “/images”
to the path specified by the ‘physical_html_path’ directive.
Note: The image file may be in GIF, PNG, JPEG, or GD2 format.
However, I recommend that you convert your image to GD2 format
(uncompressed), as this will cause less CPU load when the CGI
generates the image.
#statusmap_background_image=smbackground.gd2
DEFAULT STATUSMAP LAYOUT METHOD
This option allows you to specify the default layout method
the statusmap CGI should use for drawing hosts. If you do
not use this option, the default is to use user-defined
coordinates. Valid options are as follows:
0 = User-defined coordinates
1 = Depth layers
2 = Collapsed tree
3 = Balanced tree
4 = Circular
5 = Circular (Marked Up)
default_statusmap_layout=5
DEFAULT STATUSWRL LAYOUT METHOD
This option allows you to specify the default layout method
the statuswrl (VRML) CGI should use for drawing hosts. If you
do not use this option, the default is to use user-defined
coordinates. Valid options are as follows:
0 = User-defined coordinates
2 = Collapsed tree
3 = Balanced tree
4 = Circular
default_statuswrl_layout=4
STATUSWRL INCLUDE
This option allows you to include your own objects in the
generated VRML world. It is assumed that the file
resides in the HTML path (i.e. /usr/local/nagios/share).
#statuswrl_include=myworld.wrl
PING SYNTAX
This option determines what syntax should be used when
attempting to ping a host from the WAP interface (using
the statuswml CGI. You must include the full path to
the ping binary, along with all required options. The
$HOSTADDRESS$ macro is substituted with the address of
the host before the command is executed.
Please note that the syntax for the ping binary is
notorious for being different on virtually ever *NIX
OS and distribution, so you may have to tweak this to
work on your system.
ping_syntax=/bin/ping -n -U -c 5 $HOSTADDRESS$
REFRESH RATE
This option allows you to specify the refresh rate in seconds
of various CGIs (status, statusmap, extinfo, and outages).
refresh_rate=90
SOUND OPTIONS
These options allow you to specify an optional audio file
that should be played in your browser window when there are
problems on the network. The audio files are used only in
the status CGI. Only the sound for the most critical problem
will be played. Order of importance (higher to lower) is as
follows: unreachable hosts, down hosts, critical services,
warning services, and unknown services. If there are no
visible problems, the sound file optionally specified by
‘normal_sound’ variable will be played.
=<sound_file>
Note: All audio files must be placed in the /media subdirectory
under the HTML path (i.e. /usr/local/nagios/share/media/).
#host_unreachable_sound=hostdown.wav
#host_down_sound=hostdown.wav
#service_critical_sound=critical.wav
#service_warning_sound=warning.wav
#service_unknown_sound=warning.wav
#normal_sound=noproblem.wav
Edited Mon May 16 2005, 08:18AM ]
Solution(fedora core 3 with selinu:evil: for anyone else who has this problem:
[root@localhost /etc/nagios]$ls --lcontext nagios.cfg
-rwxrwxrwx 1 user_u:object_r:user_home_t bill bill 30610 May 16 08:47 nagios.cfg
[root@localhost /etc/nagios]$chown root:root nagios.cfg
[root@localhost /etc/nagios]$chcon -R system_u:object_r:etc_t nagios.cfg
[root@localhost /etc/nagios]$ls --lcontext nagios.cfg
-rwxrwxrwx 1 system_u:object_r:etc_t root root 30610 May 16 08:47 nagios.cfg