Files
confdroid_nagios/templates/nagios/nagios_cfg.erb
2026-03-07 14:10:14 +01:00

486 lines
17 KiB
Plaintext

###############################################################################
########## 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_services=<%= @ng_obsess_over_services %>
<% if @ng_obsess_over_services == '1' -%>
ocsp_command=<%= @ng_ocsp_command %>
<% end -%>
obsess_over_hosts=<%= @ng_obsess_over_hosts %>
<% if @ng_obsess_over_hosts == '1' -%>
ochp_command=<%= @ng_ochp_command %>
<% end -%>
translate_passive_host_checks=<%= @ng_translate_pass_h_checks %>
passive_host_checks_are_soft=<%= @ng_pass_h_checks_are_soft %>
check_for_orphaned_services=<%= @ng_check_orphaned_svc %>
check_for_orphaned_hosts=<%= @ng_check_orphaned_hosts %>
check_service_freshness=<%= @ng_check_service_freshness %>
<% if @ng_check_service_freshness == '1' -%>
service_freshness_check_interval=<%= @ng_svc_fresh_check_intval %>
<% end -%>
service_check_timeout_state=<%= @ng_svc_check_timeout_state %>
check_host_freshness=<%= @ng_check_host_freshness %>
<% if @ng_check_host_freshness == '1' -%>
host_freshness_check_interval=<%= @ng_host_fresh_check_intval %>
<% end -%>
additional_freshness_latency=<%= @ng_add_freshness_latency %>
enable_flap_detection=<%= @ng_enable_flap_detection %>
<% if @ng_enable_flap_detection == '1' -%>
low_service_flap_threshold=<%= @ng_low_svc_flap_threshold %>
high_service_flap_threshold=<%= @ng_high_svc_flap_threshold %>
low_host_flap_threshold=<%= @ng_low_h_flap_threshold %>
high_host_flap_threshold=<%= @ng_high_h_flap_threshold %>
<% end -%>
# 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:
#
# <Directory "/usr/local/nagios/sbin/">
# SetEnv TZ "Australia/Brisbane"
# ...
# </Directory>
#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