Puppet Class: confdroid_nagios::params

Summary

Class holds all parameters for the confdroid_nagios module and is inherited by all classes except defines.

Overview

confdroid_nagios::params Module name: confdroid_nagios Author: 12ww1160 (12ww1160@confdroid.com) file. Default is ‘/var/spool/nagios/objects.precache’.

Parameters:

  • ng_nagios_server (String) (defaults to: 'nagios.example.net')

    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.

  • ng_reqpackages_server (Array) (defaults to: ['nagios','nagios-devel'])

    An array of packages to be installed on the Nagios server.

  • ng_reqpackages_client (Array) (defaults to: ['net-snmp-utils','nagios-plugins','nagios-plugins-all','nagios-plugins-nrpe','nagios-common'])

    An array of packages to be installed on the Nagios clients.

  • ng_pkg_ensure (String) (defaults to: 'present')

    The ensure value for all packages. Default is ‘present’.

  • ng_user (String) (defaults to: 'nagios')

    The name of the Nagios user to be created on the Nagios server. Default is ‘nagios’.

  • ng_u_comment (String) (defaults to: 'Nagios User')

    The comment field for the Nagios user. Default is ‘Nagios User’.

  • ng_u_groups (String) (defaults to: 'nagios')

    The group(s) to which the Nagios user should be added. Default is ‘nagios’.

  • ng_u_shell (String) (defaults to: '/sbin/nologin')

    The login shell for the Nagios user. Default is ‘/sbin/nologin’.

  • ng_u_home (String) (defaults to: '/home/nagios')

    The home directory for the Nagios user. Default is ‘/home/nagios’.

  • ng_u_uid (Integer) (defaults to: 1004)

    The user ID for the Nagios user. Default is 1004.

  • ng_include_nrpe (Boolean) (defaults to: true)

    Whether to include the NRPE client on the Nagios clients. Default is true.

  • ng_use_https (Boolean) (defaults to: false)

    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.

  • ng_event_broker_module (String) (defaults to: '')

    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.

  • ng_glob_host_evt_handler (String) (defaults to: '')

    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.

  • ng_glob_svc_evt_handler (String) (defaults to: '')

    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.

  • ng_check_workers (String) (defaults to: '')

    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.

  • ng_log_file (String) (defaults to: '/var/log/nagios/nagios.log')

    The path to the Nagios log file. Default is ‘/var/log/nagios/nagios.log’.

  • ng_object_cache_file (String) (defaults to: '/var/spool/nagios/objects.cache')

    The path to the Nagios object cache file. Default is ‘/var/spool/nagios/objects.cache’.

  • ng_precached_obj_file (String) (defaults to: '/var/spool/nagios/objects.precache')

    The path to the Nagios precached object

  • ng_resource_file (String) (defaults to: '/etc/nagios/private/resource.cfg')

    The path to the Nagios resource file. Default is ‘/etc/nagios/private/resource.cfg’.

  • ng_status_file (String) (defaults to: '/var/log/nagios/status.dat')

    The path to the Nagios status file. Default is ‘/var/log/nagios/status.dat’.

  • ng_status_upd_interval (String) (defaults to: '10')

    The interval for updating the Nagios status file. Default is ‘10’.

  • ng_check_ext_commands (String) (defaults to: '1')

    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.

  • ng_command_file (String) (defaults to: '/var/spool/nagios/cmd/nagios.cmd')

    The path to the Nagios command file. Default is ‘/var/spool/nagios/cmd/nagios.cmd’.

  • ng_lock_file (String) (defaults to: '/var/run/nagios/nagios.pid')

    The path to the Nagios lock file. Default is ‘/var/run/nagios/nagios.pid’.

  • ng_temp_file (String) (defaults to: '/var/spool/nagios/nagios.tmp')

    The path to the Nagios temporary file. Default is ‘/var/spool/nagios/nagios.tmp’.

  • ng_temp_path (String) (defaults to: '/tmp')

    The path to the Nagios temporary directory. Default is ‘/tmp’.



73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
# File 'manifests/params.pp', line 73

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_event_broker_module     = '',
  String $ng_glob_host_evt_handler   = '',
  String $ng_glob_svc_evt_handler    = '',
  String $ng_check_workers           = '',
  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',

# 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
}