From: root [root@ahk] Sent: Thursday, October 17, 2002 8:34 AM To: Kaplan, Andrew H. ################################################################# # # CGI.CFG - Sample CGI Configuration File for Nagios 1.0b5 # # Last Modified: 05-30-2002 # ################################################################# # 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=/usr/local/nagios/etc/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/local/nagios/share # 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 # http://www.myhost.com/nagios, this value should be '/nagios' # (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: If you are using the check_nagios plugin here, the first # argument should be the physical path to the status log, the # second argument is the number of minutes that the status log # contents should be "fresher" than, and the third argument is the # string that should be matched from the output of the 'ps' # command in order to locate the running Nagios process. That # process string is going to vary depending on how you start # Nagios. Run the 'ps' command manually to see what the command # line entry for the Nagios process looks like. nagios_check_command=/usr/local/nagios/libexec/check_nagios /usr/local/nagios/var/status.log 5 '/usr/local/nagios/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=nagiosadmin,ahk # 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,ahk,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=nagiosadmin,ahk # 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,ahk,guest,dag26,gtm0 authorized_for_all_hosts=nagiosadmin,ahk,guest,dag26,gtm0 # 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,ahk authorized_for_all_host_commands=nagiosadmin,ahk # EXTENDED HOST INFORMATION # This is all entirely optional. If you don't enter any extended # information, nothing bad will happen - I promise... Its basically # just used to have pretty icons and such associated with your hosts. # This is especially nice when you're using the statusmap and # statuswrl CGIs. You can also specify an URL that links to a document # containing more information about the host (location details, contact # information, etc). # # hostextinfo[]=;;;;\ # ;,;,,; # # = Optional URL that points to a document of # some type containing information on the host. # The information (and the document type) can # be anything you want. Examples include details # on the physical location of the server, info # on how to contact the admins in case of an # emergency, etc. Relative URLs start in the # same path that is used to access the CGIs. # The link that is created for the host's notes # notes is found in the extinfo CGI. # Note: You may use the $HOSTNAME$ and # $HOSTADDRESS$ macros in this URL. # = A GIF, PNG, or JPG image to associate with # the host. This is used in the status and # extinfo CGIs. # = An image to use in the statuswrl CGI in the # VRML generation. Transparent images don't # work so great.. # = A GD2 format image used by the statusmap CGI # to represent the host. PNG images can be # converted to GD2 format by using the 'pngtogd2' # utility supplied with Boutell's gd library. # = ALT tag used with PNG, GIF, and GD2 images # in the status, statusmap, and extinfo CGIs # , = X and Y coordinates used when drawing the # host in the statusmap CGI. (0,0) is located # in the upper left corner of the screen and is # considered to be the origin. The coordinates # you supply here are used as the coords of the # upper left hand corner of host icon. Both # numbers should be positive integers. # ,, = X, Y, and Z coordinates used when drawing # the host in the statuswrl (VRML) CGI. All # numbers can be positive or negative (anywhere # in 3-D space). The coordinates are used to # determine the center of the host "cube" that # is drawn. Host "cubes" are drawn with a # height, width, and depth of 0.5 (meters). # # Note: All images must be placed in the /logos subdirectory under # the HTML images path (i.e. /usr/local/nagios/share/images/logos/). # This path is automatically determined by appending "/images/logos" # to the path specified by the 'physical_html_path' directive. hostextinfo[es-eds]=/serverinfo/es-eds.html;novell40.gif;novell40.jpg;novell40.gd2;IntranetWare 4.11;100,50;3.5,0.0,-1.5; hostextinfo[rosie]=/serverinfo/rosie.html;win40.gif;win40.jpg;win40.gd2;NT Server 4.0;;; xedtemplate_config_file=/usr/local/nagios/etc/hostextinfo.cfg xedtemplate_config_file=/usr/local/nagios/etc/serviceextinfo.cfg # EXTENDED SERVICE INFORMATION # This is all entirely optional. If you don't enter any extended # information, nothing bad will happen - I promise... Its basically # just used to have pretty icons and such associated with your services. # You can also specify an URL that links to a document containing more # information about the service (location details, contact information, # etc). # # serviceextinfo[;]=;; # # = Optional URL that points to a document of # some type containing information on the service. # The information (and the document type) can # be anything you want. Examples include details # on the physical location of the server, info # on how to contact the admins in case of an # emergency, etc. Relative URLs start in the # same path that is used to access the CGIs. # The link that is created for the service's # notes URL is found in the extinfo CGI. # Note: You may use the $HOSTNAME$, $HOSTADDRESS$, # and $SERVICEDESC$ macros in this URL. # = A GIF, PNG, or JPG image to associate with # the service. This is used in the status and # extinfo CGIs. # = ALT tag used with image # # Note: All images must be placed in the /logos subdirectory under # the HTML images path (i.e. /usr/local/nagios/share/images/logos/). # This path is automatically determined by appending "/images/logos" # to the path specified by the 'physical_html_path' directive. serviceextinfo[es-eds;PING]=http://www.somewhere.com?tracerouteto=$HOSTADDRESS$;;PING rate serviceextinfo[rosie;Security Alerts]=;security.gif;Security alerts # 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 must be in GD2 format! #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=2 # 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. 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. # # # = # # 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 # DG EXTENDED DATA # Note: These config directives are only used if you compiled # in database support for extended data! # The user you specify here only needs SELECT privileges on the # 'hostextinfo' table in the database. #xeddb_host=somehost #xeddb_port=someport #xeddb_database=somedatabase #xeddb_username=someuser #xeddb_password=somepassword # DB STATUS DATA (Read-Only For CGIs) # Note: These config directives are only used if you compiled # in database support for status data! # The user you specify here only needs SELECT privileges on the # 'programstatus', 'hoststatus', and 'servicestatus' tables # in the database, as these values are only used by the CGIs. # The core program will read the directives you specify in # in a resource file. #xsddb_host=somehost #xsddb_port=someport #xsddb_database=somedatabase #xsddb_username=someuser #xsddb_password=somepassword # DB COMMENT DATA (Read-Only For CGIs) # Note: These config directives are only used if you compiled # in database support for comment data! # The user you specify here only needs SELECT privileges on the # 'hostcomments', and 'servicecomments' tables in the database, # as these values are only used by the CGIs. The core program # will read the directives you specify in a resource file. #xcddb_host=somehost #xcddb_port=someport #xcddb_database=somedatabase #xcddb_username=someuser #xcddb_password=somepassword # DB DOWNTIME DATA (Read-Only For CGIs) # Note: These config directives are only used if you compiled # in database support for downtime data! # The user you specify here only needs SELECT privileges on the # 'hostdowntime', and 'servicedowntime' tables in the database, # as these values are only used by the CGIs. The core program # will read the directives you specify in a resource file. #xdddb_host=somehost #xdddb_port=someport #xdddb_database=somedatabase #xdddb_username=someuser #xdddb_password=somepassword