## confdroid_nagios::params # Module name: confdroid_nagios # Author: 12ww1160 (12ww1160@confdroid.com) # @summary Class holds all parameters for the confdroid_nagios module and is # inherited by all classes except defines. # @param [String] ng_nagios_server The hostname or IP address of the # Nagios server. This will determine the installation selection and the # of the clients to connect to the Nagios server. # @param [Array] ng_reqpackages_server An array of packages to be installed on # the Nagios server. # @param [Array] ng_reqpackages_client An array of packages to be installed on # the Nagios clients. # @param [String] ng_pkg_ensure The ensure value for all packages. Default is # 'present'. # @param [String] ng_user The name of the Nagios user to be created on the # Nagios server. Default is 'nagios'. # @param [String] ng_u_comment The comment field for the Nagios user. Default # is 'Nagios User'. # @param [String] ng_u_groups The group(s) to which the Nagios user # should be added. Default is 'nagios'. # @param [String] ng_u_shell The login shell for the Nagios user. # Default is '/sbin/nologin'. # @param [String] ng_u_home The home directory for the Nagios user. # Default is '/home/nagios'. # @param [Integer] ng_u_uid The user ID for the Nagios user. # Default is 1004. # @param [Boolean] ng_include_nrpe Whether to include the NRPE client on the # Nagios clients. Default is true. # @param [Boolean] ng_use_https Whether to configure the Nagios web interface # to use HTTPS. Default is false. We recommend using a reverse proxy # with SSL termination in front of the Nagios web interface, so this is # disabled by default. # @param [String] ng_event_broker_module The event broker module to be # used in the Nagios configuration. Default is an empty string, which means no event # broker module will be configured. You can specify a module like 'mod_gearman' # to enable the Gearman event broker module, for example. # @param [String] ng_glob_host_evt_handler The global host event handler to be # used in the Nagios configuration. Default is an empty string, which means no # global host event handler will be configured. You can specify a command like # 'notify-host-by-email' to set a global host event handler that sends # email notifications for host events, for example. # @param [String] ng_glob_svc_evt_handler The global service event handler to be # used in the Nagios configuration. Default is an empty string, which means no # global service event handler will be configured. You can specify a command # like 'notify-service-by-email' to set a global service event handler that # sends email notifications for service events, for example. # @param [String] ng_check_workers The number of check worker processes to be # configured in the Nagios configuration. Default is an empty string, # which means no specific number of check worker processes will be # configured. You can specify a number like '5' to set the number of check worker # processes to 5, for example. # @param [String] ng_log_file The path to the Nagios log file. Default is # '/var/log/nagios/nagios.log'. # @param [String] ng_object_cache_file The path to the Nagios object cache file. # Default is '/var/spool/nagios/objects.cache'. # @param [String] ng_precached_obj_file The path to the Nagios precached object # file. Default is '/var/spool/nagios/objects.precache'. # @param [String] ng_resource_file The path to the Nagios resource file. # Default is '/etc/nagios/private/resource.cfg'. # @param [String] ng_status_file The path to the Nagios status file. Default is # '/var/log/nagios/status.dat'. # @param [String] ng_status_upd_interval The interval for updating the Nagios # status file. Default is '10'. # @param [String] ng_check_ext_commands Whether to enable external command # checking in the Nagios configuration. Default is '1', which means external # command checking will be enabled. You can set this to '0' to disable external # command checking if needed. # @param [String] ng_command_file The path to the Nagios command file. Default # is '/var/spool/nagios/cmd/nagios.cmd'. # @param [String] ng_lock_file The path to the Nagios lock file. Default is # '/var/run/nagios/nagios.pid'. # @param [String] ng_temp_file The path to the Nagios temporary file. Default # is '/var/spool/nagios/nagios.tmp'. # @param [String] ng_temp_path The path to the Nagios temporary directory. Default # is '/tmp'. # @param [String] ng_event_broker_options The options for the Nagios event # broker. Default is '-1', which means no specific options will be # configured. You can specify options like '--log-level=debug' to set the log level for # the event broker, for example. # @param [String] ng_log_rotation_method The method for log rotation in the # Nagios configuration. Default is 'h', which means hourly log rotation. # You can set this to 'd' for daily log rotation, 'w' for weekly log rotation, or 'm' # for monthly log rotation if needed. # @param [String] ng_log_archive_path The path to the Nagios log archive # directory. Default is '/var/log/nagios/archives'. # @param [String] ng_use_syslog Whether to use syslog for logging in the # Nagios configuration. Default is '1', which means syslog will be used for # logging. You can set this to '0' to disable syslog logging if needed. # @param [String] ng_log_notifications Whether to log notifications in the # Nagios configuration. Default is '1', which means notifications will be # logged. You can set this to '0' to disable logging of notifications if # needed. # @param [String] ng_log_service_retries Whether to log service retries in the # Nagios configuration. Default is '1', which means service retries will be # logged. You can set this to '0' to disable logging of service retries if # needed. # @param [String] ng_log_host_retries Whether to log host retries in the # Nagios configuration. Default is '1', which means host retries will be # logged. You can set this to '0' to disable logging of host retries if # needed. # @param [String] ng_log_event_handlers Whether to log event handlers in the # Nagios configuration. Default is '1', which means event handlers will be # logged. You can set this to '0' to disable logging of event handlers if # needed. # @param [String] ng_log_initial_states Whether to log initial states in the # Nagios configuration. Default is '0', which means initial states will not # logged. You can set this to '1' to enable logging of initial states if # needed. # @param [String] ng_log_current_states Whether to log current states in the # Nagios configuration. Default is '1', which means current states will be # logged. You can set this to '0' to disable logging of current states if # needed. # @param [String] ng_log_external_commands Whether to log external commands # in the Nagios configuration. Default is '1', which means external commands # will be logged. You can set this to '0' to disable logging of external # commands if needed. # @param [String] ng_log_passive_checks Whether to log passive checks in the # Nagios configuration. Default is '1', which means passive checks will be # logged. You can set this to '0' to disable logging of passive checks if # needed. # @param [String] ng_svc_int_check_delay The interval for delaying service # checks in the Nagios configuration. Default is 's', which means service # checks will be delayed until the next scheduled check interval. You can # set this to a specific number of seconds (e.g., '30') to delay service # checks by that amount of time if needed. # @param [String] ng_max_svc_check_spread The maximum spread for service checks # in the Nagios configuration. Default is '30', which means service checks # will be spread out over a maximum of 30 seconds. You can set this to a # different number of seconds if needed to control how service checks are # distributed over time. # @param [String] ng_svc_interleave_factor The interleave factor for service # checks in the Nagios configuration. Default is 's', which means service # checks will be interleaved based on their scheduled check intervals. # You can set this to a specific number (e.g., '0.5') to control the degree # of interleaving for service checks if needed. # @param [String] ng_host_int_check_delay The interval for delaying host checks # in the Nagios configuration. Default is 's', which means host checks will # be delayed until the next scheduled check interval. You can set this to a # specific number of seconds (e.g., '30') to delay host checks by that # amount of time if needed. # @param [String] ng_max_host_check_spread The maximum spread for host checks # in the Nagios configuration. Default is '30', which means host checks will # be spread out over a maximum of 30 seconds. You can set this to a different # number of seconds if needed to control how host checks are distributed # over time. # @param [String] ng_max_concurrent_checks The maximum number of concurrent # checks in the Nagios configuration. Default is '0', which means there is # no limit in the Nagios configuration. This means that Nagios will allow # as many concurrent checks as the system can handle. You can set this to a # specific number (e.g., '10') to limit the number of concurrent checks if # needed to prevent resource exhaustion. # @param [String] ng_check_res_reaper_freq The frequency for the check result # reaper in the Nagios configuration. Default is '10', which means the check # result reaper will run every 10 seconds. You can set this to a different # number of seconds if needed to control how often the check result reaper # runs. # @param [String] ng_max_check_res_reap_time The maximum time for check result # reaping in the Nagios configuration. Default is '30', which means check # results will be reaped if they are older than 30 seconds. You can set this # to a different number of seconds if needed to control how long check results # are kept before being reaped. # @param [String] ng_check_result_path The path to the Nagios check result # directory. Default is '/var/spool/nagios/checkresults'. # @param [String] ng_max_check_res_file_age The maximum age for check result # files in the Nagios configuration. Default is '3600', which means check # result files will be considered stale and reaped if they are older than # 3600 seconds (1 hour). You can set this to a different number of # seconds if needed to control how long check result files are kept before # being considered stale. # @param [String] ng_cached_h_check_horizon The cached host check horizon in the # Nagios configuration. Default is '15', which means host check results will # be cached for 15 seconds. You can set this to a different number of seconds # if needed to control how long host check results are cached. # @param [String] ng_cached_s_check_horizon The cached service check horizon in the # Nagios configuration. Default is '15', which means service check results will # be cached for 15 seconds. You can set this to a different number of seconds # if needed to control how long service check results are cached. # @param [String] ng_pred_host_dep_checks Whether to perform predictive host # dependency checks in the Nagios configuration. Default is '1', which means # predictive host dependency checks will be performed. You can set this to # '0' to disable predictive host dependency checks. Predictive host dependency # checks can help reduce false positives by checking the status of parent # hosts before determining the status of child hosts. # @param [String] ng_pred_svc_dep_checks Whether to perform predictive service # dependency checks in the Nagios configuration. Default is '1', which means # predictive service dependency checks will be performed. You can set this to # '0' to disable predictive service dependency checks. Predictive service # dependency checks can help reduce false positives by checking the status of # parent services before determining the status of child services. # @param [String] ng_soft_state_dependencies Whether to use soft state # dependencies in the Nagios configuration. Default is '0', which means soft # state dependencies will not be used. You can set this to '1' to enable soft # state dependencies if needed. Soft state dependencies allow Nagios to delay # the propagation of host and service states based on the number of check # attempts and the state of the checks, which can help reduce false positives # during transient issues. # @param [String] ng_time_change_threshold The time change threshold in the # Nagios configuration. Default is '900', which means a time change of 900 # seconds (15 minutes) or more will be considered significant and may trigger # certain actions in Nagios. You can set this to a different number of seconds # if needed to control how Nagios responds to significant time changes. # @param [String] ng_auto_reschedule_checks Whether to automatically reschedule # checks in the Nagios configuration. Default is '0', which means checks will # not be automatically rescheduled. You can set this to '1' to enable automatic # rescheduling of checks if needed. Automatic rescheduling can help ensure that # checks are performed in a timely manner, especially after significant time # changes or when the Nagios daemon is restarted. # @param [String] ng_auto_reschedule_intval The interval for automatically # rescheduling checks in the Nagios configuration. Default is '30', which means # checks will be automatically rescheduled every 30 seconds if automatic # rescheduling is enabled. You can set this to a different number of seconds if # needed to control how often checks are automatically rescheduled. # @param [String] ng_auto_reschedule_window The window for automatically # rescheduling checks in the Nagios configuration. Default is '180', which # means checks will be automatically rescheduled if they are within 180 seconds # (3 minutes) of their scheduled check time when automatic rescheduling is enabled. # You can set this to a different number of seconds if needed to control the window # for automatic rescheduling of checks. # @param [String] ng_service_check_timeout The timeout for service checks in the # Nagios configuration. Default is '60', which means service checks will time # out after 60 seconds. You can set this to a different number of seconds if # needed to control how long Nagios will wait for a service check to complete # before timing out. # @param [String] ng_host_check_timeout The timeout for host checks in the # Nagios configuration. Default is '30', which means host checks will time # out after 30 seconds. You can set this to a different number of seconds if # needed to control how long Nagios will wait for a host check to complete # before timing out. # @param [String] ng_event_handler_timeout The timeout for event handlers in the # Nagios configuration. Default is '30', which means event handlers will time # out after 30 seconds. You can set this to a different number of seconds if # needed to control how long Nagios will wait for an event handler to complete # before timing out. # @param [String] ng_notification_timeout The timeout for notifications in the # Nagios configuration. Default is '30', which means notifications will time # out after 30 seconds. You can set this to a different number of seconds if # needed to control how long Nagios will wait for a notification to be sent # before timing out. # @param [String] ng_ocsp_timeout The timeout for obsess over service checks # in the Nagios configuration. Default is '5', which means obsess over service # checks will time out after 5 seconds. You can set this to a different number # of seconds if needed to control how long Nagios will wait for an obsess over # service check to complete before timing out. # @param [String] ng_perfdata_timeout The timeout for processing performance data # in the Nagios configuration. Default is '5', which means processing of # performance data will time out after 5 seconds. You can set this to a # different number of seconds if needed to # control how long Nagios will # wait for performance data processing to complete before timing out. # @param [String] ng_retain_state_inf Whether to retain state information in the # Nagios configuration. Default is '1', which means state information will be # retained. You can set this to '0' to disable retention of state information if # needed. Retaining state information allows Nagios to keep track of the current # status of hosts and services, which can be useful for reporting and for making # informed decisions about notifications and event handling. # @param [String] ng_state_retention_file The path to the Nagios state retention # file. Default is '/var/spool/nagios/retention.dat'. # @param [String] ng_retention_update_intval The interval for updating the state # retention file in the Nagios configuration. Default is '60', which means the # state retention file will be updated every 60 seconds. You can set this to a # different number of seconds if needed to control how often the state retention # file is updated. # @param [String] ng_use_ret_program_state Whether to use the retention program # state in the Nagios configuration. Default is '1', which means the retention # program state will be used. You can set this to '0' to disable the use of the # retention program state if needed. The retention program state allows Nagios # to retain the state of the Nagios daemon itself, which can be useful for # determining if the daemon was restarted and for controlling how checks and # notifications are handled after a restart. # @param [String] ng_use_ret_scheduling_info Whether to use the retention # scheduling information in the Nagios configuration. Default is '1', which # means the retention scheduling information will be used. You can set this # to '0' to disable the use of the retention scheduling information if needed. # The retention scheduling information allows Nagios to retain information # about the scheduled check times for hosts and services, which can help # ensure that checks are performed at the correct times even after a restart. # @param [String] ng_ret_host_attr_mask The retention host attribute mask in the # Nagios configuration. Default is '0', which means no specific host attributes # will be retained. You can set this to a specific value (e.g., '1') to control # which host attributes are retained in the state retention file if needed. # @param [String] ng_ret_service_attr_mask The retention service attribute # mask in the Nagios configuration. Default is '0', which means no specific # service attributes will be retained. You can set this to a specific value # (e.g., '1') to control which service attributes are retained in the state # retention file if needed. # @param [String] ng_ret_proc_host_attr_mask The retention processed host # attribute mask in the Nagios configuration. Default is '0', which means no # specific processed host attributes will be retained. You can set this to a # specific value (e.g., '1') to control which processed host attributes are # retained in the state retention file if needed. # @param [String] ng_ret_proc_svc_attr_mask The retention processed service # attribute mask in the Nagios configuration. Default is '0', which means no # specific processed service attributes will be retained. You can set this to a # specific value (e.g., '1') to control which processed service attributes are # retained in the state retention file if needed. # @param [String] ng_ret_contact_h_attr_mask The retention contact host # attribute mask in the Nagios configuration. Default is '0', which means no # specific contact host attributes will be retained. You can set this to a # specific value (e.g., '1') to control which contact host attributes are # retained in the state retention file if needed. # @param [String] ng_ret_contact_s_attr_mask The retention contact service # attribute mask in the Nagios configuration. Default is '0', which means no # specific contact service attributes will be retained. You can set this to a # specific value (e.g., '1') to control which contact service attributes are # retained in the state retention file if needed. # @param [String] ng_interval_length The length of the time intervals in the # Nagios configuration. Default is '60', which means time intervals will be # 60 seconds long. You can set this to a different number of seconds if needed # to control the length of time intervals for scheduling checks and other # time-based actions in Nagios. # @param [String] ng_check_for_updates Whether to check for updates in the # Nagios configuration. Default is '1', which means Nagios will check for # updates to the Nagios configuration files. You can set this to '0' to disable # checking for updates if needed. Checking for updates allows Nagios to detect # changes to the configuration files and reload the configuration as needed to # apply those changes. # @param [String] ng_bare_update_check Whether to perform a bare update check in # the Nagios configuration. Default is '0', which means a bare update check will # not be performed. You can set this to '1' to enable bare update checks # if needed. A bare update check allows Nagios to check for updates to the # configuration files without performing a full check of the configuration, # which can be useful in certain scenarios. # @param [String] ng_use_aggr_host_checking Whether to use aggregate host # checking in the Nagios configuration. Default is '0', which means aggregate # host checking will not be used. You can set this to '1' to enable aggregate # host checking if needed. Aggregate host checking allows Nagios to perform # checks on groups of hosts and determine the status of the group based on the # status of the individual hosts, which can be useful for monitoring clusters or # other groups of related hosts. # @param [String] ng_execute_service_checks Whether to execute service checks # in the Nagios configuration. Default is '1', which means service checks will # be executed. You can set this to '0' to disable execution of service checks # if needed. # @param [String] ng_execute_host_checks Whether to execute host checks in # the Nagios configuration. Default is '1', which means host checks will # be executed. You can set this to '0' to disable execution of host checks # if needed. # @param [String] ng_accept_pass_svc_checks Whether to accept passive service # checks in the Nagios configuration. Default is '1', which means passive # service checks will be accepted. You can set this to '0' to disable # acceptance of passive service checks if needed. # @param [String] ng_accept_pass_host_checks Whether to accept passive host # checks in the Nagios configuration. Default is '1', which means passive # host checks will be accepted. You can set this to '0' to disable acceptance # of passive host checks if needed. # @param [String] ng_enable_notifications Whether to enable notifications in # the Nagios configuration. Default is '1', which means notifications will be # enabled. You can set this to '0' to disable notifications if needed. # @param [String] ng_enable_event_handlers Whether to enable event handlers in # the Nagios configuration. Default is '1', which means event handlers will be # enabled. You can set this to '0' to disable event handlers if needed. # @param [String] ng_enable_flap_detection Whether to enable flap detection in # the Nagios configuration. Default is '1', which means flap detection will be # enabled. You can set this to '0' to disable flap detection if needed. # @param [String] ng_process_perf_data Whether to process performance data in # the Nagios configuration. Default is '1', which means performance data will # be processed. You can set this to '0' to disable processing of performance # data if needed. # @param [String] ng_host_perfdata_command The command to process host # performance data in the Nagios configuration. Default is '', which means no # specific command will be configured for processing host performance data. # You can set this to a specific command if needed. # @param [String] ng_svc_perfdata_command The command to process service # performance data in the Nagios configuration. Default is '', which means no # specific command will be configured for processing service performance data. # You can set this to a specific command if needed. # @param [String] ng_host_perfdata_file The file to which host performance data # will be written in the Nagios configuration. Default is '', which means no # specific file will be configured for host performance data. You can set this # to a specific file path if needed. # @param [String] ng_service_perfdata_file # The file to which service performance data will be written in the Nagios # configuration. Default is '', which means no specific file will be # configured for service performance data. You can set this to a specific # file path if needed. # @param [String] ng_host_perfdata_template The template for host performance # data in the Nagios configuration. Default is '', which means no specific # template will be configured for host performance data. You can set this to # a specific template if needed. # @param [String] ng_svc_perfdata_template The template for service performance # data in the Nagios configuration. Default is '', which means no specific # template will be configured for service performance data. You can set this # to a specific template if needed. # @param [String] ng_host_perfdata_file_mode The file mode for host performance # data files in the Nagios configuration. # @param [String] ng_svc_perfdata_file_mode The file mode for service performance # data files in the Nagios configuration. # @param [String] ng_h_perfdata_proc_intval The interval for processing host # performance data in the Nagios configuration. Default is '0', which means # host performance data will be processed immediately. You can set this to a # specific number of seconds if needed to control how often host performance # data is processed. # @param [String] ng_s_perfdata_proc_intval The interval for processing service # performance data in the Nagios configuration. Default is '0', which means # service performance data will be processed immediately. You can set this to # a specific number of seconds if needed to control how often service performance # data is processed. # @param [String] ng_s_perfdata_proc_cmd The command to process service # performance data in the Nagios configuration. # @param [String] ng_h_perfdata_proc_cmd The command to process host # performance data in the Nagios configuration. ############################################################################### class confdroid_nagios::params ( # main String $ng_nagios_server = 'nagios.example.net', Array $ng_reqpackages_server = ['nagios','nagios-devel'], Array $ng_reqpackages_client = ['net-snmp-utils','nagios-plugins','nagios-plugins-all','nagios-plugins-nrpe','nagios-common'], String $ng_pkg_ensure = 'present', Boolean $ng_include_nrpe = true, # user String $ng_user = 'nagios', String $ng_u_comment = 'Nagios User', String $ng_u_groups = 'nagios', String $ng_u_shell = '/sbin/nologin', String $ng_u_home = '/home/nagios', Integer $ng_u_uid = 1004, # nagios_cfg settings String $ng_log_file = '/var/log/nagios/nagios.log', String $ng_object_cache_file = '/var/spool/nagios/objects.cache', String $ng_precached_obj_file = '/var/spool/nagios/objects.precache', String $ng_resource_file = '/etc/nagios/private/resource.cfg', String $ng_status_file = '/var/log/nagios/status.dat', String $ng_status_upd_interval = '10', String $ng_check_ext_commands = '1', String $ng_command_file = '/var/spool/nagios/cmd/nagios.cmd', String $ng_lock_file = '/var/run/nagios/nagios.pid', String $ng_temp_file = '/var/spool/nagios/nagios.tmp', String $ng_temp_path = '/tmp', String $ng_event_broker_options = '-1', String $ng_event_broker_module = '', String $ng_glob_host_evt_handler = '', String $ng_glob_svc_evt_handler = '', String $ng_check_workers = '', String $ng_log_rotation_method = 'h', String $ng_log_archive_path = '/var/log/nagios/archives', String $ng_use_syslog = '1', String $ng_log_notifications = '1', String $ng_log_service_retries = '1', String $ng_log_host_retries = '1', String $ng_log_event_handlers = '1', String $ng_log_initial_states = '0', String $ng_log_current_states = '1', String $ng_log_external_commands = '1', String $ng_log_passive_checks = '1', String $ng_glob_host_evt_handler = '', String $ng_glob_svc_evt_handler = '', String $ng_svc_int_check_delay = 's', String $ng_max_svc_check_spread = '30', String $ng_svc_interleave_factor = 's', String $ng_host_int_check_delay = 's', String $ng_max_host_check_spread = '30', String $ng_max_concurrent_checks = '0', String $ng_check_res_reaper_freq = '10', String $ng_max_check_res_reap_time = '30', String $ng_check_result_path = '/var/spool/nagios/checkresults', String $ng_max_check_res_file_age = '3600', String $ng_cached_h_check_horizon = '15', String $ng_cached_s_check_horizon = '15', String $ng_pred_host_dep_checks = '1', String $ng_pred_svc_dep_checks = '1', String $ng_soft_state_dependencies = '0', String $ng_time_change_threshold = '900', String $ng_auto_reschedule_checks = '0', String $ng_auto_reschedule_intval = '30', String $ng_auto_reschedule_window = '180', String $ng_service_check_timeout = '60', String $ng_host_check_timeout = '30', String $ng_event_handler_timeout = '30', String $ng_notification_timeout = '30', String $ng_ocsp_timeout = '5', String $ng_perfdata_timeout = '5', String $ng_retain_state_inf = '1', String $ng_state_retention_file = '/var/spool/nagios/retention.dat', String $ng_retention_update_intval = '60', String $ng_use_ret_program_state = '1', String $ng_use_ret_scheduling_info = '1', String $ng_ret_host_attr_mask = '0', String $ng_ret_service_attr_mask = '0', String $ng_ret_proc_host_attr_mask = '0', String $ng_ret_proc_svc_attr_mask = '0', String $ng_ret_contact_h_attr_mask = '0', String $ng_ret_contact_s_attr_mask = '0', String $ng_interval_length = '60', String $ng_check_for_updates = '1', String $ng_bare_update_check = '0', String $ng_use_aggr_host_checking = '0', String $ng_execute_service_checks = '1', String $ng_accept_pass_svc_checks = '1', String $ng_execute_host_checks = '1', String $ng_accept_pass_host_checks = '1', String $ng_enable_notifications = '1', String $ng_enable_event_handlers = '1', String $ng_process_perf_data = '0', String $ng_host_perfdata_command = 'process-host-perfdata', String $ng_svc_perfdata_command = 'process-service-perfdata', String $ng_host_perfdata_file = '/var/spool/nagios/host-perfdata', String $ng_service_perfdata_file = '/var/spool/nagios/service-perfdata', String $ng_host_perfdata_template = '[HOSTPERFDATA]\t$TIMET$\t$HOSTNAME$\t$HOSTEXECUTIONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$', String $ng_svc_perfdata_template = '[SERVICEPERFDATA]\t$TIMET$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$', String $ng_host_perfdata_file_mode = 'a', String $ng_svc_perfdata_file_mode = 'a', String $ng_h_perfdata_proc_intval = '0', String $ng_s_perfdata_proc_intval = '0', String $ng_h_perfdata_proc_cmd = 'process-host-perfdata-file', String $ng_s_perfdata_proc_cmd = 'process-service-perfdata-file', # httpd Boolean $ng_use_https = false, ) { # Default facts $fqdn = $facts['networking']['fqdn'] $domain = $facts['networking']['domain'] $os_name = $facts['os']['name'] $os_release = $facts['os']['release']['major'] # service $ng_nagios_service = 'nagios' # directories $ng_main_dir = '/etc/nagios' $ng_conf_d_dir = "${ng_main_dir}/conf.d" $ng_objects_dir = "${ng_main_dir}/objects" $ng_private_dir = "${ng_main_dir}/private" $ng_usr_incl = '/usr/include/nagios' $ng_lib_dir = '/usr/lib64/nagios' $ng_log_dir = '/var/log/nagios' $ng_log_archives = "${ng_log_dir}/archives" $ng_spool_dir = '/var/spool/nagios' $ng_usr_share = '/usr/share/nagios' $ng_share_html = "${ng_usr_share}/html" $ng_run_dir = '/var/run/nagios' $ng_cmd_dir = "${ng_spool_dir}/cmd" $ng_checkresults_dir = "${ng_spool_dir}/checkresults" # files $ng_nagios_cfg_file = "${ng_main_dir}/nagios.cfg" $ng_nagios_cfg_erb = 'confdroid_nagios/nagios/nagios_cfg.erb' ## old $ng_main_config = "${ng_main_dir}/nagios.cfg" $ng_cgi_cfg_file = "${ng_main_dir}/cgi.cfg" $ng_cgi_cfg_erb = 'confdroid_nagios/nagios/cgi_cfg.erb' $ng_htpasswd_file = "${ng_main_dir}/passwd" $ng_htpasswd_head = 'confdroid_nagios/nagios/htpasswd_head.erb' $ng_htpasswd_rule = 'confdroid_nagios/nagios/htpasswd_rule.erb' $ng_taccgi_erb = 'confdroid_nagios/selinux/taccgi.erb' $ng_statcgi_erb = 'confdroid_nagios/selinux/statuscgi.erb' $ng_statdat_erb = 'confdroid_nagios/selinux/statusdat.erb' $ng_checknrpe_erb = 'confdroid_nagios/selinux/checknrpe.erb' $ng_checknagios_erb = 'confdroid_nagios/selinux/checknagios.erb' $ng_nagios_conf = '/etc/httpd/conf.d/nagios.conf' $ng_nagios_conf_erb = 'confdroid_nagios/httpd/nagios_conf.erb' $ng_welcome_conf = '/etc/httpd/conf.d/welcome.conf' $ng_welcome_conf_erb = 'confdroid_nagios/httpd/welcome_conf.erb' $ng_forward_conf = '/etc/httpd/conf.d/nagios_forward.conf' $ng_forward_conf_erb = 'confdroid_nagios/httpd/forward_conf.erb' $ng_get_cert_erb = 'confdroid_nagios/certbot/get_cert.erb' $ng_unless_get_cert = 'confdroid_nagios/certbot/unless_get_cert.erb' $ng_unless_renew_erb = 'confdroid_nagios/certbot/unless_renew_cert.erb' $ng_index_html_file = '/var/www/html/index.html' $ng_index_html_erb = 'confdroid_nagios/httpd/index_html.erb' $ng_ssl_vhost_file = '/etc/httpd/conf.d/nagios_ssl.conf' $ng_ssl_vhost_erb = 'confdroid_nagios/httpd/nagios_ssl_vhost.erb' $ng_resource_erb = 'confdroid_nagios/nagios/resource_cfg.erb' $ng_grep_erb = 'confdroid_nagios/selinux/grep.erb' # nagios $ng_target_templates = "${ng_conf_d_dir}/nagios_templates.cfg" $ng_templates_head_erb = 'confdroid_nagios/nagios/templates_cfg_head.erb' $ng_templates_rule_erb = 'confdroid_nagios/nagios/templates_cfg_rule.erb' $ng_tgt_timeperiods_base = "${ng_conf_d_dir}/nagios_timeperiods.cfg" $ng_tgt_timep_add = "${ng_conf_d_dir}/nagios_timeperiods_add.cfg" $ng_tgt_timep_head_erb = 'confdroid_nagios/nagios/timeperiods_cfg_head.erb' $ng_tgt_timep_rule_erb = 'confdroid_nagios/nagios/timeperiods_cfg_rule.erb' $ng_target_localhost = "${ng_conf_d_dir}/nagios_localhost.cfg" $ng_target_host = "${ng_conf_d_dir}/nagios_host.cfg" $ng_target_hostgroup_base = "${ng_conf_d_dir}/nagios_hostgroups_base.cfg" $ng_tgt_hostgroup_add = "${ng_conf_d_dir}/nagios_hostgroups_add.cfg" $ng_tgt_hostgrp_head_erb = 'confdroid_nagios/nagios/hostgroups_cfg_head.erb' $ng_tgt_hostgrp_rule_erb = 'confdroid_nagios/nagios/hostgroups_cfg_rule.erb' $ng_target_hostdep = "${ng_conf_d_dir}/nagios_hostdependency.cfg" $ng_target_hostesc = "${ng_conf_d_dir}/nagios_hostescalation.cfg" $ng_target_hostext = "${ng_conf_d_dir}/nagios_hostextinfo.cfg" $ng_target_service = "${ng_conf_d_dir}/nagios_service.cfg" $ng_target_svcgrp_base = "${ng_conf_d_dir}/nagios_servicegroups_base.cfg" $ng_tgt_servicegroup_add = "${ng_conf_d_dir}/nagios_servicegroups_add.cfg" $ng_tgt_svcgrp_head_erb = 'confdroid_nagios/nagios/svcgroups_cfg_head.erb' $ng_tgt_svcgrp_rule_erb = 'confdroid_nagios/nagios/svcgroups_cfg_rule.erb' $ng_target_base_contact = "${ng_conf_d_dir}/nagios_contact_base.cfg" $ng_target_add_contact = "${ng_conf_d_dir}/nagios_contact_add.cfg" $ng_contacts_head_erb = 'confdroid_nagios/nagios/contacts_cfg_head.erb' $ng_contacts_rule_erb = 'confdroid_nagios/nagios/contacts_cfg_rule.erb' $ng_tgt_contactgroup_base = "${ng_conf_d_dir}/nagios_contactgroup_base.cfg" $ng_tgt_contactgroup_add = "${ng_conf_d_dir}/nagios_contactgroup_add.cfg" $ng_cntctgrps_head_erb = 'confdroid_nagios/nagios/contactgroups_cfg_head.erb' $ng_cntctgrps_rule_erb = 'confdroid_nagios/nagios/contactgroups_cfg_rule.erb' $ng_target_command = "${ng_conf_d_dir}/nagios_commands_base.cfg" $ng_nagios_service_cmd = 'check_nagios!/var/log/nagios/status.dat!5!/usr/sbin/nagios' # includes must be last include confdroid_nagios::main::config }