Puppet Class: cd_nagios::params

Summary

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

Overview

cd_nagios::params.pp Module name: cd_nagios Author: Arne Teuke (arne_teuke@ConfDroid.com)

License:

This file is part of cd_nagios.

cd_nagios is used for providing automatic configuration of Nagios. Copyright (C) 2016 ConfDroid (copyright@ConfDroid.com) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see www.gnu.org/licenses/. to connect to NRPE, which as of now does not trust DNS names. Must be the public interface in case of NAT environments. can issue host related commands. can issue service related commands.

Parameters:

  • pkg_ensure (string) (defaults to: 'latest')

    which package type to choose, i.e. latest or present.

  • ng_nagios_server (string) (defaults to: "nagios.${::domain}")

    Specify the FQDN of the nagios server host. Must be a proper A-name, no CNAME i.e. on Loadbalancers. When the FQDN matches the configured value, Nagios server components will be installed and the clients will allow to be connected by that host. Impacts also firewall ports (optional).

  • ng_nagios_ext_ip (string) (defaults to: undef)

    Specify the IP address of the nagios server. Required for NRPE configuration to allow the Nagios server

  • ng_include_nrpe (boolean) (defaults to: true)

    Whether to include NRPE to allow Nagios to connect to clients

  • ng_ping_warn (string) (defaults to: '100.0,20%')

    Default value for ping warning check. Can be overridden on host level.

  • ng_ping_crit (string) (defaults to: '500.0,60%')

    Default value for ping critical check. Can be overridden on host level.

  • ng_ping_ensure (boolean) (defaults to: 'present')

    Wheter to include or exclude the check. Can be overridden on host level.

  • ng_disk_warn (string) (defaults to: '20%')

    Default value for disk space warning check. Can be overridden on host level.

  • ng_disk_crit (string) (defaults to: '10%')

    Default value for disk space critical check Can be overridden on host level.

  • ng_disk_ensure (boolean) (defaults to: 'present')

    Whether to include or exclude the check. Can be overridden on host level.

  • ng_swap_warn (string) (defaults to: '20')

    Default value for swap space warning check. Can be overridden on host level.

  • ng_swap_crit (string) (defaults to: '10')

    Default value for swap space critical check. Can be overridden on host level.

  • ng_swap_ensure (boolean) (defaults to: 'present')

    Whether to include or exclude the check. Can be overridden on host level.

  • ng_users_warn (string) (defaults to: '20')

    Default value for user logins warning check. Can be overridden on host level.

  • ng_users_crit (string) (defaults to: '50')

    Default value for user logins critical check Can be overridden on host level.

  • ng_users_ensure (boolean) (defaults to: 'present')

    Whether to include or exclude the check. Can be overridden on host level.

  • ng_procs_tot_warn (string) (defaults to: '330')

    Default warning for the total processes warning check. Can be overridden on host level.

  • ng_procs_tot_crit (string) (defaults to: '400')

    Default warning for the total processes critical check. Can be overridden on host level.

  • ng_procs_tot_param (string) (defaults to: 'RDST')

    Default value for the process flags to be checked. Can be overridden on host level.

  • ng_procs_tot_ens (boolean) (defaults to: 'present')

    Whether to include or exclude the check. Can be overridden on host level.

  • ng_procs_z_warn (string) (defaults to: '10')

    Default value for the zombie processes warning check. Can be overridden on host level.

  • ng_procs_z_crit (string) (defaults to: '30')

    Default value for the zombie processess critical check. Can be overridden on host level.

  • ng_procs_z_param (string) (defaults to: 'Z')

    Default value for the zombie processes flag. Can be overridden on host level.

  • ng_procs_z_ensure (boolean) (defaults to: 'present')

    Whether to include or exclude the check. Can be overridden on host level.

  • ng_load_warn (string) (defaults to: '5.00,4.00,3.00')

    Default value for the load warning check. Can be overridden on host level.

  • ng_load_crit (string) (defaults to: '10.00,6.00,4.00')

    Default value for the load critical check. Can be overridden on host level.

  • ng_load_ensure (boolean) (defaults to: 'present')

    Whether to include or exclude the load check. Can be overridden on host level.

  • ng_include_fw (boolean) (defaults to: true)

    Whether to include firewall management. requires cd_firewall or puppetlabs-firewall module.

  • ng_fw_order (string) (defaults to: '50')

    Prefix for the port number to establish proper firewall rule ordering.

  • ng_use_https (boolean) (defaults to: true)

    Whether to use https.

  • ng_http_https_fw (boolean) (defaults to: true)

    Whether we want to forward http to https. only active if ng_use_https is set to true.

  • ng_http_port (string) (defaults to: '80')

    Specify the port to use for httpd. Used in templates and for firewall (Optional)

  • ng_https_port (string) (defaults to: '443')

    Specify the port to use for httpd. Used in templates and for firewall (Optional)

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

    The name of the Nagios service user.

  • ng_user_home (string) (defaults to: '/var/spool/nagios')

    The home directory for the Nagios service user

  • ng_user_shell (string) (defaults to: '/bin/bash')

    The shell for the Nagios service user, which never should be allowed to login.

  • ng_u_comment (string) (defaults to: 'Nagios service user')

    The comment for the Nagios service user for /etc/passwd. Shows up in email notifocations from the Nagios daemon.

  • ng_u_uid (string) (defaults to: '1004')

    The UID for the Nagios service user. Important when using shared environments like NFS.

  • ng_u_groups (string) (defaults to: undef)

    The secondary groups for the Nagios service user. Must not contain the primary group.

  • ng_context_help (string) (defaults to: '1')

    whether or not a context-sensitive help icon will be displayed for most of the CGIs.

  • ng_pending_state (string) (defaults to: '1')

    what states should be displayed in the web interface for hosts/services that have not yet been checked

  • ng_use_auth (string) (defaults to: '1')

    whether or not the CGIs will use any authentication when displaying host and service information, as well as committing commands to Nagios for processing. This should not be set to 0.

  • ng_use_ssl_auth (string) (defaults to: '0')

    allows you to use x509 cert (SSL) authentication in the CGIs. This is an advanced option and should not be enabled unless you know what you're doing.

  • ng_enable_def_user (boolean) (defaults to: false)

    Whether to enable a default user (not recommended).

  • ng_def_user_name (string) (defaults to: 'nagios_insecure')

    default user name that can access pages without authentication. This allows people within a secure domain (i.e., behind a firewall) to see the current status without authenticating. Only actuve if ng_enable_def_user is set to true

  • ng_nagios_admin (string) (defaults to: 'nagios_sec_adm')

    Specify the name of a nagios administration user here. Value will be used in cgi.cfg for all authorized commands and info, i.e. nagiosadmin. however, its stronlgly suggested to use a different name. Can be overridden per host / hostgroups, so allows flexibility and increased security. You can also add a comma-separated list of people in here instead, which then would function like a group instead a single user.

  • ng_sysinfo_auth (string) (defaults to: '')

    comma-delimited list of all usernames that have access to viewing the Nagios process information as provided by the Extended Information CGI (extinfo.cgi).

  • ng_confinfo_auth (string) (defaults to: '')

    comma-delimited list of all usernames that can view ALL configuration information (hosts, commands, etc).

  • ng_command_auth (string) (defaults to: '')

    comma-delimited list of all usernames that can issue shutdown and restart commands to Nagios via the command CGI (cmd.cgi).

  • ng_hostview_auth (string) (defaults to: '')

    comma-delimited lists of all usernames that can view information for all hosts

  • ng_serviceview_auth (string) (defaults to: '')

    comma-delimited lists of all usernames that can view information for all services.

  • ng_host_cmd_auth (string) (defaults to: '')

    comma-delimited lists of all usernames that

  • ng_svc_cmd_auth (string) (defaults to: '')

    comma-delimited lists of all usernames that

  • ng_readonly_auth (string) (defaults to: '')

    comma-delimited list of usernames that have read-only rights in the CGIs.

  • ng_statusmap_img (string) (defaults to: 'smbackground.gd2')

    specify an image to be used as a background in the statusmap CGI.

  • ng_use_colormap (boolean) (defaults to: false)

    Whether to set values of background colors.

  • ng_colormap_red (string) (defaults to: '255')

    value for the red area of the color map.

  • ng_colormap_green (string) (defaults to: '255')

    value for the green area of the color map

  • ng_colormap_blue (string) (defaults to: '255')

    value for the blue area of the color map.

  • ng_statusmap_layout (string) (defaults to: '6')

    Value for the default statusmap layout.

  • ng_wrl_layout (string) (defaults to: '4')

    Value for the default statuswrl layout.

  • ng_incl_own_wrl (boolean) (defaults to: false)

    Whether to include your own objects in the generated VRML world.

  • ng_statuswrl_include (string) (defaults to: '')

    Specify your own wrl object to be included in the generated VRML world. Only active if ng_incl_own_wrl is set to true.

  • ng_ping_syntax (string) (defaults to: '/bin/ping -n -U -c 5 $HOSTADDRESS$')

    what syntax should be used when attempting to ping a host from the WAP interface

  • ng_refresh_rate (string) (defaults to: '90')

    specify the refresh rate in seconds of various CGIs

  • ng_result_limit (string) (defaults to: '100')

    specify the default number of results displayed on the status.cgi.

  • ng_escape_html (string) (defaults to: '1')

    whether HTML tags in host and service status output is escaped in the web interface. If enabled, your plugin output will not be able to contain clickable links.

  • ng_use_sound (boolean) (defaults to: false)

    whether to enable sound usage.

  • ng_host_unreachable (string) (defaults to: 'hostdown.wav')

    soundfile for host unreachable Only active if ng_use_sound is set to true.

  • ng_host_down (string) (defaults to: 'hostdown.wav')

    soundfile for host down Only active if ng_use_sound is set to true.

  • ng_svc_critical (string) (defaults to: 'critical.wav')

    soundfile for service critical. Only active if ng_use_sound is set to true.

  • ng_svc_warn (string) (defaults to: 'warning.wav')

    soundfile for service warning Only active if ng_use_sound is set to true.

  • ng_svc_unknown (string) (defaults to: 'warning.wav')

    soundfile for service unknown Only active if ng_use_sound is set to true.

  • ng_normal_sound (string) (defaults to: 'noproblem.wav')

    soundfile for normal Only active if ng_use_sound is set to true.

  • ng_action_url_target (string) (defaults to: '_blank')

    Specify target frames in which action URLs will open

  • ng_notes_url_target (string) (defaults to: '_blank')

    Specify target frames in which notes URLs will open

  • ng_lock_author_names (string) (defaults to: '1')

    whether users can change the author name when submitting comments, scheduling downtime.

  • ng_enable_splunk (boolean) (defaults to: false)

    Whether to enable splunk integration.

  • ng_splunk_url (string) (defaults to: 'http://127.0.0.1:8000/')

    the URL for your Splunk URL

  • ng_navbar_addresses (string) (defaults to: '1')

    allow navbar search queries IP addresses

  • ng_navbar_aliases (string) (defaults to: '1')

    allow navbar search for aliases

  • ng_ack_no_sticky (string) (defaults to: '0')

    Enabling ack_no_sticky will default the "Sticky Acknowledgement" to be unchecked.

  • ng_ack_no_send (string) (defaults to: '0')

    Enabling ack_no_send will default the "Send Notification" to be unchecked.

  • ng_use_selinux_tools (boolean) (defaults to: true)

    Whether to enable selinux tools and policies. only effective if selinux is enabled.

  • ng_required_hosts (string) (defaults to: '')

    String of FQDNs for hosts which should be allowed/required. Requires format 'host1.example.com host2.example.com'. If you want no restriction, chose 'all'.

  • ng_required_ips (string) (defaults to: '127.0.0.0/8')

    string of <b>_<em>Ip addresses __** for hosts which should be allowed/reqired. Requires format 'ipaddress ip address range'. If you want no restriction, choose '0.0.0.0/0'Ip addresses _</em></b> for hosts which should be allowed/reqired. Requires format 'ipaddress ip address range'. If you want no restriction, choose '0.0.0.0/0'

  • ng_enable_certbot (boolean) (defaults to: true)

    Whether to use certbot for automated TLS certificate management

  • ng_certbot_webroot (string) (defaults to: '/var/www/html')

    the path for certbot to place challenges for the certification process.

  • ng_mail_user (string) (defaults to: "admin@${::domain}")

    email address to receive administrative mail. used for nagios itself as well as for certbot.

  • ng_enable_index (boolean) (defaults to: true)

    Whether to create an index file to allow httpd checks with nagios on the nagios server.

  • ng_webserver_name (string) (defaults to: "nagios.${::domain}")

    the name of the web server nagios should listen to, i.e. 'nagios.example.net'. Unlike ng_nagios_server, this should not be the FQDN of the nagios host, but a web server domain name. required for certbot and used in the web templates.

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

    main log file where service- and host events are logged.

  • ng_max_check_attempts (string) (defaults to: '10')

    maximum amount of checks done by nagios

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

    determines where object definitions are cached when # Nagios starts/restarts.

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

    determines the location of the precached object file.

  • optional (string)

    resource file that contains $USERx$ macro definitions.

  • ng_status_file. (string)

    where the current status of all monitored services and hosts is stored.

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

    status file update interval. determines the frequency (in seconds) that # Nagios will periodically dump program, host, and # service status data.

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

    allows you to specify whether or not Nagios should check # for external commands in the command file specified by ng_command_file.

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

    file that Nagios checks for external command requests. It is also where the command CGI will write commands that are submitted # by users, so it must be writeable by the user that the web server is running as.

  • ng_enable_query_handler (boolean) (defaults to: false)

    Whether to enable the query handler for running nagios in cluster mode.

  • ng_query_socket (string) (defaults to: '/var/spool/nagios/cmd/nagios.qh')

    the socket for the query handler

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

    lockfile that Nagios will use to store its PID number in when it is running in daemon mode.

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

    temporary file that is used as scratch space when Nagios # updates the status log, cleans the comment file, etc.

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

    path where Nagios can create temp files for service and # host check results, etc.

  • event_broker_options (string)

    Controls what (if any) data gets sent to the event broker.

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

    specify an event broker (including full path) module that should # by loaded by Nagios at startup. Specify multiple modules as array ['path/to/module1','/path/to/module2']

  • ng_log_rotation_method. (string)

    Valid options: n = None - don't rotate the log h = Hourly rotation (top of the hour) d = Daily rotation (midnight every day) w = Weekly rotation (midnight on Saturday evening) m = Monthly rotation (midnight last day of month)

  • ng_log_archive_path (string) (defaults to: '/var/log/nagios/archives')

    directory where archived (rotated) log files should be # placed (assuming you've chosen to do log rotation).

  • ng_use_syslog (string) (defaults to: '1')

    whether to log messages to the syslog facility, as well as the Nagios log file. Valid options are 0 and 1.

  • ng_log_notifications (string) (defaults to: '1')

    Whether to log notifications in addition to regular messages. Valid options are 0 and 1.

  • ng_log_service_retries (string) (defaults to: '1')

    Whether to log service retries. Valid options are 0 and 1.

  • ng_log_host_retries (string) (defaults to: '1')

    Whether to log host retries. Valid options are 0 and 1.

  • ng_log_event_handlers. (string)

    Whether to log host and service event handlers. Valid options are 0 and 1.

  • ng_log_initial_states (string) (defaults to: '0')

    Whether to log initial states. Valid options are 0 and 1.

  • ng_log_current_states (string) (defaults to: '1')

    Whether to log all current host and service states to the main log file after log has been rotated. Valid options are 0 and 1.

  • ng_log_external_commands (string) (defaults to: '1')

    Whether to log external commands. Valid options are 0 and 1.

  • ng_log_passive_checks (string) (defaults to: '1')

    Whether to log passive checks. Valid options are 0 and 1.

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

    Specify a global host event handler # command that is to be run for every host or service state change. The global event handler is executed immediately prior to the event handler that you have optionally specified in each host or # service definition. The command argument is the short name of a # command definition that you define in your host configuration file.

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

    Specify a global service event handler # command that is to be run for every host or service state change. The global event handler is executed immediately prior to the event handler that you have optionally specified in each host or # service definition. The command argument is the short name of a # command definition that you define in your host configuration file.

  • ng_svc_int_check_delay (string) (defaults to: 's')

    method that Nagios should use when initially "spreading out" service checks when it starts monitoring. Valid options: n = None - don't use any delay between checks d = Use a "dumb" delay of 1 second between checks s = Use "smart" inter-check delay calculation x.xx = Use an inter-check delay of x.xx seconds

  • ng_max_service_check_spread (string)

    timeframe (in minutes) from the program start time that an initial check of all services should be completed

  • ng_svc_interleave_factor (string) (defaults to: 's')

    determines how service checks are interleaved. Valid options: s = Use "smart" interleave factor calculation x = Use an interleave factor of x, where x is greater than or equal to 1.

  • ng_host_int_check_delay (string) (defaults to: 's')

    method that Nagios should use when initially "spreading out" host checks when it starts monitoring. Valid options: n = None - don't use any delay between checks d = Use a "dumb" delay of 1 second between checks s = Use "smart" inter-check delay calculation x.xx = Use an inter-check delay of x.xx seconds

  • ng_max_host_check_spread (string) (defaults to: '30')

    timeframe (in minutes) from the program start time that an initial check of all hosts should # be completed.

  • ng_max_concurrent_checks (string) (defaults to: '0')

    specify the maximum number of service checks that can be run in parallel at any given time. A value of 0 will not restrict the number of concurrent checks that are being executed.

  • ng_check_res_reaper_freq (string) (defaults to: '10')

    frequency (in seconds!) in which Nagios will process the results of host and service checks.

  • ng_check_result_path (string) (defaults to: '/var/spool/nagios/checkresults')

    directory where Nagios stores the results of host and service checks that have not yet been processed.

  • ng_max_check_res_file_age (string) (defaults to: '3600')

    maximum age (in seconds) which check result files are considered to be valid.

  • ng_cached_h_check_horizon (string) (defaults to: '15')

    maximum amount of time (in seconds) that the state of a previous host check is considered current. Cached host states (from host checks that were performed more recently that the timeframe specified by this value) can immensely improve performance in regards to the host check logic. Too high of a value for this option may result in inaccurate host states being used by Nagios, while a lower value may result in a performance hit for host checks. Use a value of 0 to disable host check caching.

  • ng_cached_s_check_horizon (string) (defaults to: '15')

    maximum amount of time (in seconds) that the state of a previous service check is considered current. Cached service states (from service checks that were performed more recently that the timeframe specified by this value) can immensely improve performance in regards to the service check logic. Too high of a value for this option may result in inaccurate service states being used by Nagios, while a lower value may result in a performance hit for service checks. Use a value of 0 to disable service check caching.

  • ng_pred_host_dep_checks (string) (defaults to: '1')

    Whether Nagios will attempt to execute checks of hosts when it predicts that future dependency logic test may be needed. Valid options are 0 and 1.

  • ng_pred_svc_dep_checks (string) (defaults to: '1')

    Whether Nagios will attempt to execute checks of services when it predicts that future dependency logic test may be needed. Valid options are 0 and 1.

  • ng_soft_state_dependencies (string) (defaults to: '0')

    Whether or not Nagios will use soft state information when checking host and service dependencies. Valid options are 0 and 1.

  • ng_time_change_threshold (string) (defaults to: '900')

    when Nagios will react to detected changes in system time (either forward or backwards).

  • ng_auto_reschedule_checks (string) (defaults to: '0')

    Whether Nagios will attempt to automatically reschedule active host and service checks to "smooth" them out over time. Experimental feature. Valid options are 0 and 1.

  • ng_auto_reschedule_intval (string) (defaults to: '30')

    how often (in seconds) Nagios will attempt to automatically reschedule checks. only has an effect if ng_auto_reschedule_checks is set to 1.

  • ng_auto_reschedule_window (string) (defaults to: '180')

    determines the “window” of time (in seconds) that # Nagios will look at when automatically rescheduling checks. Only host and service checks that occur in the next X seconds (determined by this variable) will be rescheduled.

  • ng_resource_file (Any) (defaults to: '/etc/nagios/private/resource.cfg')
  • ng_status_file (Any) (defaults to: '/var/log/nagios/status.dat')
  • ng_event_broker_options (Any) (defaults to: '-1')
  • ng_log_rotation_method (Any) (defaults to: 'h')
  • ng_log_event_handlers (Any) (defaults to: '1')
  • ng_max_svc_check_spread (Any) (defaults to: '30')
  • ng_max_check_res_reap_time (Any) (defaults to: '30')

