##############################################################################
#
-# NAGIOS.CFG - Sample Main Config File for Nagios 3.5.1
+# NAGIOS.CFG - Sample Main Config File for Nagios 4.0.8
#
# Read the documentation for more information on this configuration
# file. I've provided some comments here, but things may not be so
# clear without further explanation.
#
-# Last Modified: 12-14-2008
#
##############################################################################
-# EXTERNAL COMMAND CHECK INTERVAL
-# This is the interval at which Nagios should check for external commands.
-# This value works of the interval_length you specify later. If you leave
-# that at its default value of 60 (seconds), a value of 1 here will cause
-# Nagios to check for external commands every minute. If you specify a
-# number followed by an "s" (i.e. 15s), this will be interpreted to mean
-# actual seconds rather than a multiple of the interval_length variable.
-# Note: In addition to reading the external command file at regularly
-# scheduled intervals, Nagios will also check for external commands after
-# event handlers are executed.
-# NOTE: Setting this value to -1 causes Nagios to check the external
-# command file as often as possible.
-
-#command_check_interval=15s
-command_check_interval=-1
-
-
-
# EXTERNAL COMMAND FILE
# This is the file that Nagios checks for external command requests.
# It is also where the command CGI will write commands that are submitted
-# EXTERNAL COMMAND BUFFER SLOTS
-# This settings is used to tweak the number of items or "slots" that
-# the Nagios daemon should allocate to the buffer that holds incoming
-# external commands before they are processed. As external commands
-# are processed by the daemon, they are removed from the buffer.
+# QUERY HANDLER INTERFACE
+# This is the socket that is created for the Query Handler interface
-external_command_buffer_slots=4096
+#query_socket=/var/nagios/rw/nagios.qh
+# CURRENT STATES LOGGING OPTION
+# If you don't want Nagios to log all current host and service states
+# after log has been rotated to the main log file, you can disable this
+# option by setting this value to 0. Default value is 1.
+
+log_current_states=1
+
+
+
# EXTERNAL COMMANDS LOGGING OPTION
# If you don't want Nagios to log external commands, set this value
# to 0. If external commands should be logged, set this value to 1.
-# SLEEP TIME
-# This is the number of seconds to sleep between checking for system
-# events and service checks that need to be run.
-
-sleep_time=0.25
-
-
-
# TIMEOUT VALUES
# These options control how much time Nagios will allow various
# types of commands to execute before killing them off. Options
# Performance data is only written to these files if the
# enable_performance_data option (above) is set to 1.
-#host_perfdata_file=/tmp/host-perfdata
-#service_perfdata_file=/tmp/service-perfdata
+#host_perfdata_file=/var/nagios/host-perfdata
+#service_perfdata_file=/var/nagios/service-perfdata
# HOST AND SERVICE PERFORMANCE DATA PROCESS EMPTY RESULTS
-# THese options determine wether the core will process empty perfdata
+# These options determine wether the core will process empty perfdata
# results or not. This is needed for distributed monitoring, and intentionally
# turned on by default.
# If you don't require empty perfdata - saving some cpu cycles
-
-# P1.PL FILE LOCATION
-# This value determines where the p1.pl perl script (used by the
-# embedded Perl interpreter) is located. If you didn't compile
-# Nagios with embedded Perl support, this option has no effect.
-
-p1_file=/usr/sbin/p1.pl
-
-
-
-# EMBEDDED PERL INTERPRETER OPTION
-# This option determines whether or not the embedded Perl interpreter
-# will be enabled during runtime. This option has no effect if Nagios
-# has not been compiled with support for embedded Perl.
-# Values: 0 = disable interpreter, 1 = enable interpreter
-
-enable_embedded_perl=1
-
-
-
-# EMBEDDED PERL USAGE OPTION
-# This option determines whether or not Nagios will process Perl plugins
-# and scripts with the embedded Perl interpreter if the plugins/scripts
-# do not explicitly indicate whether or not it is okay to do so. Read
-# the HTML documentation on the embedded Perl interpreter for more
-# information on how this option works.
-
-use_embedded_perl_implicitly=1
-
-
-
# ILLEGAL OBJECT NAME CHARACTERS
# This option allows you to specify illegal characters that cannot
# be used in host names, service descriptions, or names of other
# This option determines whether or not Nagios will make all standard
# macros available as environment variables when host/service checks
# and system commands (event handlers, notifications, etc.) are
-# executed. Enabling this option can cause performance issues in
-# large installations, as it will consume a bit more memory and (more
-# importantly) consume more CPU.
-# Values: 1 - Enable environment variable macros (default)
-# 0 - Disable environment variable macros
+# executed.
+# Enabling this is a very bad idea for anything but very small setups,
+# as it means plugins, notification scripts and eventhandlers may run
+# out of environment space. It will also cause a significant increase
+# in CPU- and memory usage and drastically reduce the number of checks
+# you can run.
+# Values: 1 - Enable environment variable macros
+# 0 - Disable environment variable macros (default)
-enable_environment_macros=1
+enable_environment_macros=0
max_debug_file_size=1000000
+
+# Should we allow hostgroups to have no hosts, we default this to off since
+# that was the old behavior
+
+allow_empty_hostgroup_assignment=0
+
+
+
+# Normally worker count is dynamically allocated based on 1.5 * number of cpu's
+# with a minimum of 4 workers. This value will override the defaults
+
+#check_workers=3
+
+
+
+# EXPERIMENTAL load controlling options
+# To get current defaults based on your system issue a command to
+# the query handler. Please note that this is an experimental feature
+# and not meant for production use. Used incorrectly it can induce
+# enormous latency.
+# #core loadctl
+# jobs_max - The maximum amount of jobs to run at one time
+# jobs_min - The minimum amount of jobs to run at one time
+# jobs_limit - The maximum amount of jobs the current load lets us run
+# backoff_limit - The minimum backoff_change
+# backoff_change - # of jobs to remove from jobs_limit when backing off
+# rampup_limit - Minimum rampup_change
+# rampup_change - # of jobs to add to jobs_limit when ramping up
+# NOTE: The backoff_limit and rampup_limit are NOT used by anything currently,
+# so if your system is under load nothing will actively modify the jobs
+# even if you have these options enabled, they are for external
+# connector information only. However, if you change the jobs_max or
+# jobs_min manually here or through the query handler interface that
+# WILL affect your system
+#loadctl_options=jobs_max=100;backoff_limit=10;rampup_change=5