diff --git a/manifests/nagios/objects/add_hostgroups.pp b/manifests/nagios/objects/add_hostgroups.pp index 18255ad..58c1648 100644 --- a/manifests/nagios/objects/add_hostgroups.pp +++ b/manifests/nagios/objects/add_hostgroups.pp @@ -25,6 +25,9 @@ # ng_hostgroup_name => 'example_hostgroup', # ng_hostgroup_alias => 'Example Hostgroup', # } +# @param [string] ng_hostgroup_name Specify the hostgroup short name. +# @param [string] ng_hostgroup_alias Specify the hostgroup alias (long name). +# @param [string] ng_hostgroup_register Whether to register the hostgroup. ############################################################################### define cd_nagios::nagios::objects::add_hostgroups ( diff --git a/manifests/nagios/objects/add_timeperiod_rules.pp b/manifests/nagios/objects/add_timeperiod_rules.pp index a590774..64e240c 100644 --- a/manifests/nagios/objects/add_timeperiod_rules.pp +++ b/manifests/nagios/objects/add_timeperiod_rules.pp @@ -18,8 +18,8 @@ # # You should have received a copy of the GNU General Public License # along with this program. If not, see . -# @summary Class manages /etc/nagios/conf.d/nagios_timeperiods_add.cfg. incl. -# additional timeperiods via define. +# @summary Class manages /etc/nagios_conf.d/nagios_timeperiods_add.cfg and +# add. hostgroups through external Puppet rules via define. # cd_nagios::nagios::objects::add_timeperiods { 'example_timeperiod': # ng_timeperiod_name => 'example_timeperiod', # ng_timeperiod_alias => 'Example timeperiod', diff --git a/manifests/nagios/objects/add_timeperiods.pp b/manifests/nagios/objects/add_timeperiods.pp index f33a823..d0b9efa 100644 --- a/manifests/nagios/objects/add_timeperiods.pp +++ b/manifests/nagios/objects/add_timeperiods.pp @@ -22,8 +22,15 @@ # extermal Puppet rules. # @example # cd_nagios::nagios::objects::add_timeperiods { 'example_timeperiod': -# ng_timeperiod_name => 'example_timeperiod', -# ng_timeperiod_alias => 'Example timeperiod', +# ng_timeperiod_name => 'example_timeperiod', +# ng_timeperiod_alias => 'Example timeperiod', +# ng_timep_monday => '00:00-00:00', +# ng_timep_tuesday => '00:00-00:00', +# ng_timep_wednesday => '00:00-00:00', +# ng_timep_thursday => '00:00-00:00', +# ng_timep_friday => '00:00-00:00', +# ng_timep_saturday => '00:00-00:00', +# ng_timep_sunday => '00:00-00:00', # } # @param [string] ng_timep_name Specify the timeperiod short name. # @param [string] ng_timep_alias Specify the timeperiod alias (long name) diff --git a/manifests/nagios/objects/templates.pp b/manifests/nagios/objects/templates.pp index bf11aae..63e9b6f 100644 --- a/manifests/nagios/objects/templates.pp +++ b/manifests/nagios/objects/templates.pp @@ -96,7 +96,6 @@ # @param [string] ng_retry_interval Re-check the service every x minutes # until a hard state can be determined. # @param [string] ng_host_check_command the check command for host checks -# @param [string] ################################################################################ define cd_nagios::nagios::objects::templates ( $ng_template_object = undef, diff --git a/manifests/params.pp b/manifests/params.pp index 0649557..d80096a 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -892,7 +892,6 @@ $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', -$ng_nagios_service_cmd = 'check_nagios!/var/log/nagios/status.dat!5!/usr/sbin/nagios', ) { @@ -913,85 +912,85 @@ $ng_nagios_service_cmd = 'check_nagios!/var/log/nagios/status.dat!5!/usr/sb } # service -$ng_service = 'nagios' -$ae_service = 'httpd' +$ng_service = 'nagios' +$ae_service = 'httpd' # 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_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" # files -$ng_main_config = "${ng_main_dir}/nagios.cfg" -$ng_cgi_cfg_file = "${ng_main_dir}/cgi.cfg" -$ng_cgi_cfg_erb = 'cd_nagios/nagios/cgi_cfg.erb' -$ng_htpasswd_file = "${ng_main_dir}/passwd" -$ng_htpasswd_head = 'cd_nagios/nagios/htpasswd_head.erb' -$ng_htpasswd_rule = 'cd_nagios/nagios/htpasswd_rule.erb' -$ng_taccgi_erb = 'cd_nagios/selinux/taccgi.erb' -$ng_statcgi_erb = 'cd_nagios/selinux/statuscgi.erb' -$ng_nagios_conf = '/etc/httpd/conf.d/nagios.conf' -$ng_nagios_conf_erb = 'cd_nagios/httpd/nagios_conf.erb' -$ng_welcome_conf = '/etc/httpd/conf.d/welcome.conf' -$ng_welcome_conf_erb = 'cd_nagios/httpd/welcome_conf.erb' -$ng_forward_conf = '/etc/httpd/conf.d/nagios_forward.conf' -$ng_forward_conf_erb = 'cd_nagios/httpd/forward_conf.erb' -$ng_get_cert_erb = 'cd_nagios/certbot/get_cert.erb' -$ng_unless_get_cert = 'cd_nagios/certbot/unless_get_cert.erb' -$ng_unless_renew_erb = 'cd_nagios/certbot/unless_renew_cert.erb' -$ng_index_html_file = '/var/www/html/index.html' -$ng_index_html_erb = 'cd_nagios/httpd/index_html.erb' -$ng_ssl_vhost_file = '/etc/httpd/conf.d/nagios_ssl.conf' -$ng_ssl_vhost_erb = 'cd_nagios/httpd/nagios_ssl_vhost.erb' -$ng_nagios_cfg_file = "${ng_main_dir}/nagios.cfg" -$ng_nagios_cfg_erb = 'cd_nagios/nagios/nagios_cfg.erb' +$ng_main_config = "${ng_main_dir}/nagios.cfg" +$ng_cgi_cfg_file = "${ng_main_dir}/cgi.cfg" +$ng_cgi_cfg_erb = 'cd_nagios/nagios/cgi_cfg.erb' +$ng_htpasswd_file = "${ng_main_dir}/passwd" +$ng_htpasswd_head = 'cd_nagios/nagios/htpasswd_head.erb' +$ng_htpasswd_rule = 'cd_nagios/nagios/htpasswd_rule.erb' +$ng_taccgi_erb = 'cd_nagios/selinux/taccgi.erb' +$ng_statcgi_erb = 'cd_nagios/selinux/statuscgi.erb' +$ng_nagios_conf = '/etc/httpd/conf.d/nagios.conf' +$ng_nagios_conf_erb = 'cd_nagios/httpd/nagios_conf.erb' +$ng_welcome_conf = '/etc/httpd/conf.d/welcome.conf' +$ng_welcome_conf_erb = 'cd_nagios/httpd/welcome_conf.erb' +$ng_forward_conf = '/etc/httpd/conf.d/nagios_forward.conf' +$ng_forward_conf_erb = 'cd_nagios/httpd/forward_conf.erb' +$ng_get_cert_erb = 'cd_nagios/certbot/get_cert.erb' +$ng_unless_get_cert = 'cd_nagios/certbot/unless_get_cert.erb' +$ng_unless_renew_erb = 'cd_nagios/certbot/unless_renew_cert.erb' +$ng_index_html_file = '/var/www/html/index.html' +$ng_index_html_erb = 'cd_nagios/httpd/index_html.erb' +$ng_ssl_vhost_file = '/etc/httpd/conf.d/nagios_ssl.conf' +$ng_ssl_vhost_erb = 'cd_nagios/httpd/nagios_ssl_vhost.erb' +$ng_nagios_cfg_file = "${ng_main_dir}/nagios.cfg" +$ng_nagios_cfg_erb = 'cd_nagios/nagios/nagios_cfg.erb' # certbot -$ng_certbot_main_dir = '/etc/letsencrypt' -$ng_certbot_archive = "${ng_certbot_main_dir}/archive" -$ng_certbot_check = "${ng_certbot_archive}/${ng_webserver_name}/cert1.pem" -$ng_certbot_live = "${ng_certbot_main_dir}/live" +$ng_certbot_main_dir = '/etc/letsencrypt' +$ng_certbot_archive = "${ng_certbot_main_dir}/archive" +$ng_certbot_check = "${ng_certbot_archive}/${ng_webserver_name}/cert1.pem" +$ng_certbot_live = "${ng_certbot_main_dir}/live" # nagios -$ng_target_templates = "${ng_conf_d_dir}/nagios_templates.cfg" -$ng_templates_head_erb = 'cd_nagios/nagios/templates_cfg_head.erb' -$ng_templates_rule_erb = 'cd_nagios/nagios/templates_cfg_rule.erb' -$ng_tgt_timeperiods_base = "${ng_conf_d_dir}/nagios_timeperiods.cfg" -$ng_tgt_timeperiods_add = "${ng_conf_d_dir}/nagios_timeperiods_add.cfg" -$ng_tgt_timep_head_erb = 'cd_nagios/nagios/timeperiods_cfg_head.erb' -$ng_tgt_timep_rule_erb = 'cd_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 = 'cd_nagios/nagios/hostgroups_cfg_head.erb' -$ng_tgt_hostgrp_rule_erb = 'cd_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 = 'cd_nagios/nagios/svcgroups_cfg_head.erb' -$ng_tgt_hostgrp_rule_erb = 'cd_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 = 'cd_nagios/nagios/contacts_cfg_head.erb' -$ng_contacts_rule_erb = 'cd_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 = 'cd_nagios/nagios/contactgroups_cfg_head.erb' -$ng_cntctgrps_rule_erb = 'cd_nagios/nagios/contactgroups_cfg_rule.erb' -$ng_target_command = "${ng_conf_d_dir}/nagios_commands_base.cfg" - +$ng_target_templates = "${ng_conf_d_dir}/nagios_templates.cfg" +$ng_templates_head_erb = 'cd_nagios/nagios/templates_cfg_head.erb' +$ng_templates_rule_erb = 'cd_nagios/nagios/templates_cfg_rule.erb' +$ng_tgt_timeperiods_base = "${ng_conf_d_dir}/nagios_timeperiods.cfg" +$ng_tgt_timeperiods_add = "${ng_conf_d_dir}/nagios_timeperiods_add.cfg" +$ng_tgt_timep_head_erb = 'cd_nagios/nagios/timeperiods_cfg_head.erb' +$ng_tgt_timep_rule_erb = 'cd_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 = 'cd_nagios/nagios/hostgroups_cfg_head.erb' +$ng_tgt_hostgrp_rule_erb = 'cd_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 = 'cd_nagios/nagios/svcgroups_cfg_head.erb' +$ng_tgt_hostgrp_rule_erb = 'cd_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 = 'cd_nagios/nagios/contacts_cfg_head.erb' +$ng_contacts_rule_erb = 'cd_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 = 'cd_nagios/nagios/contactgroups_cfg_head.erb' +$ng_cntctgrps_rule_erb = 'cd_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