See Also:



357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
# File 'manifests/params.pp', line 357

class cd_nagios::params (

$pkg_ensure                 = 'latest',

$ng_nagios_server           = "nagios.${::domain}",
$ng_nagios_ext_ip           = undef,
$ng_mail_user               = "admin@${::domain}",

$ng_include_nrpe            = true,

# firewall
$ng_include_fw              = true,
$ng_use_https               = true,
$ng_http_https_fw           = true,
$ng_fw_order                = '50',
$ng_http_port               = '80',
$ng_https_port              = '443',

# check command parameters
## ping
$ng_ping_warn               = '100.0,20%',
$ng_ping_crit               = '500.0,60%',
$ng_ping_ensure             = 'present',
## disk
$ng_disk_warn               = '20%',
$ng_disk_crit               = '10%' ,
$ng_disk_ensure             = 'present',
# swap
$ng_swap_warn               = '20',
$ng_swap_crit               = '10',
$ng_swap_ensure             = 'present',
# users
$ng_users_warn              = '20',
$ng_users_crit              = '50',
$ng_users_ensure            = 'present',
#total procs
$ng_procs_tot_warn          = '330',
$ng_procs_tot_crit          = '400',
$ng_procs_tot_param         = 'RDST',
$ng_procs_tot_ens           = 'present',
# zombie procs
$ng_procs_z_warn            = '10',
$ng_procs_z_crit            = '30',
$ng_procs_z_param           = 'Z',
$ng_procs_z_ensure          = 'present',
# load
$ng_load_warn               = '5.00,4.00,3.00',
$ng_load_crit               = '10.00,6.00,4.00',
$ng_load_ensure             = 'present',

# user settings
$ng_user                    = 'nagios',
$ng_u_comment               = 'Nagios service user',
$ng_u_uid                   = '1004',
$ng_user_home               = '/var/spool/nagios',
$ng_u_groups                = undef,
$ng_user_shell              = '/bin/bash',

# cgi settings
$ng_context_help            = '1',
$ng_pending_state           = '1',
$ng_use_auth                = '1',
$ng_use_ssl_auth            = '0',
$ng_enable_def_user         = false,
$ng_def_user_name           = 'nagios_insecure',
$ng_nagios_admin            = 'nagios_sec_adm',
$ng_sysinfo_auth            = '',
$ng_confinfo_auth           = '',
$ng_command_auth            = '',
$ng_hostview_auth           = '',
$ng_serviceview_auth        = '',
$ng_host_cmd_auth           = '',
$ng_svc_cmd_auth            = '',
$ng_readonly_auth           = '' ,
$ng_statusmap_img           = 'smbackground.gd2',
$ng_use_colormap            = false,
$ng_colormap_red            = '255',
$ng_colormap_green          = '255',
$ng_colormap_blue           = '255',
$ng_statusmap_layout        = '6',
$ng_wrl_layout              = '4',
$ng_incl_own_wrl            = false,
$ng_statuswrl_include       = '',
$ng_ping_syntax             = '/bin/ping -n -U -c 5 $HOSTADDRESS$',
$ng_refresh_rate            = '90',
$ng_result_limit            = '100',
$ng_escape_html             = '1',
$ng_use_sound               = false,
$ng_host_unreachable        = 'hostdown.wav',
$ng_host_down               = 'hostdown.wav',
$ng_svc_critical            = 'critical.wav',
$ng_svc_warn                = 'warning.wav',
$ng_svc_unknown             = 'warning.wav',
$ng_normal_sound            = 'noproblem.wav',
$ng_action_url_target       = '_blank',
$ng_notes_url_target        = '_blank',
$ng_lock_author_names       = '1',
$ng_enable_splunk           = false,
$ng_splunk_url              = 'http://127.0.0.1:8000/',
$ng_navbar_addresses        = '1',
$ng_navbar_aliases          = '1',
$ng_ack_no_sticky           = '0',
$ng_ack_no_send             = '0',

# selinux
$ng_use_selinux_tools       = true,

# httpd
$ng_required_hosts          = '',
$ng_required_ips            = '127.0.0.0/8',
$ng_enable_index            = true,

# certbot
$ng_enable_certbot          = true,
$ng_certbot_webroot         = '/var/www/html',
$ng_webserver_name          = "nagios.${::domain}",

# main settings
$ng_log_file                = '/var/log/nagios/nagios.log',
$ng_max_check_attempts      = '10',
$ng_object_cache_file       = '/var/spool/nagios/objects.cache',
$ng_precached_obj_file      = '/var/spool/nagios/objects.precache',
$ng_resource_file           = '/etc/nagios/private/resource.cfg',
$ng_status_file             = '/var/log/nagios/status.dat',
$ng_status_upd_interval     = '10',
$ng_check_ext_commands      = '1',
$ng_command_file            = '/var/spool/nagios/cmd/nagios.cmd',
$ng_enable_query_handler    = false,
$ng_query_socket            = '/var/spool/nagios/cmd/nagios.qh',
$ng_lock_file               = '/var/run/nagios/nagios.pid',
$ng_temp_file               = '/var/spool/nagios/nagios.tmp',
$ng_temp_path               = '/tmp',
$ng_event_broker_options    = '-1',
$ng_event_broker_module     = '',
$ng_log_rotation_method     = 'h',
$ng_log_archive_path        = '/var/log/nagios/archives',
$ng_use_syslog              = '1',
$ng_log_notifications       = '1',
$ng_log_service_retries     = '1',
$ng_log_host_retries        = '1',
$ng_log_event_handlers      = '1',
$ng_log_initial_states      = '0',
$ng_log_current_states      = '1',
$ng_log_external_commands   = '1',
$ng_log_passive_checks      = '1',
$ng_glob_host_evt_handler   = '',
$ng_glob_svc_evt_handler    = '',
$ng_svc_int_check_delay     = 's',
$ng_max_svc_check_spread    = '30',
$ng_svc_interleave_factor   = 's',
$ng_host_int_check_delay    = 's',
$ng_max_host_check_spread   = '30',
$ng_max_concurrent_checks   = '0',
$ng_check_res_reaper_freq   = '10',
$ng_max_check_res_reap_time = '30',
$ng_check_result_path       = '/var/spool/nagios/checkresults',
$ng_max_check_res_file_age  = '3600',
$ng_cached_h_check_horizon  = '15',
$ng_cached_s_check_horizon  = '15',
$ng_pred_host_dep_checks    = '1',
$ng_pred_svc_dep_checks     = '1',
$ng_soft_state_dependencies = '0',
$ng_time_change_threshold   = '900',
$ng_auto_reschedule_checks  = '0',
$ng_auto_reschedule_intval  = '30',
$ng_auto_reschedule_window  = '180',

) {

# installation section

  $reqpackages_server = $::operatingsystem ? {
    /(?i-mx:centos|fedora|redhat)/ => ['nagios','nagios-devel']
  }
  $reqpackages_client = $::operatingsystem ? {
    /(?i-mx:centos|fedora|redhat)/ => ['net-snmp-utils','nagios-plugins','nagios-plugins-all', 'nagios-plugins-nrpe', 'nagios-common']
  }
  $reqpackages_nrpe = $::operatingsystem ? {
    /(?i-mx:centos|fedora|redhat)/ => ['nrpe']
  }

# service
$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"

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

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

# nagios

$ng_target_templates      = "${ng_conf_d_dir}/templates.cfg"
$ng_target_timeperiods    = "${ng_conf_d_dir}/timeperiods.cfg"
$ng_target_localhost      = "${ng_conf_d_dir}/nagios_localhost.cfg"
$ng_target_host           = "${ng_conf_d_dir}/nagios_host.cfg"
$ng_target_hostgroup      = "${ng_conf_d_dir}/nagios_hostgroup.cfg"
$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_servicegroup   = "${ng_conf_d_dir}/nagios_servicegroup.cfg"
$ng_target_contact        = "${ng_conf_d_dir}/nagios_contact.cfg"
$ng_target_contactgroup   = "${ng_conf_d_dir}/nagios_contactgroup.cfg"
$ng_target_command        = "${ng_conf_d_dir}/nagios_command.cfg"


# includes must be last

  include cd_nagios::main::config

}