790 lines
42 KiB
Puppet
790 lines
42 KiB
Puppet
## 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 [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_main_user The username for the Nagios web interface.
|
|
# Default is $ng_users.
|
|
# @param [String] ng_main_password The encrypted password for the Nagios web
|
|
# interface. Default is $ng_users. Must be properly encrypted using the
|
|
# htpasswd utility.
|
|
# @param [String] ng_context_help Whether to enable the context help in the
|
|
# Nagios web interface. Default is '1'.
|
|
# @param [String] ng_log_file The path to the Nagios log file. Default is
|
|
# '/var/log/nagios/nagios.log'.
|
|
# @param [String] ng_ping_warn The warning threshold for the check_ping
|
|
# command. Default is '100.0,20%'.
|
|
# @param [String] ng_ping_crit The critical threshold for the check_ping
|
|
# command. Default is '500.0,60%'.
|
|
# @param [String] ng_ping_ensure The ensure value for the check_ping command.
|
|
# Default is 'present'.
|
|
# @param [String] ng_disk_warn The warning threshold for the check_disk
|
|
# command. Default is '20%'.
|
|
# @param [String] ng_disk_crit The critical threshold for the check_disk
|
|
# command. Default is '10%'.
|
|
# @param [String] ng_disk_ensure The ensure value for the check_disk command.
|
|
# Default is 'present'.
|
|
# @param [String] ng_swap_warn The warning threshold for the check_swap
|
|
# command. Default is '20'.
|
|
# @param [String] ng_swap_crit The critical threshold for the check_swap
|
|
# command. Default is '10'.
|
|
# @param [String] ng_swap_ensure The ensure value for the check_swap command.
|
|
# Default is 'present'.
|
|
# @param [String] ng_users_warn The warning threshold for the check_users
|
|
# command. Default is '20'.
|
|
# @param [String] ng_users_crit The critical threshold for the check_users
|
|
# command. Default is '50'.
|
|
# @param [String] ng_users_ensure The ensure value for the check_users command.
|
|
# Default is 'present'.
|
|
# @param [String] ng_procs_tot_warn The warning threshold for the check_procs
|
|
# command with total processes. Default is '330'.
|
|
# @param [String] ng_procs_tot_crit The critical threshold for the check_procs
|
|
# command with total processes. Default is '400'.
|
|
# @param [String] ng_procs_tot_param The parameters for the check_procs command
|
|
# with total processes. Default is 'RDST'.
|
|
# @param [String] ng_procs_tot_ensure The ensure value for the check_procs
|
|
# command with total processes. Default is 'present'.
|
|
# @param [String] ng_procs_z_warn The warning threshold for the check_procs
|
|
# command with zombie processes. Default is '10'.
|
|
# @param [String] ng_procs_z_crit The critical threshold for the check_procs
|
|
# command with zombie processes. Default is '30'.
|
|
# @param [String] ng_procs_z_param The parameters for the check_procs command
|
|
# with zombie processes. Default is 'Z'.
|
|
# @param [String] ng_procs_z_ensure The ensure value for the check_procs command
|
|
# with zombie processes. Default is 'present'.
|
|
# @param [String] ng_load_warn The warning threshold for the check_load command.
|
|
# Default is '5.00,4.00,3.00'.
|
|
# @param [String] ng_load_crit The critical threshold for the check_load command.
|
|
# Default is '10.00,6.00,4.00'.
|
|
# @param [String] ng_load_ensure The ensure value for the check_load command.
|
|
# Default is 'present'.
|
|
# @param [String] ng_contactgroup_name The name of the default contact group.
|
|
# Default is 'admins'.
|
|
# @param [String] ng_contactgroup_alias The alias of the default contact group.
|
|
# Default is 'Nagios Administrators'.
|
|
# @param [String] ng_contact_name The name of the default contact. Default is
|
|
# 'nagiosadmin'.
|
|
# @param [String] ng_contact_alias The alias of the default contact. Default is
|
|
# 'Nagios Admin'.
|
|
# @param [String] ng_contact_groups The contact groups for the default contact.
|
|
# Default is 'admins'.
|
|
# @param [String] ng_contact_email The email address for the default contact.
|
|
# Default is 'nagiosadmin@example.net'.
|
|
# @param [String] ng_hostgroup_name The name of the default host group. Default
|
|
# is 'linux-servers'.
|
|
# @param [String] ng_hostgroup_alias The alias of the default host group. Default
|
|
# is 'Linux Servers'.
|
|
# @param [String] ng_max_check_attempts The maximum number of check attempts
|
|
# before a host or service is considered down. Default is '10'.
|
|
# @param [Boolean] ng_enable_swap_check Whether to enable the check_swap
|
|
# command. Default is true.
|
|
# @param [String] ng_status_upd_interval The interval in seconds for Nagios
|
|
# to update the status file. Default is '10'.
|
|
# @param [String] ng_check_ext_commands Whether to allow external commands
|
|
# to be submitted to Nagios. Default is '1'.
|
|
# @param [String] ng_user The user to run the Nagios service as.
|
|
# Default is 'nagios'.
|
|
# @param [Boolean] ng_enable_target Whether to enable the generation of host and
|
|
# service configuration files for the Nagios server. Default is true.
|
|
# @param [String] ng_contactgroup_members The members of the default contact
|
|
# group. Default is 'nagiosadmin'.
|
|
# @param [Boolean] ng_purge_target Whether to purge unmanaged host and services
|
|
# configuration files. Default is true.
|
|
# @param [String] ng_event_broker_options The event broker options for Nagios.
|
|
# Default is '-1'.
|
|
# @param [Boolean] ng_enable_query_handler Whether to enable the Nagios query
|
|
# handler. Default is false.
|
|
# @param [Array] ng_event_broker_module The event broker modules for Nagios.
|
|
# Default is [].
|
|
# @param [String] ng_log_rotation_method The log rotation method for Nagios.
|
|
# Default is 'd'.
|
|
# @param [String] ng_use_syslog Whether to use syslog for logging in Nagios.
|
|
# Default is '1'.
|
|
# @param [String] ng_log_notifications Whether to log notifications in Nagios.
|
|
# Default is '1'.
|
|
# @param [String] ng_log_service_retries Whether to log service check retries
|
|
# in Nagios. Default is '1'.
|
|
# @param [String] ng_log_host_retries Whether to log host check retries
|
|
# in Nagios. Default is '1'.
|
|
# @param [String] ng_log_event_handlers Whether to log event handlers in Nagios.
|
|
# Default is '1'.
|
|
# @param [String] ng_log_initial_states Whether to log initial states in Nagios.
|
|
# Default is '0'.
|
|
# @param [String] ng_log_current_states Whether to log current states in Nagios.
|
|
# Default is '1'.
|
|
# @param [String] ng_log_external_commands Whether to log external commands in
|
|
# Nagios. Default is '1'.
|
|
# @param [String] ng_log_passive_checks Whether to log passive checks in Nagios.
|
|
# Default is '1'.
|
|
# @param [Array] ng_glob_host_evt_handler An array of global host event handlers
|
|
# for Nagios. Default is [].
|
|
# @param [Array] ng_glob_svc_evt_handler An array of global service event handlers
|
|
# for Nagios. Default is [].
|
|
# @param [String] ng_svc_int_check_delay The service inter-check delay method
|
|
# for Nagios. Default is 's'.
|
|
# @param [String] ng_max_svc_check_spread The maximum service check spread for
|
|
# Nagios. Default is '30'.
|
|
# @param [String] ng_svc_interleave_factor The service interleave factor for
|
|
# Nagios. Default is 's'.
|
|
# @param [String] ng_host_int_check_delay The host inter-check delay method
|
|
# for Nagios. Default is 's'.
|
|
# @param [String] ng_max_host_check_spread The maximum host check spread for
|
|
# Nagios. Default is '30'.
|
|
# @param [String] ng_max_concurrent_checks The maximum number of concurrent checks
|
|
# for Nagios. Default is '0'.
|
|
# @param [String] ng_check_res_reaper_freq The check result reaper frequency for
|
|
# Nagios. Default is '10'.
|
|
# @param [String] ng_max_check_res_reap_time The maximum check result reaper time
|
|
# for Nagios. Default is '30'.
|
|
# @param [String] ng_max_check_res_file_age The maximum check result file age for
|
|
# Nagios. Default is '3600'.
|
|
# @param [String] ng_cached_h_check_horizon The cached host check horizon for
|
|
# Nagios. Default is '15'.
|
|
# @param [String] ng_cached_s_check_horizon The cached service check horizon for
|
|
# Nagios. Default is '15'.
|
|
# @param [String] ng_pred_host_dep_checks Whether to enable predictive host
|
|
# dependency checks in Nagios. Default is '1'.
|
|
# @param [String] ng_pred_svc_dep_checks Whether to enable predictive service
|
|
# dependency checks in Nagios. Default is '1'.
|
|
# @param [String] ng_soft_state_dependencies Whether to enable soft state
|
|
# dependencies in Nagios. Default is '0'.
|
|
# @param [String] ng_time_change_threshold The time change threshold
|
|
# for Nagios. Default is '900'.
|
|
# @param [String] ng_auto_reschedule_checks Whether to automatically reschedule
|
|
# checks in Nagios. Default is '1'.
|
|
# @param [String] ng_auto_reschedule_intval The interval for automatically
|
|
# rescheduling checks in Nagios. Default is '30'.
|
|
# @param [String] ng_auto_reschedule_window The window for automatically
|
|
# rescheduling checks in Nagios. Default is '180'.
|
|
# @param [String] ng_service_check_timeout The service check timeout
|
|
# for Nagios. Default is '60'.
|
|
# @param [String] ng_host_check_timeout The host check timeout for Nagios.
|
|
# Default is '30'.
|
|
# @param [String] ng_event_handler_timeout The event handler timeout
|
|
# for Nagios. Default is '30'.
|
|
# @param [String] ng_notification_timeout The notification timeout for Nagios.
|
|
# Default is '30'.
|
|
# @param [String] ng_ocsp_timeout The OCSP timeout for Nagios. Default is '5'.
|
|
# @param [String] ng_ochp_timeout The OCHP timeout for Nagios. Default is '5'.
|
|
# @param [String] ng_perfdata_timeout The performance data timeout for Nagios.
|
|
# Default is '5'.
|
|
# @param [String] ng_retain_state_inf Whether to retain state information in
|
|
# Nagios. Default is '1'.
|
|
# @param [String] ng_retention_update_intval The retention update interval for
|
|
# Nagios. Default is '60'.
|
|
# @param [String] ng_use_ret_program_state Whether to use the retention program
|
|
# state in Nagios. Default is '1'.
|
|
# @param [String] ng_use_ret_scheduling_info Whether to use retained scheduling
|
|
# info in Nagios. Default is '1'.
|
|
# @param [String] ng_ret_host_attr_mask The retention host attribute mask for
|
|
# Nagios. Default is '0'.
|
|
# @param [String] ng_ret_service_attr_mask The retention service attribute mask
|
|
# for Nagios. Default is '0'.
|
|
# @param [String] ng_ret_proc_host_attr_mask The retention process host
|
|
# attribute mask for Nagios. Default is '0'.
|
|
# @param [String] ng_ret_proc_svc_attr_mask The retention process service
|
|
# attribute mask for Nagios. Default is '0'.
|
|
# @param [String] ng_ret_contact_h_attr_mask The retention contact host
|
|
# attribute mask for Nagios. Default is '0'.
|
|
# @param [String] ng_ret_contact_s_attr_mask The retention contact service
|
|
# attribute mask for Nagios. Default is '0'.
|
|
# @param [String] ng_interval_length The interval length for Nagios.
|
|
# Default is '60'.
|
|
# @param [String] ng_check_for_updates Whether to check for updates in Nagios.
|
|
# Default is '1'.
|
|
# @param [String] ng_bare_update_check Whether to perform a bare update check
|
|
# in Nagios. Default is '1'.
|
|
# @param [String] ng_use_aggr_host_checking Whether to use aggressive host checking
|
|
# in Nagios. Default is '0'.
|
|
# @param [String] ng_execute_service_checks Whether to execute service checks in
|
|
# Nagios at initial start. Default is '1'.
|
|
# @param [String] ng_accept_pass_svc_checks Whether to accept passive service
|
|
# checks in Nagios. Default is '1'.
|
|
# @param [String] ng_execute_host_checks Whether to execute host checks in Nagios
|
|
# at initial start. Default is '1'.
|
|
# @param [String] ng_accept_pass_host_checks Whether to accept passive host
|
|
# checks in Nagios. Default is '1'.
|
|
# @param [String] ng_enable_notifications Whether to enable notifications in
|
|
# Nagios when it is initially started. Default is '1'.
|
|
# @param [String] ng_enable_event_handlers Whether to enable event handlers in
|
|
# Nagios when it is initially started. Default is '1'.
|
|
# @param [String] ng_process_perf_data Whether to process performance data in
|
|
# Nagios when it is initially started. Default is '0'.
|
|
# @param [String] ng_host_perfdata_command The command to process host
|
|
# performance data in Nagios. Default is 'process-host-perfdata'.
|
|
# @param [String] ng_svc_perfdata_command The command to process service
|
|
# performance data in Nagios. Default is 'process-service-perfdata'.
|
|
# @param [String] ng_host_perfdata_template The template for host performance
|
|
# data in Nagios.
|
|
# @param [String] ng_svc_perfdata_template The template for service performance
|
|
# data in Nagios.
|
|
# @param [String] ng_host_perfdata_file_mode The file mode for host performance
|
|
# data in Nagios. Default is 'a'.
|
|
# @param [String] ng_svc_perfdata_file_mode The file mode for service performance
|
|
# data in Nagios. Default is 'a'.
|
|
# @param [String] ng_h_perfdata_proc_intval The interval for processing host
|
|
# performance data in Nagios. Default is '0'.
|
|
# @param [String] ng_s_perfdata_proc_intval The interval for processing service
|
|
# performance data in Nagios. Default is '0'.
|
|
# @param [String] ng_h_perfdata_proc_cmd The command to process host performance
|
|
# data in Nagios. Default is 'process-host-perfdata'.
|
|
# @param [String] ng_s_perfdata_proc_cmd The command to process service performance
|
|
# data in Nagios. Default is 'process-service-perfdata'.
|
|
# @param [String] ng_h_perfdata_proc_e_result The expected result for processing
|
|
# host performance data in Nagios. Default is '0'.
|
|
# @param [String] ng_s_perfdata_proc_e_result The expected result for processing
|
|
# service performance data in Nagios. Default is '0'.
|
|
# @param [String] ng_obsess_over_services Whether to enable obsessing over
|
|
# services in Nagios. Default is '0'.
|
|
# @param [String] ng_ocsp_command The command to run for obsessive compulsive
|
|
# service processing in Nagios. Default is 'somecommand'.
|
|
# @param [String] ng_obsess_over_hosts Whether to enable obsessing over
|
|
# hosts in Nagios. Default is '0'.
|
|
# @param [String] ng_ochp_command The command to run for obsessive compulsive
|
|
# host processing in Nagios. Default is 'somecommand'.
|
|
# @param [String] ng_translate_pass_h_checks Whether to translate passive host
|
|
# checks in Nagios. Default is '0'.
|
|
# @param [String] ng_pass_h_checks_are_soft Whether to treat passive host
|
|
# checks as soft in Nagios. Default is '0'.
|
|
# @param [String] ng_check_orphaned_svc Whether to check for orphaned service
|
|
# checks in Nagios. Default is '1'.
|
|
# @param [String] ng_check_orphaned_hosts Whether to check for orphaned host
|
|
# checks in Nagios. Default is '1'.
|
|
# @param [String] ng_check_service_freshness Whether to check for service
|
|
# freshness in Nagios. Default is '1'.
|
|
# @param [String] ng_svc_fresh_check_intval The interval for checking service
|
|
# freshness in Nagios. Default is '60'.
|
|
# @param [String] ng_svc_check_timeout_state The state to set a service to when
|
|
# it times out in Nagios. Default is 'c'.
|
|
# @param [String] ng_check_host_freshness Whether to check for host freshness in
|
|
# Nagios. Default is '1'.
|
|
# @param [String] ng_host_fresh_check_intval The interval for checking host
|
|
# freshness in Nagios. Default is '60'.
|
|
# @param [String] ng_add_freshness_latency The additional latency threshold for
|
|
# freshness checks in Nagios. Default is '15'.
|
|
# @param [String] ng_enable_flap_detection Whether to enable flap detection in
|
|
# Nagios. Default is '1'.
|
|
# @param [String] ng_low_svc_flap_threshold The low service flap threshold for
|
|
# Nagios. Default is '5.0'.
|
|
# @param [String] ng_high_svc_flap_threshold The high service flap threshold for
|
|
# Nagios. Default is '20.0'.
|
|
# @param [String] ng_low_h_flap_threshold The low host flap threshold for
|
|
# Nagios. Default is '5.0'.
|
|
# @param [String] ng_high_h_flap_threshold The high host flap threshold for
|
|
# Nagios. Default is '20.0'.
|
|
# @param [String] ng_date_format The date format for Nagios. Default is 'euro'.
|
|
# @param [Boolean] ng_use_timezone_offset Whether to use timezone offset in
|
|
# Nagios. Default is false.
|
|
# @param [String] ng_use_timezone The timezone to use in Nagios if timezone
|
|
# offset is enabled. Default is 'UTC'.
|
|
# @param [String] ng_illegal_obj_name_chars A string of characters that are not
|
|
# allowed in object names in Nagios. Default is '~!$%^&*|\'"<>?,()='.
|
|
# @param [String] ng_ill_macro_output_chars A string of characters that are not
|
|
# allowed in macro output in Nagios. Default is '`~$&|\'"<>?,()='.
|
|
# @param [String] ng_use_regexp_matching Whether to use regular expression
|
|
# matching in Nagios. Default is '0'.
|
|
# @param [String] ng_true_regexp_matching Whether to use true regular expression
|
|
# matching in Nagios. Default is '0'.
|
|
# @param [String] ng_mail_user The email address for the Nagios administrator.
|
|
# Default is 'nagios@localhost'.
|
|
# @param [String] ng_page_user The pager address for the Nagios administrator.
|
|
# Default is 'nagios@localhost'.
|
|
# @param [String] ng_daemon_dumps_core Whether to allow the Nagios daemon to dump
|
|
# core files. Default is '0'.
|
|
# @param [String] ng_use_large_inst_tweaks Whether to use large instance tweaks
|
|
# in Nagios. Default is '0'.
|
|
# @param [String] ng_enable_env_macros Whether to enable environment macros in
|
|
# Nagios. Default is '0'.
|
|
# @param [String] ng_free_child_process_mem Whether to free child process memory
|
|
# after processing checks in Nagios. Default is '1'.
|
|
# @param [String] ng_child_proc_fork_twice Whether to fork child processes twice
|
|
# in Nagios. Default is '1'.
|
|
# @param [String] ng_debug_level The debug level for Nagios. Default is '0'.
|
|
# @param [String] ng_debug_verbosity The debug verbosity for Nagios. Default is '1'.
|
|
# @param [String] ng_max_debug_file_size The maximum debug file size for Nagios.
|
|
# Default is '1000000'.
|
|
# @param [String] ng_allow_empty_hostgroups Whether to allow empty hostgroup
|
|
# assignments in Nagios. Default is '1'.
|
|
# @param [String] ng_check_workers The number of check worker processes for Nagios.
|
|
# Default is '3'.
|
|
# @param [String] ng_host_down_svc_checks Whether to disable service checks when
|
|
# a host is down in Nagios. Default is '0'.
|
|
# @param [String] ng_svc_skip_chk_dep_status The status to skip for dependency checks
|
|
# in Nagios. Default is '-1'.
|
|
# @param [String] ng_svc_skip_chk_par_status The status to skip for parent checks
|
|
# in Nagios. Default is '-1'.
|
|
# @param [String] ng_svc_skip_chk_par_h_d_sts The status to skip for parent
|
|
# host down checks in Nagios. Default is '-1'.
|
|
# @param [String] ng_host_skip_chk_dep_status The status to skip for host
|
|
# dependency checks in Nagios. Default is '-1'.
|
|
# @param [Boolean] ng_enable_load_ctl_options Whether to enable load control
|
|
# options in Nagios. Default is false.
|
|
# @param [String] ng_load_ctl_options The load control options for Nagios.
|
|
# Default is 'jobs_max=100;backoff_limit=10;rampup_change=5'.
|
|
# @param [String] ng_pending_states Whether to use pending states in Nagios.
|
|
# Default is '1'.
|
|
# @param [String] ng_use_auth Whether to use authentication in Nagios.
|
|
# Default is '1'.
|
|
# @param [String] ng_use_ssl_auth Whether to use SSL authentication in Nagios.
|
|
# Default is '0'.
|
|
# @param [Boolean] ng_enable_def_user Whether to enable the default user in
|
|
# Nagios. Default is false.
|
|
# @param [String] ng_def_user_name The name of the default user in Nagios.
|
|
# Change to a suitable value.
|
|
# @param [String] ng_sysinfo_auth Additional username for the sysinfo
|
|
# authentication in Nagios. Choose a suitable value or leave empty
|
|
# @param [String] ng_confinfo_auth Additional username for the confinfo
|
|
# authentication in Nagios. Choose a suitable value or leave empty
|
|
# @param [String] ng_command_auth Additional username for the command
|
|
# authentication in Nagios. Choose a suitable value or leave empty
|
|
# @param [String] ng_hostview_auth Additional username for the host view
|
|
# authentication in Nagios. Choose a suitable value or leave empty
|
|
# @param [String] ng_serviceview_auth Additional username for the service view
|
|
# authentication in Nagios. Choose a suitable value or leave empty
|
|
# @param [String] ng_host_cmd_auth Additional username for the host command
|
|
# authentication in Nagios. Choose a suitable value or leave empty
|
|
# @param [String] ng_svc_cmd_auth Additional username for the service command
|
|
# authentication in Nagios. Choose a suitable value or leave empty
|
|
# @param [String] ng_readonly_auth Additional username for the read-only
|
|
# authentication in Nagios. Choose a suitable value or leave empty
|
|
# @param [Boolean] ng_use_colormap Whether to use colormap in Nagios.
|
|
# Default is false.
|
|
# @param [String] ng_colormap_red The color code for red in the colormap for
|
|
# Nagios. Default is '255'.
|
|
# @param [String] ng_colormap_green The color code for green in the colormap for
|
|
# Nagios. Default is '255'.
|
|
# @param [String] ng_colormap_blue The color code for blue in the colormap for
|
|
# Nagios. Default is '255 '.
|
|
# @param [String] ng_statusmap_layout The layout for the status map in Nagios.
|
|
# Default is '6'.
|
|
# @param [String] ng_wrl_layout The layout for the WRL in Nagios. Default is '4'.
|
|
# @param [Boolean] ng_incl_own_wrl Whether to include own WRL in Nagios.
|
|
# Default is false.
|
|
# @param [String] ng_statuswrl_incl The WRL file to include in Nagios.
|
|
# Default is empty.
|
|
# @param [String] ng_ping_syntax The syntax for the check_ping command in Nagios.
|
|
# Default is '/bin/ping -n -U -c 5 $HOSTADDRESS$'.
|
|
# @param [String] ng_refresh_rate The refresh rate for the Nagios CGIs.
|
|
# Default is '90'.
|
|
# @param [String] ng_enable_page_tour Whether to enable the page tour in the
|
|
# Nagios web interface. Default is '1'.
|
|
# @param [String] ng_result_limit The result limit for the Nagios CGIs.
|
|
# Default is '100'.
|
|
# @param [String] ng_escape_html_tags Whether to escape HTML tags in the Nagios
|
|
# web interface. Default is '1'.
|
|
# @param [String] ng_statusmap_img The image to use for the status map in Nagios.
|
|
# Choose a suitable value or leave empty to use the default image.
|
|
# @param [Boolean] ng_use_sound Whether to use sound in the Nagios web interface.
|
|
# Default is false.
|
|
# @param [String] ng_host_unreachable The sound file to play when a host is
|
|
# unreachable. Default is 'hostdown.wav'.
|
|
# @param [String] ng_host_down The sound file to play when a host is down.
|
|
# Default is 'hostdown.wav'.
|
|
# @param [String] ng_svc_critical The sound file to play when a service is
|
|
# critical. Default is 'critical.wav'.
|
|
# @param [String] ng_svc_warn The sound file to play when a service is warning.
|
|
# Default is 'warning.wav'.
|
|
# @param [String] ng_svc_unknown The sound file to play when a service is unknown.
|
|
# Default is 'warning.wav'.
|
|
# @param [String] ng_normal_sound The sound file to play when a host or service
|
|
# returns to normal. Default is 'noproblem.wav'.
|
|
# @param [String] ng_action_url_target The target for action URLs in the Nagios
|
|
# web interface. Default is '_blank'.
|
|
# @param [String] ng_notes_url_target The target for notes URLs in the Nagios
|
|
# web interface. Default is '_blank'.
|
|
# @param [String] ng_lock_author_names Whether to lock author names in
|
|
# the Nagios web interface. Default is '1'.
|
|
# @param [Boolean] ng_enable_splunk Whether to enable Splunk integration
|
|
# in Nagios. Default is false.
|
|
# @param [String] ng_splunk_url The URL for the Splunk instance in Nagios.
|
|
# Default is 'https://splunk.example.net:8000'.
|
|
# @param [String] ng_navbar_addresses Whether to enable navbar search for
|
|
# addresses in Nagios. Default is '1'.
|
|
# @param [String] ng_navbar_aliases Whether to enable navbar search for aliases
|
|
# in Nagios. Default is '1'.
|
|
# @param [String] ng_ack_no_sticky Whether to allow non-sticky acknowledgements
|
|
# in Nagios. Default is '1'.
|
|
# @param [String] ng_ack_no_send Whether to allow non-send acknowledgements
|
|
# in Nagios. Default is '1'.
|
|
# @param [String] ng_tac_cgi_hard_only Whether to show only HARD states in the
|
|
# Tactical Overview in Nagios. Default is '0'.
|
|
# @param [String] ng_servicegroup_name The name of the default service group.
|
|
# Default is 'linux-services'.
|
|
# @param [String] ng_servicegroup_alias The alias of the default service group.
|
|
# Default is 'Linux Services'.
|
|
# @param [Boolean] ng_enable_fail2ban Whether to enable fail2ban monitoring in
|
|
# Nagios. Default is false.
|
|
# @param [String] ng_jail_order The order number of jails in the jail.d directory.
|
|
# Default is '10'.
|
|
# @param [String] ng_jail_enable Whether to enable the monitoring of a specific
|
|
# jail in Nagios. Default is 'true'.
|
|
# @param [String] ng_fail2ban_logpath The path to the nagios access log to
|
|
# monitor. Default is '/var/log/httpd/access_log'.
|
|
# @param [String] ng_fail2ban_maxretry The maximum number of retries before a
|
|
# host is considered banned in fail2ban. Default is '5'.
|
|
# @param [String] ng_fail2ban_bantime The time in seconds that a host is banned
|
|
# in fail2ban. Default is '3600'.
|
|
# @param [String] ng_fail2ban_ignoreip A comma-separated list of IP addresses
|
|
# to ignore in fail2ban. Default is '127.0.0.1/8 ::1 192.168.1.0/24'.
|
|
###############################################################################
|
|
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,
|
|
String $ng_main_user = 'nagios',
|
|
String $ng_main_password = 'nagios',
|
|
String $ng_max_check_attempts = '10',
|
|
String $ng_status_upd_interval = '10',
|
|
String $ng_check_ext_commands = '1',
|
|
String $ng_user = 'nagios',
|
|
Boolean $ng_enable_target = true,
|
|
Boolean $ng_purge_target = true,
|
|
|
|
# contact groups
|
|
String $ng_contactgroup_name = 'admins',
|
|
String $ng_contactgroup_alias = 'Nagios Administrators',
|
|
String $ng_contactgroup_members = 'nagiosadmin',
|
|
|
|
# contacts
|
|
String $ng_contact_name = 'nagiosadmin',
|
|
String $ng_contact_alias = 'Nagios Admin',
|
|
String $ng_contact_groups = 'admins',
|
|
String $ng_contact_email = 'nagiosadmin@example.net',
|
|
|
|
# hostgroups
|
|
String $ng_hostgroup_name = 'linux-servers',
|
|
String $ng_hostgroup_alias = 'Linux Servers',
|
|
|
|
# servicegroups
|
|
String $ng_servicegroup_name = 'linux-services',
|
|
String $ng_servicegroup_alias = 'Linux Services',
|
|
|
|
# nagios.cfg
|
|
String $ng_log_file = '/var/log/nagios/nagios.log',
|
|
String $ng_event_broker_options = '-1',
|
|
Boolean $ng_enable_query_handler = false,
|
|
Array $ng_event_broker_module = [],
|
|
String $ng_log_rotation_method = 'd',
|
|
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',
|
|
Array $ng_glob_host_evt_handler = [],
|
|
Array $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_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 = '1',
|
|
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_ochp_timeout = '5',
|
|
String $ng_perfdata_timeout = '5',
|
|
String $ng_retain_state_inf = '1',
|
|
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 = '1',
|
|
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_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$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',
|
|
String $ng_s_perfdata_proc_cmd = 'process-service-perfdata',
|
|
String $ng_h_perfdata_proc_e_result = '0',
|
|
String $ng_s_perfdata_proc_e_result = '0',
|
|
String $ng_obsess_over_services = '0',
|
|
String $ng_ocsp_command = 'somecommand',
|
|
String $ng_obsess_over_hosts = '0',
|
|
String $ng_ochp_command = 'somecommand',
|
|
String $ng_translate_pass_h_checks = '0',
|
|
String $ng_pass_h_checks_are_soft = '0',
|
|
String $ng_check_orphaned_svc = '1',
|
|
String $ng_check_orphaned_hosts = '1',
|
|
String $ng_check_service_freshness = '1',
|
|
String $ng_svc_fresh_check_intval = '60',
|
|
String $ng_svc_check_timeout_state = 'c',
|
|
String $ng_check_host_freshness = '1',
|
|
String $ng_host_fresh_check_intval = '60',
|
|
String $ng_add_freshness_latency = '15',
|
|
String $ng_enable_flap_detection = '1',
|
|
String $ng_low_svc_flap_threshold = '5.0',
|
|
String $ng_high_svc_flap_threshold = '20.0',
|
|
String $ng_low_h_flap_threshold = '5.0',
|
|
String $ng_high_h_flap_threshold = '20.0',
|
|
String $ng_date_format = 'euro',
|
|
Boolean $ng_use_timezone_offset = false,
|
|
String $ng_use_timezone = 'UTC',
|
|
String $ng_illegal_obj_name_chars = '~!$%^&*|\'"<>?,()=',
|
|
String $ng_ill_macro_output_chars = '`~$&|\'"<>',
|
|
String $ng_use_regexp_matching = '0',
|
|
String $ng_true_regexp_matching = '0',
|
|
String $ng_mail_user = 'nagios@localhost',
|
|
String $ng_page_user = 'nagios@localhost',
|
|
String $ng_daemon_dumps_core = '0',
|
|
String $ng_use_large_inst_tweaks = '0',
|
|
String $ng_enable_env_macros = '0',
|
|
String $ng_free_child_process_mem = '1',
|
|
String $ng_child_proc_fork_twice = '1',
|
|
String $ng_debug_level = '0',
|
|
String $ng_debug_verbosity = '1',
|
|
String $ng_max_debug_file_size = '1000000',
|
|
String $ng_allow_empty_hostgroups = '1',
|
|
String $ng_check_workers = '3',
|
|
String $ng_host_down_svc_checks = '0',
|
|
String $ng_svc_skip_chk_dep_status = '-1',
|
|
String $ng_svc_skip_chk_par_status = '-1',
|
|
String $ng_svc_skip_chk_par_h_d_sts = '-1',
|
|
String $ng_host_skip_chk_dep_status = '-1',
|
|
Boolean $ng_enable_load_ctl_options = false,
|
|
String $ng_load_ctl_options = 'jobs_max=100;backoff_limit=10;rampup_change=5',
|
|
|
|
# cgi.cfg
|
|
String $ng_context_help = '1',
|
|
String $ng_pending_states = '1',
|
|
String $ng_use_auth = '1',
|
|
String $ng_use_ssl_auth = '0',
|
|
Boolean $ng_enable_def_user = false,
|
|
String $ng_def_user_name = 'ChangeME',
|
|
Optional[String] $ng_sysinfo_auth = undef,
|
|
Optional[String] $ng_confinfo_auth = undef,
|
|
Optional[String] $ng_command_auth = undef,
|
|
Optional[String] $ng_hostview_auth = undef,
|
|
Optional[String] $ng_serviceview_auth = undef,
|
|
Optional[String] $ng_host_cmd_auth = undef,
|
|
Optional[String] $ng_svc_cmd_auth = undef,
|
|
Optional[String] $ng_readonly_auth = undef,
|
|
Optional[String] $ng_statusmap_img = undef,
|
|
Boolean $ng_use_colormap = false,
|
|
String $ng_colormap_red = '255',
|
|
String $ng_colormap_green = '255',
|
|
String $ng_colormap_blue = '255',
|
|
String $ng_statusmap_layout = '6',
|
|
String $ng_wrl_layout = '4',
|
|
Boolean $ng_incl_own_wrl = false,
|
|
Optional[String] $ng_statuswrl_incl = undef,
|
|
String $ng_ping_syntax = '/bin/ping -n -U -c 5 $HOSTADDRESS$',
|
|
String $ng_refresh_rate = '90',
|
|
String $ng_enable_page_tour = '1',
|
|
String $ng_result_limit = '100',
|
|
String $ng_escape_html_tags = '1',
|
|
Boolean $ng_use_sound = false,
|
|
String $ng_host_unreachable = 'hostdown.wav',
|
|
String $ng_host_down = 'hostdown.wav',
|
|
String $ng_svc_critical = 'critical.wav',
|
|
String $ng_svc_warn = 'warning.wav',
|
|
String $ng_svc_unknown = 'warning.wav',
|
|
String $ng_normal_sound = 'noproblem.wav',
|
|
String $ng_action_url_target = '_blank',
|
|
String $ng_notes_url_target = '_blank',
|
|
String $ng_lock_author_names = '1',
|
|
Boolean $ng_enable_splunk = false,
|
|
String $ng_splunk_url = 'https://splunk.example.net:8000',
|
|
String $ng_navbar_addresses = '1',
|
|
String $ng_navbar_aliases = '1',
|
|
String $ng_ack_no_sticky = '0',
|
|
String $ng_ack_no_send = '0',
|
|
String $ng_tac_cgi_hard_only = '0',
|
|
|
|
# httpd
|
|
Boolean $ng_use_https = false,
|
|
|
|
# check command parameters
|
|
## ping
|
|
String $ng_ping_warn = '100.0,20%',
|
|
String $ng_ping_crit = '500.0,60%',
|
|
String $ng_ping_ensure = 'present',
|
|
## disk
|
|
String $ng_disk_warn = '20%',
|
|
String $ng_disk_crit = '10%' ,
|
|
String $ng_disk_ensure = 'present',
|
|
# swap
|
|
String $ng_swap_warn = '20',
|
|
String $ng_swap_crit = '10',
|
|
String $ng_swap_ensure = 'present',
|
|
# users
|
|
String $ng_users_warn = '20',
|
|
String $ng_users_crit = '50',
|
|
String $ng_users_ensure = 'present',
|
|
#total procs
|
|
String $ng_procs_tot_warn = '330',
|
|
String $ng_procs_tot_crit = '400',
|
|
String $ng_procs_tot_param = 'RDST',
|
|
String $ng_procs_tot_ensure = 'present',
|
|
# zombie procs
|
|
String $ng_procs_z_warn = '10',
|
|
String $ng_procs_z_crit = '30',
|
|
String $ng_procs_z_param = 'Z',
|
|
String $ng_procs_z_ensure = 'present',
|
|
# load
|
|
String $ng_load_warn = '5.00,4.00,3.00',
|
|
String $ng_load_crit = '10.00,6.00,4.00',
|
|
String $ng_load_ensure = 'present',
|
|
|
|
# single nagios checks
|
|
Boolean $ng_enable_swap_check = true,
|
|
|
|
# fail2ban
|
|
Boolean $ng_enable_fail2ban = false,
|
|
String $ng_jail_order = '10',
|
|
Boolean $ng_jail_enable = true,
|
|
#String $ng_fail2ban_jail = 'httpd',
|
|
String $ng_fail2ban_logpath = '/var/log/httpd/access_log',
|
|
#String $ng_fail2ban_regex = 'sshd.*Failed password for',
|
|
String $ng_fail2ban_maxretry = '5',
|
|
#String $ng_fail2ban_findtime = '600',
|
|
String $ng_fail2ban_bantime = '3600',
|
|
String $ng_fail2ban_ignoreip = '127.0.0.1/8 ::1 192.168.1.0/24'
|
|
|
|
) {
|
|
# Default facts
|
|
$fqdn = $facts['networking']['fqdn']
|
|
$hostname = $facts['networking']['hostname']
|
|
$domain = $facts['networking']['domain']
|
|
$os_name = $facts['os']['name']
|
|
$os_release = $facts['os']['release']['major']
|
|
|
|
# service
|
|
$ng_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'
|
|
$ng_cgi_cfg_file = "${ng_main_dir}/cgi.cfg"
|
|
$ng_cgi_cfg_erb = 'confdroid_nagios/nagios/cgi_cfg.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.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.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.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.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.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_service_cmd = 'check_nagios!/var/spool/nagios/status.dat!5!/usr/sbin/nagios'
|
|
$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_resource_file = "${ng_private_dir}/resource.cfg"
|
|
$ng_resource_erb = 'confdroid_nagios/nagios/resource_cfg.erb'
|
|
$ng_object_cache_file = "${ng_spool_dir}/objects.cache"
|
|
$ng_precached_obj_file = "${ng_spool_dir}/objects.precache"
|
|
$ng_status_file = "${ng_spool_dir}/status.dat"
|
|
$ng_command_file = "${ng_cmd_dir}/nagios.cmd"
|
|
$ng_lock_file = "${ng_run_dir}/nagios.pid"
|
|
$ng_temp_file = "${ng_spool_dir}/nagios.tmp"
|
|
$ng_check_result_path = "${ng_spool_dir}/checkresults"
|
|
$ng_state_retention_file = "${ng_spool_dir}/retention.dat"
|
|
$ng_host_perfdata_file = "${ng_log_dir}/host-perfdata"
|
|
$ng_svc_perfdata_file = "${ng_log_dir}/service-perfdata"
|
|
$ng_debug_file = "${ng_log_dir}/nagios.debug"
|
|
|
|
# fail2ban
|
|
$fn_jail_path = '/etc/fail2ban/jail.d'
|
|
$fn_jail_file = "${fn_jail_path}/${ng_jail_order}-nagios.conf"
|
|
$fn_filter_path = '/etc/fail2ban/filter.d'
|
|
$fn_filter_file = "${fn_filter_path}/${ng_jail_order}-nagios.conf"
|
|
|
|
# includes must be last
|
|
include confdroid_nagios::main::config
|
|
}
|