diff --git a/manifests/params.pp b/manifests/params.pp index f8702be..d329341 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -39,7 +39,7 @@ # overridden on host level. # @param [string] ng_ping_crit Default value for ping critical check. Can be # overridden on host level. -# @param [boolean] ng_ping_ensure Wheter to include or exclude the check. +# @param [boolean] ng_ping_ensure Whether to include or exclude the check. # Can be overridden on host level. # @param [string] ng_disk_warn Default value for disk space warning check. # Can be overridden on host level. @@ -108,8 +108,8 @@ # interface for hosts/services that have not yet been checked # @param [string] ng_use_auth whether or not the CGIs will use any # authentication when displaying host and service information, as -# well as committing commands to Nagios for processing. This should **__not__** -# be set to 0. +# well as committing commands to Nagios for processing. This should +# **__not__** be set to 0. # @param [string] ng_use_ssl_auth allows you to use x509 cert (SSL) # authentication in the CGIs. This is an advanced option and should # not be enabled unless you know what you're doing. @@ -120,11 +120,11 @@ # secure domain (i.e., behind a firewall) to see the current status # without authenticating. Only actuve if `ng_enable_def_user` is set to `true` # @param [string] ng_nagios_admin Specify the name of a nagios administration -# user here. Value will be used in cgi.cfg for all authorized commands and info, -# i.e. nagiosadmin. however, its stronlgly suggested to use a different name. -# Can be overridden per host / hostgroups, so allows flexibility and increased -# security. You can also add a comma-separated list of people in here instead, -# which then would function like a group instead a single user. +# user here. Value will be used in cgi.cfg for all authorized commands and +# info,i.e. nagiosadmin. however, its stronlgly suggested to use a different +# name. Can be overridden per host / hostgroups to allow flexibility and +# increased security. You can also add a comma-separated list of people in +# here instead, which then would function like a group instead a single user. # @param [string] ng_sysinfo_auth comma-delimited list of all usernames that # have access to viewing the Nagios process information as # provided by the Extended Information CGI (extinfo.cgi). @@ -196,16 +196,20 @@ # policies. only effective if selinux is enabled. # @param [string] ng_required_hosts String of **__FQDNs__** for hosts which # should be allowed/required. Requires format -# 'host1.example.com host2.example.com'. If you want no restriction, chose 'all'. -# @param [string] ng_required_ips string of **__Ip addresses __** for hosts which -# should be allowed/reqired. Requires format 'ipaddress ip address range'. -# If you want no restriction, choose '0.0.0.0/0' +# 'host1.example.com host2.example.com'. If you want no restriction, chose +# 'all'. +# @param [string] ng_required_ips string of **__Ip addresses __** for hosts +# which should be allowed/reqired. Requires format 'ipaddress ip address +# range'. If you want no restriction, choose '0.0.0.0/0'. # @param [boolean] ng_enable_certbot Whether to use certbot for automated TLS # certificate management # @param [string] ng_certbot_webroot the path for certbot to place # challenges for the certification process. # @param [string] ng_mail_user email address to receive administrative mail. -# used for nagios itself as well as for certbot. +# used for nagios itself as well as for certbot. Mail environment must be +# configured separately, i.e. through `cd_postfix`. +# @param [string] ng_page_user pager address to be used by Nagios for +# notifications. Paging environment must be configured separately. # @param [boolean] ng_enable_index Whether to create an index file to allow # httpd checks with nagios on the nagios server. # @param [string] ng_webserver_name the name of the web server nagios should @@ -231,8 +235,8 @@ # by `ng_command_file`. # @param [string] ng_command_file file that Nagios checks for external command # requests. It is also where the command CGI will write commands that are -# submitted # by users, so it must be writeable by the user that the web server -# is running as. +# submitted # by users, so it must be writeable by the user that the web +# server is running as. # @param [boolean] ng_enable_query_handler Whether to enable the query handler # for running nagios in cluster mode. # @param [string] ng_query_socket the socket for the query handler @@ -335,9 +339,9 @@ # this option may result in inaccurate service states being used by Nagios, # while a lower value may result in a performance hit for service checks. # Use a value of 0 to disable service check caching. -# @param [string] ng_pred_host_dep_checks Whether Nagios will attempt to execute -# checks of hosts when it predicts that future dependency logic test may be -# needed. Valid options are `0` and `1`. +# @param [string] ng_pred_host_dep_checks Whether Nagios will attempt to +# execute checks of hosts when it predicts that future dependency logic test +# may be needed. Valid options are `0` and `1`. # @param [string] ng_pred_svc_dep_checks Whether Nagios will attempt to execute # checks of services when it predicts that future dependency logic test may be # needed. Valid options are `0` and `1`. @@ -357,6 +361,281 @@ # (in seconds) that # Nagios will look at when automatically rescheduling # checks. Only host and service checks that occur in the next X seconds # (determined by this variable) will be rescheduled. +# @param [string] ng_service_check_timeout how much time Nagios will allow +# service check commands to execute before killing them off. +# @param [string] ng_host_check_timeout how much time Nagios will allow +# host check commands to execute before killing them off. +# @param [string] ng_event_handler_timeout how much time Nagios will allow +# event handler commands to execute before killing them off. +# @param [string] ng_notification_timeout how much time Nagios will allow +# notification commands to execute before killing them off. +# @param [string] ng_ocsp_timeout how much time Nagios will allow +# ocsp commands to execute before killing them off. +# @param [string] ng_perfdata_timeout how much time Nagios will allow +# performance data commands to execute before killing them off. +# @param [string] ng_retain_state_inf Whether Nagios will save state +# information for services and hosts before it shuts down. Upon +# startup Nagios will reload all saved service and host state information +# before starting to monitor. Valid options are `0` and `1`. +# @param [string] ng_state_retention_file Where Nagios should use to store +# host and # service state information before it shuts down. The state +# information in this file is also read immediately prior to starting to +# monitor the network when Nagios is restarted. This file is used only if +# the `ng_retain_state_inf` variable is set to 1. +# @param [string] ng_retention_update_intval how often (in minutes) that +# Nagios # will automatically save retention data during normal operation. +# If you set this value to 0, Nagios will not save retention data at regular +# interval, but it will still save retention data before shutting down or +# restarting. If you have disabled state retention, this option has no effect. +# @param [string] ng_use_ret_program_state Whether Nagios will set +# program status variables based on the values saved in the retention file. +# Valid options are `0` and `1`. +# @param [string] ng_use_ret_scheduling_info Whether Nagios will retain +# the scheduling info (next check time) for hosts and services based on the +# values saved in the retention file. Valid options are `0` and `1`. +# @param [string] ng_ret_host_attr_mask mask determines what host +# attributes are not retained +# @param [string] ng_ret_service_attr_mask mask determines what service +# attributes are not retained +# @param [string] ng_ret_proc_host_attr_mask what host process attributes +# are not retained. +# @param [string] ng_ret_proc_svc_attr_mask what service process attributes +# are not retained +# @param [string] ng_ret_contact_h_attr_mask what host contact attributes are +# not retained. +# @param [string] ng_ret_contact_s_attr_mask what service contact attributes +# are not retained. +# @param [string] ng_interval_length seconds per unit interval as used in the +# host/contact/service configuration files. +# @param [string] ng_check_for_updates whether Nagios will automatically check +# to see if new updates (releases) are available. Effectively, setting +# `$pkg_ensure` to `latest` will have Puppet take care for that automatically +# though through the packages available in the yum repos. +# Valid options are `0` and `1`. +# @param [string] ng_bare_update_check what data Nagios will send to +# api.nagios.org when it checks for updates. Valid options are `0` and `1`. +# @param [string] ng_use_aggr_host_checking Whether to enable aggressive host +# checking. Read Nagios documentation for more infos aggressive host checking. +# @param [string] ng_execute_service_checks Whether Nagios will actively +# execute service checks when it initially starts. +# Valid options are `0` and `1`. +# @param [string] ng_accept_pass_svc_checks Whether or not Nagios will accept +# passive # service checks results when it initially (re)starts. +# Valid options are `0` and `1`. +# @param [string] ng_execute_host_checks whether or not Nagios will actively +# execute host checks when it initially starts. +# Valid options are `0` and `1`. +# @param [string] ng_accept_pass_host_checks Whether or not Nagios will accept +# passive # host checks results when it initially (re)starts. +# Valid options are `0` and `1`. +# @param [string] ng_enable_notifications Whether Nagios will sent out any host +# or service notifications when it is initially (re)started. +# Valid options are `0` and `1`. +# @param [string] ng_enable_event_handlers Whether Nagios will run any host or +# service event handlers when it is initially (re)started. +# Valid options are `0` and `1`. +# @param [string] ng_process_perf_data Whether Nagios will process performance +# data returned from service and host checks. +# Valid options are `0` and `1`. +# @param [string] ng_host_perfdata_command Short name of a command definition +# defined in your host configuration file. Only active if +# `ng_process_perf_data` is set to `1` +# @param [string] ng_svc_perfdata_command Short name of a command definition +# defined in your service configuration file. Only active if +# `ng_process_perf_data` is set to `1` +# @param [string] ng_host_perfdata_file used to store host performance data. +# Only active if `ng_process_perf_data` is set to `1` +# @param [string] ng_service_perfdata_file used to store service performance +# data. Only active if `ng_process_perf_data` is set to `1` +# @param [string] ng_host_perfdata_template What data is written (and how) +# to the performance data files. The templates may contain macros, special +# characters (\t for tab, \r for carriage return, \n for newline) +# and plain text. Only active if `ng_process_perf_data` is set to `1` +# @param [string] ng_svc_perfdata_template What data is written (and how) +# to the performance data files. The templates may contain macros, special +# characters (\t for tab, \r for carriage return, \n for newline) +# and plain text. Only active if `ng_process_perf_data` is set to `1` +# @param [string] ng_host_perfdata_file_mode Whether the host performance data +# files are opened in write ("w"), append ("a") or named pipe ("p") mode. +# Only active if `ng_process_perf_data` is set to `1`. +# @param [string] ng_svc_perfdata_file_mode Whether the service performance +# data files are opened in write ("w"), append ("a") or named pipe ("p") mode. +# Only active if `ng_process_perf_data` is set to `1`. +# @param [string] ng_h_perfdata_proc_intval How often (in seconds) the host +# performance data files are processed using the commands defined below. +# `0` indicates that the files should not be periodically processed. +# Only active if `ng_process_perf_data` is set to `1`. +# @param [string] ng_s_perfdata_proc_intval How often (in seconds) the service +# performance data files are processed using the commands defined below. +# `0` indicates that the files should not be periodically processed. +# Only active if `ng_process_perf_data` is set to `1`. +# @param [string] ng_h_perfdata_proc_cmd Commands used to periodically process +# the host performance data files. +# Only active if `ng_process_perf_data` is set to `1`. +# @param [string] ng_s_perfdata_proc_cmd Commands used to periodically process +# the service performance data files. +# Only active if `ng_process_perf_data` is set to `1`. +# @param [string] ng_h_perfdata_proc_e_res Whether the core will process empty +# host perfdata results. Valid options are `0` and `1`. +# Only active if `ng_process_perf_data` is set to `1`. +# @param [string] ng_s_perfdata_proc_e_res Whether the core will process empty +# service perfdata results. Valid options are `0` and `1`. +# Only active if `ng_process_perf_data` is set to `1`. +# @param [string] ng_obsess_over_services Whether Nagios will obsess over +# service checks and run the ocsp_command defined. Unless you are +# planning on implementing distributed monitoring, do not enable this option. +# @param [string] ng_ocsp_command Command that is run for every service check +# that is processed by Nagios. This command is executed only if the +# `ng_obsess_over_services` option is set to 1. The command argument is the +# short name of a command definition defined in your service configuration +# file. Read the HTML docs for # more information on implementing distributed +# monitoring. +# @param [string] ng_obsess_over_hosts Whether Nagios will obsess over +# host checks and run the ocsp_command defined. Unless you are +# planning on implementing distributed monitoring, do not enable this option. +# @param [string] ng_ochp_command Command that is run for every service check +# that is processed by Nagios. This command is executed only if the +# `ng_obsess_over_hosts` option is set to 1. The command argument is the +# short name of a command definition defined in your host configuration file. +# Read the HTML docs for # more information on implementing distributed +# monitoring. +# @param [string] ng_translate_pass_h_checks 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 only if you have +# distributed or failover monitoring setup. Valid options are `0` and `1`. +# @param [string] ng_check_orphaned_svc Whether Nagios will periodically check +# for orphaned service checks.Valid options are `0` and `1`. +# @param [string] ng_check_orphaned_hosts Whether Nagios will periodically +# check for orphaned host checks.Valid options are `0` and `1`. +# @param [string] ng_check_service_freshness Whether Nagios will periodically +# check the "freshness" of service results. Valid options are `0` and `1`. +# @param [string] ng_svc_fresh_check_intval how often (in seconds) Nagios will +# check the "freshness" of service check results. Only active if +# `ng_check_service_freshness` is set to `1`. +# @param [string] ng_svc_check_timeout_state The state Nagios will report when +# a service check times out - that is does not respond within +# `ng_service_check_timeout` seconds. Valid settings are: +# c - Critical (default) +# u - Unknown +# w - Warning +# o - OK +# @param [string] ng_check_host_freshness Whether Nagios will periodically +# check the "freshness" of host check results. Valid options are `0` and `1`. +# @param [string] ng_host_fresh_check_intval how often (in seconds) Nagios +# will check the "freshness" of host check results. Only active if +# `ng_check_service_freshness` is set to `1`. +# @param [string] ng_add_freshness_latency number of seconds that Nagios will +# add to any host and service freshness thresholds that it calculates +# (those not explicitly specified by the user). +# @param` [string] ng_enable_flap_detection 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. +# @param [string] ng_low_svc_flap_threshold Low threshold for service flapping. +# only active if `ng_enable_flap_detection` is set to `1`. +# @param [string] ng_high_svc_flap_threshold High threshold for service +# flapping. Only active if `ng_enable_flap_detection` is set to `1`. +# @param [string] ng_low_h_flap_threshold Low threshold for host flapping. +# only active if `ng_enable_flap_detection` is set to `1`. +# @param [string] ng_high_h_flap_threshold High threshold for host +# flapping. Only active if `ng_enable_flap_detection` is set to `1`. +# @param [string] ng_date_format 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) +# @param [boolean] ng_use_timezone_offset Whether to use timezone offsets. +# if set to `false`, the system configured timezone will be used. +# @param [string] ng_use_timezone 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. It is highly recommended to configure +# the timezone correctly at system level anyway. Only active if +# `ng_use_timezone_offset` is set to `true`. +# @param [string] ng_illegal_obj_name_chars specify illegal characters that +# cannot # be used in host names, service descriptions, or names of other +# object types. +# @param [string] ng_ill_macro_output_chars 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$ +# $HOSTPERFDATA$ +# $HOSTACKAUTHOR$ +# $HOSTACKCOMMENT$ +# $SERVICEOUTPUT$ +# $SERVICEPERFDATA$ +# $SERVICEACKAUTHOR$ +# $SERVICEACKCOMMENT$ +# @param [string] ng_use_regexp_matching Whether 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. +# Valid options are `0` and `1`. +# @param [string] ng_true_regexp_matching Whether or not "true" regular +# expression # matching takes place in the object config files. Only active if +# `ng_use_regexp_matching` is set to true. +# @param [string] ng_daemon_dumps_core Whether Nagios is allowed to create +# a core dump when it runs as a daemon. +# @param [string] ng_use_large_inst_tweaks Whether or not Nagios will take some +# shortcuts # which can save on memory and CPU usage in large Nagios +# installations. Valid options are `0` or `1`. +# @param [string] ng_enable_env_macros Whether Nagios will make all standard +# macros available as environment variables when host/service checks and +# system commands (event handlers, notifications, etc.) are executed. Can +# cause performance problems in large installations if enabled. +# Valid options are `0` or `1`. +# @param [string] ng_child_proc_fork_twice ow Nagios will fork child processes. +# Valid options are `0` or `1`. +# @param [string] ng_debug_level how much (if any) debugging information will +# be written to the debug file. Valid options are: +# -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 +# @param [string] ng_debug_verbosity How verbose the debug log out will be. +# Valid options: +# 0 = Brief output +# 1 = More detailed +# 2 = Very detailed +# @param [string] ng_max_debug_file_size 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. +# @param [string] ng_allow_empty_hostgroups Should we allow hostgroups to have +# no hosts, we default this to off since that was the old behavior. +# @param [string] ng_check_workers 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. +# @param [string] ng_host_down_svc_checks 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. Valid options are `0` and +# `1`. +# @param [boolean] ng_enable_load_ctl_options Whether to enable loadctl_options +# To get current defaults based on your system issue a command to +# the query handler. Experiemental feature and not recomended for production. +# param [string] ng_loadctl_options load controlling 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 ############################################################################### class cd_nagios::params ( @@ -365,6 +644,7 @@ $pkg_ensure = 'latest', $ng_nagios_server = "nagios.${::domain}", $ng_nagios_ext_ip = undef, $ng_mail_user = "admin@${::domain}", +$ng_page_user = "pageadmin@${::domain}", $ng_include_nrpe = true, @@ -524,7 +804,88 @@ $ng_time_change_threshold = '900', $ng_auto_reschedule_checks = '0', $ng_auto_reschedule_intval = '30', $ng_auto_reschedule_window = '180', - +$ng_service_check_timeout = '60', +$ng_host_check_timeout = '30', +$ng_event_handler_timeout = '30', +$ng_notification_timeout = '30', +$ng_ocsp_timeout = '5', +$ng_perfdata_timeout = '5', +$ng_retain_state_inf = '1', +$ng_state_retention_file = '/var/spool/nagios/retention.dat', +$ng_retention_update_intval = '60', +$ng_use_ret_program_state = '1', +$ng_use_ret_scheduling_info = '1', +$ng_ret_host_attr_mask = '0', +$ng_ret_service_attr_mask = '0', +$ng_ret_proc_host_attr_mask = '0', +$ng_ret_proc_svc_attr_mask = '0', +$ng_ret_contact_h_attr_mask = '0', +$ng_ret_contact_s_attr_mask = '0', +$ng_interval_length = '60', +$ng_check_for_updates = '1', +$ng_bare_update_check = '0', +$ng_use_aggr_host_checking = '0', +$ng_execute_service_checks = '1', +$ng_accept_pass_svc_checks = '1', +$ng_execute_host_checks = '1', +$ng_accept_pass_host_checks = '1', +$ng_enable_notifications = '1', +$ng_enable_event_handlers = '1', +$ng_process_perf_data = '0', +$ng_host_perfdata_command = 'process-host-perfdata', +$ng_svc_perfdata_command = 'process-service-perfdata', +$ng_host_perfdata_file = '/var/spool/nagios/host-perfdata', +$ng_service_perfdata_file = '/var/spool/nagios/service-perfdata', +$ng_host_perfdata_template = '[HOSTPERFDATA]\t$TIMET$\t$HOSTNAME$\t$HOSTEXECUTIONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$', +$ng_svc_perfdata_template = '[SERVICEPERFDATA]\t$TIMET$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$', +$ng_host_perfdata_file_mode = 'a', +$ng_svc_perfdata_file_mode = 'a', +$ng_h_perfdata_proc_intval = '0', +$ng_s_perfdata_proc_intval = '0', +$ng_h_perfdata_proc_cmd = 'process-host-perfdata-file', +$ng_s_perfdata_proc_cmd = 'process-service-perfdata-file', +$ng_h_perfdata_proc_e_res = '1', +$ng_s_perfdata_proc_e_res = '1', +$ng_obsess_over_services = '0', +$ng_ocsp_command = '', +$ng_obsess_over_hosts = '0', +$ng_ochp_command = '', +$ng_translate_pass_h_checks = '0', +$ng_pass_h_checks_are_soft = '0', +$ng_check_orphaned_svc = '1', +$ng_check_orphaned_hosts = '1', +$ng_check_service_freshness = '1', +$ng_svc_fresh_check_intval = '60', +$ng_svc_check_timeout_state = 'c', +$ng_check_host_freshness = '0', +$ng_host_fresh_check_intval = '60', +$ng_add_freshness_latency = '15', +$ng_enable_flap_detection = '1', +$ng_low_svc_flap_threshold = '5.0', +$ng_high_svc_flap_threshold = '20.0', +$ng_low_h_flap_threshold = '5.0', +$ng_high_h_flap_threshold = '20.0', +$ng_date_format = 'us', +$ng_use_timezone_offset = false, +$ng_use_timezone = '', +$ng_illegal_obj_name_chars = '`~!$%^&*|\'"<>?,()=', +$ng_ill_macro_output_chars = '`~$&|\'"<>', +$ng_use_regexp_matching = '0', +$ng_true_regexp_matching = '0', +$ng_daemon_dumps_core = '0', +$ng_use_large_inst_tweaks = '0', +$ng_enable_env_macros = '0', +$ng_free_child_process_mem = '1', +$ng_child_proc_fork_twice = '1', +$ng_debug_level = '0', +$ng_debug_verbosity = '1', +$ng_debug_file = '/var/spool/nagios/nagios.debug', +$ng_max_debug_file_size = '1000000', +$ng_allow_empty_hostgroups = '0', +$ng_check_workers = '', +$ng_host_down_svc_checks = '0', +$ng_enable_load_ctl_options = false, +$ng_loadctl_options = 'jobs_max=100;backoff_limit=10;rampup_change=5', ) { # installation section @@ -533,7 +894,11 @@ $ng_auto_reschedule_window = '180', /(?i-mx:centos|fedora|redhat)/ => ['nagios','nagios-devel'] } $reqpackages_client = $::operatingsystem ? { - /(?i-mx:centos|fedora|redhat)/ => ['net-snmp-utils','nagios-plugins','nagios-plugins-all', 'nagios-plugins-nrpe', 'nagios-common'] + /(?i-mx:centos|fedora|redhat)/ => ['net-snmp-utils', + 'nagios-plugins', + 'nagios-plugins-all', + 'nagios-plugins-nrpe', + 'nagios-common'] } $reqpackages_nrpe = $::operatingsystem ? { /(?i-mx:centos|fedora|redhat)/ => ['nrpe'] diff --git a/templates/httpd/forward_conf.erb b/templates/httpd/forward_conf.erb index db5ffc6..9ac2f21 100644 --- a/templates/httpd/forward_conf.erb +++ b/templates/httpd/forward_conf.erb @@ -11,6 +11,7 @@ ScriptAlias /nagios/cgi-bin/ "/usr/lib64/nagios/cgi-bin/" + SetEnv TZ "<%= @ng_use_timezone %>" <% if @ng_use_https == true -%> SSLRequireSSL <% else -%> @@ -51,7 +52,6 @@ ScriptAlias /nagios/cgi-bin/ "/usr/lib64/nagios/cgi-bin/" Alias /nagios "/usr/share/nagios/html" -<% if @ng_use_https == true -%> SSLRequireSSL <% else -%> # SSLRequireSSL diff --git a/templates/nagios/nagios_cfg.erb b/templates/nagios/nagios_cfg.erb index 16fe9f5..546bffe 100644 --- a/templates/nagios/nagios_cfg.erb +++ b/templates/nagios/nagios_cfg.erb @@ -88,774 +88,130 @@ auto_reschedule_checks=<%= @ng_auto_reschedule_checks %> auto_rescheduling_interval=<%= @ng_auto_reschedule_intval %> auto_rescheduling_window=<%= @ng_auto_reschedule_window %> +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 %> +perfdata_timeout=<%= @ng_perfdata_timeout %> + +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 %> + +date_format=<%= @ng_date_format %> + +<% if @ng_use_timezone_offset == true -%> +use_timezone=<%= @ng_use_timezone %> +<% end -%> + +illegal_object_name_chars=<%= @ng_illegal_obj_name_chars %> +illegal_macro_output_chars=<%= @ng_ill_macro_output_chars %> + +use_regexp_matching=<%= @ng_use_regexp_matching %> +use_true_regexp_matching=<%= @ng_true_regexp_matching %> + +admin_email=<%= @ng_mail_user %> +admin_pager=<%= @ng_page_user %> + +daemon_dumps_core=<%= @ng_daemon_dumps_core %> + +use_large_installation_tweaks=<%= @ng_use_large_inst_tweaks %> +enable_environment_macros=<%= @ng_enable_env_macros %> + +free_child_process_memory=<%= @ng_free_child_process_mem %> +child_processes_fork_twice=<%= @ng_child_proc_fork_twice %> + +debug_level=<%= @ng_debug_level %> +debug_verbosity=<%= @ng_debug_verbosity %> +debug_file=<%= @ng_debug_file %> +max_debug_file_size=<%= @ng_max_debug_file_size %> + +allow_empty_hostgroup_assignment=<%= @ng_allow_empty_hostgroups %> +<% unless @ng_check_workers.empty? %> +check_workers=<%= @ng_check_workers %> +<% end %> -# TIMEOUT VALUES -# These options control how much time Nagios will allow various -# types of commands to execute before killing them off. Options -# are available for controlling maximum time allotted for -# service checks, host checks, event handlers, notifications, the -# ocsp command, and performance data commands. All values are in -# seconds. - -service_check_timeout=60 -host_check_timeout=30 -event_handler_timeout=30 -notification_timeout=30 -ocsp_timeout=5 -perfdata_timeout=5 - - - -# RETAIN STATE INFORMATION -# This setting determines whether or not Nagios will save state -# information for services and hosts before it shuts down. Upon -# startup Nagios will reload all saved service and host state -# information before starting to monitor. This is useful for -# maintaining long-term data on state statistics, etc, but will -# slow Nagios down a bit when it (re)starts. Since its only -# a one-time penalty, I think its well worth the additional -# startup delay. - -retain_state_information=1 - - - -# STATE RETENTION FILE -# This is the file that Nagios should use to store host and -# service state information before it shuts down. The state -# information in this file is also read immediately prior to -# starting to monitor the network when Nagios is restarted. -# This file is used only if the retain_state_information -# variable is set to 1. - -state_retention_file=/var/spool/nagios/retention.dat - - - -# RETENTION DATA UPDATE INTERVAL -# This setting determines how often (in minutes) that Nagios -# will automatically save retention data during normal operation. -# If you set this value to 0, Nagios will not save retention -# data at regular interval, but it will still save retention -# data before shutting down or restarting. If you have disabled -# state retention, this option has no effect. - -retention_update_interval=60 - - - -# USE RETAINED PROGRAM STATE -# This setting determines whether or not Nagios will set -# program status variables based on the values saved in the -# retention file. If you want to use retained program status -# information, set this value to 1. If not, set this value -# to 0. - -use_retained_program_state=1 - - - -# USE RETAINED SCHEDULING INFO -# This setting determines whether or not Nagios will retain -# the scheduling info (next check time) for hosts and services -# based on the values saved in the retention file. If you -# If you want to use retained scheduling info, set this -# value to 1. If not, set this value to 0. - -use_retained_scheduling_info=1 - - - -# RETAINED ATTRIBUTE MASKS (ADVANCED FEATURE) -# The following variables are used to specify specific host and -# service attributes that should *not* be retained by Nagios during -# program restarts. -# -# The values of the masks are bitwise ANDs of values specified -# by the "MODATTR_" definitions found in include/common.h. -# For example, if you do not want the current enabled/disabled state -# of flap detection and event handlers for hosts to be retained, you -# would use a value of 24 for the host attribute mask... -# MODATTR_EVENT_HANDLER_ENABLED (8) + MODATTR_FLAP_DETECTION_ENABLED (16) = 24 - -# This mask determines what host attributes are not retained -retained_host_attribute_mask=0 - -# This mask determines what service attributes are not retained -retained_service_attribute_mask=0 - -# These two masks determine what process attributes are not retained. -# There are two masks, because some process attributes have host and service -# options. For example, you can disable active host checks, but leave active -# service checks enabled. -retained_process_host_attribute_mask=0 -retained_process_service_attribute_mask=0 - -# These two masks determine what contact attributes are not retained. -# There are two masks, because some contact attributes have host and -# service options. For example, you can disable host notifications for -# a contact, but leave service notifications enabled for them. -retained_contact_host_attribute_mask=0 -retained_contact_service_attribute_mask=0 - - - -# INTERVAL LENGTH -# This is the seconds per unit interval as used in the -# host/contact/service configuration files. Setting this to 60 means -# that each interval is one minute long (60 seconds). Other settings -# have not been tested much, so your mileage is likely to vary... - -interval_length=60 - - - -# CHECK FOR UPDATES -# This option determines whether Nagios will automatically check to -# see if new updates (releases) are available. It is recommend that you -# enable this option to ensure that you stay on top of the latest critical -# patches to Nagios. Nagios is critical to you - make sure you keep it in -# good shape. Nagios will check once a day for new updates. Data collected -# by Nagios Enterprises from the update check is processed in accordance -# with our privacy policy - see https://api.nagios.org for details. - -check_for_updates=1 - - - -# BARE UPDATE CHECK -# This option determines what data Nagios will send to api.nagios.org when -# it checks for updates. By default, Nagios will send information on the -# current version of Nagios you have installed, as well as an indicator as -# to whether this was a new installation or not. Nagios Enterprises uses -# this data to determine the number of users running specific version of -# Nagios. Enable this option if you do not want this information to be sent. - -bare_update_check=0 - - - -# AGGRESSIVE HOST CHECKING OPTION -# If you don't want to turn on aggressive host checking features, set -# this value to 0 (the default). Otherwise set this value to 1 to -# enable the aggressive check option. Read the docs for more info -# on what aggressive host check is or check out the source code in -# base/checks.c - -use_aggressive_host_checking=0 - - - -# SERVICE CHECK EXECUTION OPTION -# This determines whether or not Nagios will actively execute -# service checks when it initially starts. If this option is -# disabled, checks are not actively made, but Nagios can still -# receive and process passive check results that come in. Unless -# you're implementing redundant hosts or have a special need for -# disabling the execution of service checks, leave this enabled! -# Values: 1 = enable checks, 0 = disable checks - -execute_service_checks=1 - - - -# PASSIVE SERVICE CHECK ACCEPTANCE OPTION -# This determines whether or not Nagios will accept passive -# service checks results when it initially (re)starts. -# Values: 1 = accept passive checks, 0 = reject passive checks - -accept_passive_service_checks=1 - - - -# HOST CHECK EXECUTION OPTION -# This determines whether or not Nagios will actively execute -# host checks when it initially starts. If this option is -# disabled, checks are not actively made, but Nagios can still -# receive and process passive check results that come in. Unless -# you're implementing redundant hosts or have a special need for -# disabling the execution of host checks, leave this enabled! -# Values: 1 = enable checks, 0 = disable checks - -execute_host_checks=1 - - - -# PASSIVE HOST CHECK ACCEPTANCE OPTION -# This determines whether or not Nagios will accept passive -# host checks results when it initially (re)starts. -# Values: 1 = accept passive checks, 0 = reject passive checks - -accept_passive_host_checks=1 - - - -# NOTIFICATIONS OPTION -# This determines whether or not Nagios will sent out any host or -# service notifications when it is initially (re)started. -# Values: 1 = enable notifications, 0 = disable notifications - -enable_notifications=1 - - - -# EVENT HANDLER USE OPTION -# This determines whether or not Nagios will run any host or -# service event handlers when it is initially (re)started. Unless -# you're implementing redundant hosts, leave this option enabled. -# Values: 1 = enable event handlers, 0 = disable event handlers - -enable_event_handlers=1 - - - -# PROCESS PERFORMANCE DATA OPTION -# This determines whether or not Nagios will process performance -# data returned from service and host checks. If this option is -# enabled, host performance data will be processed using the -# host_perfdata_command (defined below) and service performance -# data will be processed using the service_perfdata_command (also -# defined below). Read the HTML docs for more information on -# performance data. -# Values: 1 = process performance data, 0 = do not process performance data - -process_performance_data=0 - - - -# HOST AND SERVICE PERFORMANCE DATA PROCESSING COMMANDS -# These commands are run after every host and service check is -# performed. These commands are executed only if the -# enable_performance_data 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 performance data. - -#host_perfdata_command=process-host-perfdata -#service_perfdata_command=process-service-perfdata - - - -# HOST AND SERVICE PERFORMANCE DATA FILES -# These files are used to store host and service performance data. -# Performance data is only written to these files if the -# enable_performance_data option (above) is set to 1. - -#host_perfdata_file=/var/spool/nagios/host-perfdata -#service_perfdata_file=/var/spool/nagios/service-perfdata - - - -# HOST AND SERVICE PERFORMANCE DATA FILE TEMPLATES -# These options determine what data is written (and how) to the -# performance data files. The templates may contain macros, special -# characters (\t for tab, \r for carriage return, \n for newline) -# and plain text. A newline is automatically added after each write -# to the performance data file. Some examples of what you can do are -# shown below. - -#host_perfdata_file_template=[HOSTPERFDATA]\t$TIMET$\t$HOSTNAME$\t$HOSTEXECUTIONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$ -#service_perfdata_file_template=[SERVICEPERFDATA]\t$TIMET$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$ - - - -# HOST AND SERVICE PERFORMANCE DATA FILE MODES -# This option determines whether or not the host and service -# performance data files are opened in write ("w") or append ("a") -# mode. If you want to use named pipes, you should use the special -# pipe ("p") mode which avoid blocking at startup, otherwise you will -# likely want the default append ("a") mode. - -#host_perfdata_file_mode=a -#service_perfdata_file_mode=a - - - -# HOST AND SERVICE PERFORMANCE DATA FILE PROCESSING INTERVAL -# These options determine how often (in seconds) the host and service -# performance data files are processed using the commands defined -# below. A value of 0 indicates the files should not be periodically -# processed. - -#host_perfdata_file_processing_interval=0 -#service_perfdata_file_processing_interval=0 - - - -# HOST AND SERVICE PERFORMANCE DATA FILE PROCESSING COMMANDS -# These commands are used to periodically process the host and -# service performance data files. The interval at which the -# processing occurs is determined by the options above. - -#host_perfdata_file_processing_command=process-host-perfdata-file -#service_perfdata_file_processing_command=process-service-perfdata-file - - - -# HOST AND SERVICE PERFORMANCE DATA PROCESS EMPTY RESULTS -# 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 -# on unwanted macro calculation - you can turn that off. Be careful! -# Values: 1 = enable, 0 = disable - -#host_perfdata_process_empty_results=1 -#service_perfdata_process_empty_results=1 - - -# 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 - -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/spool/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 - - - -# 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 +host_down_disable_service_checks=<%= @ng_host_down_svc_checks %> + +<% if @ng_enable_load_ctl_options == true -%> +loadctl_options=<%= @ng_loadctl_options %> +<% end -%>