Files
confdroid_nagios/templates/nagios/nagios_cfg.erb

636 lines
22 KiB
Plaintext
Raw Normal View History

###############################################################################
########## 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 ##########
###############################################################################
2026-02-14 15:41:26 +01:00
2026-02-14 19:23:24 +01:00
# LOG FILE
log_file=<%= @ng_log_file %>
2026-02-14 19:23:24 +01:00
# 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
2026-02-14 19:23:24 +01:00
2026-02-21 14:39:56 +01:00
cfg_dir=<%= @ng_conf_d_dir %>
2026-02-14 19:23:24 +01:00
2026-03-06 15:09:06 +01:00
object_cache_file=<%= @ng_object_cache_file %>
2026-02-14 19:23:24 +01:00
2026-03-06 15:09:06 +01:00
precached_object_file=<%= @ng_precached_obj_file %>
2026-02-14 19:23:24 +01:00
2026-03-06 15:09:06 +01:00
resource_file=<%= @ng_resource_file %>
2026-02-14 19:23:24 +01:00
2026-03-06 15:13:38 +01:00
status_file=<%= @ng_status_file %>
2026-02-14 19:23:24 +01:00
2026-03-06 15:09:06 +01:00
status_update_interval=<%= @ng_status_upd_interval %>
2026-02-14 19:23:24 +01:00
2026-03-06 15:09:06 +01:00
nagios_user=<%= @ng_user %>
2026-02-14 19:23:24 +01:00
2026-03-06 15:09:06 +01:00
nagios_group=<%= @ng_user %>
2026-02-14 19:23:24 +01:00
2026-03-06 15:09:06 +01:00
check_external_commands=<%= @ng_check_ext_commands %>
2026-02-14 19:23:24 +01:00
2026-03-06 15:09:06 +01:00
command_file=<%= @ng_command_file %>
2026-02-14 19:23:24 +01:00
2026-03-07 11:37:56 +01:00
<% if @ng_enable_query_handler == true -%>
2026-03-06 15:09:06 +01:00
query_socket=<%= @ng_cmd_dir %>/nagios.qh
2026-03-07 11:37:56 +01:00
<% end -%>
2026-02-14 19:23:24 +01:00
2026-03-07 11:07:31 +01:00
lock_file=<%= @ng_lock_file %>
2026-03-07 11:37:56 +01:00
temp_file=<%= @ng_temp_file %>
2026-02-14 19:23:24 +01:00
temp_path=/tmp
2026-03-07 11:37:56 +01:00
event_broker_options=<%= @ng_event_broker_options %>
2026-02-14 19:23:24 +01:00
2026-03-07 11:37:56 +01:00
<% unless @ng_event_broker_module.empty? -%>
<% @ng_event_broker_module.each do |broker_module| -%>
broker_module=<%= broker_module %>
<% end end -%>
2026-02-14 19:23:24 +01:00
2026-03-07 12:45:54 +01:00
# LOG settings
2026-03-07 11:37:56 +01:00
log_rotation_method=<%= @ng_log_rotation_method %>
log_archive_path=<%= @ng_log_archives %>
use_syslog=<%= @ng_use_syslog %>
log_notifications=<%= @ng_log_notifications %>
2026-02-14 19:23:24 +01:00
2026-03-07 12:06:20 +01:00
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 -%>
2026-02-14 19:23:24 +01:00
2026-03-07 12:06:20 +01:00
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 %>
2026-02-14 19:23:24 +01:00
2026-03-07 12:06:20 +01:00
host_inter_check_delay_method=<%= @ng_host_int_check_delay %>
max_host_check_spread=<%= @ng_max_host_check_spread %>
2026-02-14 19:23:24 +01:00
2026-03-07 12:06:20 +01:00
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 %>
2026-02-14 19:23:24 +01:00
2026-03-07 12:15:18 +01:00
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 %>
2026-02-14 19:23:24 +01:00
2026-03-07 12:15:18 +01:00
enable_predictive_host_dependency_checks=<%= @ng_pred_host_dep_checks %>
enable_predictive_service_dependency_checks=<%= @ng_pred_svc_dep_checks %>
2026-02-14 19:23:24 +01:00
2026-03-07 12:28:21 +01:00
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 %>
2026-03-07 12:45:54 +01:00
# TIMEOUTS
2026-03-07 12:28:21 +01:00
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 %>
2026-02-14 19:23:24 +01:00
2026-03-07 12:45:54 +01:00
# 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 %>
2026-02-14 19:23:24 +01:00
2026-03-07 13:26:47 +01:00
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 -%>
2026-02-14 19:23:24 +01:00
# 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:
#
# <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