############################################################################### ########## parameterized nagios.cfg created by Puppet ########## ########## manual changes will be overwritten !!! ########## ########## original nagios.cfg file is available at ########## ########## https://3for.me/hn6ca (membership area) or at nagios.org ########## ############################################################################### # LOG FILE log_file=<%= @ng_log_file %> # OBJECT CONFIGURATION FILE(S) # This section has been outsourced into <%= @ng_conf_d_dir %>/*.cfg files, # because the commands are now built via PuppetDB exports and imports. # Original files are available at https://3for.me/hn6ca (membership area) # or at nagios.org cfg_dir=<%= @ng_conf_d_dir %> object_cache_file=<%= @ng_object_cache_file %> precached_object_file=<%= @ng_precached_obj_file %> resource_file=<%= @ng_resource_file %> status_file=<%= @ng_status_file %> status_update_interval=<%= @ng_status_upd_interval %> nagios_user=<%= @ng_user %> nagios_group=<%= @ng_user %> check_external_commands=<%= @ng_check_ext_commands %> command_file=<%= @ng_command_file %> <% if @ng_enable_query_handler == true -%> query_socket=<%= @ng_cmd_dir %>/nagios.qh <% end -%> lock_file=<%= @ng_lock_file %> temp_file=<%= @ng_temp_file %> temp_path=/tmp event_broker_options=<%= @ng_event_broker_options %> <% unless @ng_event_broker_module.empty? -%> <% @ng_event_broker_module.each do |broker_module| -%> broker_module=<%= broker_module %> <% end end -%> # LOG settings log_rotation_method=<%= @ng_log_rotation_method %> log_archive_path=<%= @ng_log_archives %> use_syslog=<%= @ng_use_syslog %> log_notifications=<%= @ng_log_notifications %> log_service_retries=<%= @ng_log_service_retries %> log_host_retries=<%= @ng_log_host_retries %> log_event_handlers=<%= @ng_log_event_handlers %> log_initial_states=<%= @ng_log_initial_states %> log_current_states=<%= @ng_log_current_states %> log_external_commands=<%= @ng_log_external_commands %> log_passive_checks=<%= @ng_log_passive_checks %> <% unless @ng_glob_host_evt_handler.empty? -%> <% @ng_glob_host_evt_handler.each do |global_host_event_handler| -%> global_host_event_handler=<%= @ng_glob_host_evt_handler %> <% end end -%> <% unless @ng_glob_svc_evt_handler.empty? -%> <% @ng_glob_svc_evt_handler.each do |global_service_event_handler| -%> global_service_event_handler=<%= @ng_glob_svc_evt_handler %> <% end end -%> service_inter_check_delay_method=<%= @ng_svc_int_check_delay %> max_service_check_spread=<%= @ng_max_svc_check_spread %> service_interleave_factor=<%= @ng_svc_interleave_factor %> host_inter_check_delay_method=<%= @ng_host_int_check_delay %> max_host_check_spread=<%= @ng_max_host_check_spread %> max_concurrent_checks=<%= @ng_max_concurrent_checks %> check_result_reaper_frequency=<%= @ng_check_res_reaper_freq %> max_check_result_reaper_time=<%= @ng_max_check_res_reap_time %> check_result_path=<%= @ng_check_result_path %> max_check_result_file_age=<%= @ng_max_check_res_file_age %> cached_host_check_horizon=<%= @ng_cached_h_check_horizon %> cached_service_check_horizon=<%= @ng_cached_s_check_horizon %> enable_predictive_host_dependency_checks=<%= @ng_pred_host_dep_checks %> enable_predictive_service_dependency_checks=<%= @ng_pred_svc_dep_checks %> soft_state_dependencies=<%= @ng_soft_state_dependencies %> time_change_threshold=<%= @ng_time_change_threshold %> auto_reschedule_checks=<%= @ng_auto_reschedule_checks %> auto_rescheduling_interval=<%= @ng_auto_reschedule_intval %> auto_rescheduling_window=<%= @ng_auto_reschedule_window %> # TIMEOUTS service_check_timeout=<%= @ng_service_check_timeout %> host_check_timeout=<%= @ng_host_check_timeout %> event_handler_timeout=<%= @ng_event_handler_timeout %> notification_timeout=<%= @ng_notification_timeout %> ocsp_timeout=<%= @ng_ocsp_timeout %> ochp_timeout=<%= @ng_ochp_timeout %> perfdata_timeout=<%= @ng_perfdata_timeout %> # RETENTION AND INTERVAL OPTIONS retain_state_information=<%= @ng_retain_state_inf %> state_retention_file=<%= @ng_state_retention_file %> retention_update_interval=<%= @ng_retention_update_intval %> use_retained_program_state=<%= @ng_use_ret_program_state %> use_retained_scheduling_info=<%= @ng_use_ret_scheduling_info %> retained_host_attribute_mask=<%= @ng_ret_host_attr_mask %> retained_service_attribute_mask=<%= @ng_ret_service_attr_mask %> retained_process_host_attribute_mask=<%= @ng_ret_proc_host_attr_mask %> retained_process_service_attribute_mask=<%= @ng_ret_proc_svc_attr_mask %> retained_contact_host_attribute_mask=<%= @ng_ret_contact_h_attr_mask %> retained_contact_service_attribute_mask=<%= @ng_ret_contact_s_attr_mask %> interval_length=<%= @ng_interval_length %> check_for_updates=<%= @ng_check_for_updates %> bare_update_check=<%= @ng_bare_update_check %> use_aggressive_host_checking=<%= @ng_use_aggr_host_checking %> execute_service_checks=<%= @ng_execute_service_checks %> accept_passive_service_checks=<%= @ng_accept_pass_svc_checks %> execute_host_checks=<%= @ng_execute_host_checks %> accept_passive_host_checks=<%= @ng_accept_pass_host_checks %> enable_notifications=<%= @ng_enable_notifications %> enable_event_handlers=<%= @ng_enable_event_handlers %> process_performance_data=<%= @ng_process_perf_data %> <% if @ng_process_perf_data == '1' -%> host_perfdata_command=<%= @ng_host_perfdata_command %> service_perfdata_command=<%= @ng_svc_perfdata_command %> host_perfdata_file=<%= @ng_host_perfdata_file %> service_perfdata_file=<%= @ng_service_perfdata_file %> host_perfdata_file_template=<%= @ng_host_perfdata_template %> service_perfdata_file_template=<%= @ng_svc_perfdata_template %> host_perfdata_file_mode=<%= @ng_host_perfdata_file_mode %> service_perfdata_file_mode=<%= @ng_svc_perfdata_file_mode %> host_perfdata_file_processing_interval=<%= @ng_h_perfdata_proc_intval %> service_perfdata_file_processing_interval=<%= @ng_s_perfdata_proc_intval %> host_perfdata_file_processing_command=<%= @ng_h_perfdata_proc_cmd %> service_perfdata_file_processing_command=<%= @ng_s_perfdata_proc_cmd %> host_perfdata_process_empty_results=<%= @ng_h_perfdata_proc_e_res %> service_perfdata_process_empty_results=<%= @ng_s_perfdata_proc_e_res %> <% end -%> # OBSESS OVER SERVICE CHECKS OPTION # This determines whether or not Nagios will obsess over service # checks and run the ocsp_command defined below. Unless you're # planning on implementing distributed monitoring, do not enable # this option. Read the HTML docs for more information on # implementing distributed monitoring. # Values: 1 = obsess over services, 0 = do not obsess (default) obsess_over_services=0 # OBSESSIVE COMPULSIVE SERVICE PROCESSOR COMMAND # This is the command that is run for every service check that is # processed by Nagios. This command is executed only if the # obsess_over_services option (above) is set to 1. The command # argument is the short name of a command definition that you # define in your host configuration file. Read the HTML docs for # more information on implementing distributed monitoring. #ocsp_command=somecommand # OBSESS OVER HOST CHECKS OPTION # This determines whether or not Nagios will obsess over host # checks and run the ochp_command defined below. Unless you're # planning on implementing distributed monitoring, do not enable # this option. Read the HTML docs for more information on # implementing distributed monitoring. # Values: 1 = obsess over hosts, 0 = do not obsess (default) obsess_over_hosts=0 # OBSESSIVE COMPULSIVE HOST PROCESSOR COMMAND # This is the command that is run for every host check that is # processed by Nagios. This command is executed only if the # obsess_over_hosts option (above) is set to 1. The command # argument is the short name of a command definition that you # define in your host configuration file. Read the HTML docs for # more information on implementing distributed monitoring. #ochp_command=somecommand # TRANSLATE PASSIVE HOST CHECKS OPTION # This determines whether or not Nagios will translate # DOWN/UNREACHABLE passive host check results into their proper # state for this instance of Nagios. This option is useful # if you have distributed or failover monitoring setup. In # these cases your other Nagios servers probably have a different # "view" of the network, with regards to the parent/child relationship # of hosts. If a distributed monitoring server thinks a host # is DOWN, it may actually be UNREACHABLE from the point of # this Nagios instance. Enabling this option will tell Nagios # to translate any DOWN or UNREACHABLE host states it receives # passively into the correct state from the view of this server. # Values: 1 = perform translation, 0 = do not translate (default) translate_passive_host_checks=0 # PASSIVE HOST CHECKS ARE SOFT OPTION # This determines whether or not Nagios will treat passive host # checks as being HARD or SOFT. By default, a passive host check # result will put a host into a HARD state type. This can be changed # by enabling this option. # Values: 0 = passive checks are HARD, 1 = passive checks are SOFT passive_host_checks_are_soft=0 # ORPHANED HOST/SERVICE CHECK OPTIONS # These options determine whether or not Nagios will periodically # check for orphaned host service checks. Since service checks are # not rescheduled until the results of their previous execution # instance are processed, there exists a possibility that some # checks may never get rescheduled. A similar situation exists for # host checks, although the exact scheduling details differ a bit # from service checks. Orphaned checks seem to be a rare # problem and should not happen under normal circumstances. # If you have problems with service checks never getting # rescheduled, make sure you have orphaned service checks enabled. # Values: 1 = enable checks, 0 = disable checks check_for_orphaned_services=1 check_for_orphaned_hosts=1 # SERVICE FRESHNESS CHECK OPTION # This option determines whether or not Nagios will periodically # check the "freshness" of service results. Enabling this option # is useful for ensuring passive checks are received in a timely # manner. # Values: 1 = enabled freshness checking, 0 = disable freshness checking check_service_freshness=1 # SERVICE FRESHNESS CHECK INTERVAL # This setting determines how often (in seconds) Nagios will # check the "freshness" of service check results. If you have # disabled service freshness checking, this option has no effect. service_freshness_check_interval=60 # SERVICE CHECK TIMEOUT STATE # This setting determines the state Nagios will report when a # service check times out - that is does not respond within # service_check_timeout seconds. This can be useful if a # machine is running at too high a load and you do not want # to consider a failed service check to be critical (the default). # Valid settings are: # c - Critical (default) # u - Unknown # w - Warning # o - OK service_check_timeout_state=c # HOST FRESHNESS CHECK OPTION # This option determines whether or not Nagios will periodically # check the "freshness" of host results. Enabling this option # is useful for ensuring passive checks are received in a timely # manner. # Values: 1 = enabled freshness checking, 0 = disable freshness checking check_host_freshness=0 # HOST FRESHNESS CHECK INTERVAL # This setting determines how often (in seconds) Nagios will # check the "freshness" of host check results. If you have # disabled host freshness checking, this option has no effect. host_freshness_check_interval=60 # ADDITIONAL FRESHNESS THRESHOLD LATENCY # This setting determines the number of seconds that Nagios # will add to any host and service freshness thresholds that # it calculates (those not explicitly specified by the user). additional_freshness_latency=15 # FLAP DETECTION OPTION # This option determines whether or not Nagios will try # and detect hosts and services that are "flapping". # Flapping occurs when a host or service changes between # states too frequently. When Nagios detects that a # host or service is flapping, it will temporarily suppress # notifications for that host/service until it stops # flapping. Flap detection is very experimental, so read # the HTML documentation before enabling this feature! # Values: 1 = enable flap detection # 0 = disable flap detection (default) enable_flap_detection=1 # FLAP DETECTION THRESHOLDS FOR HOSTS AND SERVICES # Read the HTML documentation on flap detection for # an explanation of what this option does. This option # has no effect if flap detection is disabled. low_service_flap_threshold=5.0 high_service_flap_threshold=20.0 low_host_flap_threshold=5.0 high_host_flap_threshold=20.0 # DATE FORMAT OPTION # This option determines how short dates are displayed. Valid options # include: # us (MM-DD-YYYY HH:MM:SS) # euro (DD-MM-YYYY HH:MM:SS) # iso8601 (YYYY-MM-DD HH:MM:SS) # strict-iso8601 (YYYY-MM-DDTHH:MM:SS) # date_format=us # TIMEZONE OFFSET # This option is used to override the default timezone that this # instance of Nagios runs in. If not specified, Nagios will use # the system configured timezone. # # NOTE: In order to display the correct timezone in the CGIs, you # will also need to alter the Apache directives for the CGI path # to include your timezone. Example: # # # SetEnv TZ "Australia/Brisbane" # ... # #use_timezone=US/Mountain #use_timezone=Australia/Brisbane # 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 # object types. illegal_object_name_chars=`~!$%^&*|'"<>?,()= # ILLEGAL MACRO OUTPUT CHARACTERS # This option allows you to specify illegal characters that are # stripped from macros before being used in notifications, event # handlers, etc. This DOES NOT affect macros used in service or # host check commands. # The following macros are stripped of the characters you specify: # $HOSTOUTPUT$ # $LONGHOSTOUTPUT$ # $HOSTPERFDATA$ # $HOSTACKAUTHOR$ # $HOSTACKCOMMENT$ # $SERVICEOUTPUT$ # $LONGSERVICEOUTPUT$ # $SERVICEPERFDATA$ # $SERVICEACKAUTHOR$ # $SERVICEACKCOMMENT$ illegal_macro_output_chars=`~$&|'"<> # REGULAR EXPRESSION MATCHING # This option controls whether or not regular expression matching # takes place in the object config files. Regular expression # matching is used to match host, hostgroup, service, and service # group names/descriptions in some fields of various object types. # Values: 1 = enable regexp matching, 0 = disable regexp matching use_regexp_matching=0 # "TRUE" REGULAR EXPRESSION MATCHING # This option controls whether or not "true" regular expression # matching takes place in the object config files. This option # only has an effect if regular expression matching is enabled # (see above). If this option is DISABLED, regular expression # matching only occurs if a string contains wildcard characters # (* and ?). If the option is ENABLED, regexp matching occurs # all the time (which can be annoying). # Values: 1 = enable true matching, 0 = disable true matching use_true_regexp_matching=0 # ADMINISTRATOR EMAIL/PAGER ADDRESSES # The email and pager address of a global administrator (likely you). # Nagios never uses these values itself, but you can access them by # using the $ADMINEMAIL$ and $ADMINPAGER$ macros in your notification # commands. admin_email=nagios@localhost admin_pager=pagenagios@localhost # DAEMON CORE DUMP OPTION # This option determines whether or not Nagios is allowed to create # a core dump when it runs as a daemon. Note that it is generally # considered bad form to allow this, but it may be useful for # debugging purposes. Enabling this option doesn't guarantee that # a core file will be produced, but that's just life... # Values: 1 - Allow core dumps # 0 - Do not allow core dumps (default) daemon_dumps_core=0 # LARGE INSTALLATION TWEAKS OPTION # This option determines whether or not Nagios will take some shortcuts # which can save on memory and CPU usage in large Nagios installations. # Read the documentation for more information on the benefits/tradeoffs # of enabling this option. # Values: 1 - Enabled tweaks # 0 - Disable tweaks (default) use_large_installation_tweaks=0 # ENABLE ENVIRONMENT MACROS # 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 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=0 # CHILD PROCESS MEMORY OPTION # This option determines whether or not Nagios will free memory in # child processes (processed used to execute system commands and host/ # service checks). If you specify a value here, it will override # program defaults. # Value: 1 - Free memory in child processes # 0 - Do not free memory in child processes #free_child_process_memory=1 # CHILD PROCESS FORKING BEHAVIOR # This option determines how Nagios will fork child processes # (used to execute system commands and host/service checks). Normally # child processes are fork()ed twice, which provides a very high level # of isolation from problems. Fork()ing once is probably enough and will # save a great deal on CPU usage (in large installs), so you might # want to consider using this. If you specify a value here, it will # program defaults. # Value: 1 - Child processes fork() twice # 0 - Child processes fork() just once #child_processes_fork_twice=1 # DEBUG LEVEL # This option determines how much (if any) debugging information will # be written to the debug file. OR values together to log multiple # types of information. # Values: # -1 = Everything # 0 = Nothing # 1 = Functions # 2 = Configuration # 4 = Process information # 8 = Scheduled events # 16 = Host/service checks # 32 = Notifications # 64 = Event broker # 128 = External commands # 256 = Commands # 512 = Scheduled downtime # 1024 = Comments # 2048 = Macros # 4096 = Interprocess communication # 8192 = Scheduling # 16384 = Workers debug_level=0 # DEBUG VERBOSITY # This option determines how verbose the debug log out will be. # Values: 0 = Brief output # 1 = More detailed # 2 = Very detailed debug_verbosity=1 # DEBUG FILE # This option determines where Nagios should write debugging information. debug_file=/var/log/nagios/nagios.debug # MAX DEBUG FILE SIZE # This option determines the maximum size (in bytes) of the debug file. If # the file grows larger than this size, it will be renamed with a .old # extension. If a file already exists with a .old extension it will # automatically be deleted. This helps ensure your disk space usage doesn't # get out of control when debugging Nagios. 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 # DISABLE SERVICE CHECKS WHEN HOST DOWN # This option will disable all service checks if the host is not in an UP state # # While desirable in some environments, enabling this value can distort report # values as the expected quantity of checks will not have been performed #host_down_disable_service_checks=0 # SET SERVICE/HOST STATUS WHEN SERVICE CHECK SKIPPED # These options will allow you to set the status of a service when its # service check is skipped due to one of three reasons: # 1) failed dependency check; 2) parent's status; 3) host not up # Number 3 can only happen if 'host_down_disable_service_checks' above # is set to 1. # Valid values for the service* options are: # -1 Do not change the service status (default - same as before 4.4) # 0 Set the service status to STATE_OK # 1 Set the service status to STATE_WARNING # 2 Set the service status to STATE_CRITICAL # 3 Set the service status to STATE_UNKNOWN # The host_skip_check_dependency_status option will allow you to set the # status of a host when itscheck is skipped due to a failed dependency check. # Valid values for the host_skip_check_dependency_status are: # -1 Do not change the service status (default - same as before 4.4) # 0 Set the host status to STATE_UP # 1 Set the host status to STATE_DOWN # 2 Set the host status to STATE_UNREACHABLE # We may add one or more statuses in the future. #service_skip_check_dependency_status=-1 #service_skip_check_parent_status=-1 #service_skip_check_host_down_status=-1 #host_skip_check_dependency_status=-1 # LOAD CONTROL OPTIONS # To get current defaults based on your system, issue this command to # the query handler: # echo -e '@core loadctl\0' | nc -U /usr/local/nagios/var/rw/nagios.qh # # Please note that used incorrectly these options can induce enormous latency. # # loadctl_options: # 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 #loadctl_options=jobs_max=100;backoff_limit=10;rampup_change=5