From e9c06c3384f558559c73215ebe36204b67adeb55 Mon Sep 17 00:00:00 2001
From: Jenkins Server The main user is automatically created. If you want to add more users, this should be done via the define confdroid_nagios::server::access. In your control repo, site.pp etc. address the access define like this: The main user is automatically created. If you want to add more users, this should be done via the define This requires the contact groups to be in place as well. Alternatively you also can create a custom class within this module and use the export command like this: In order to add contact groups for the notifications, address the define Alternatively you also can create a custom class within this module and use the export command like this: In order to add host groups, address the define Hosts will be populated through the target.pp dynamically. Alternatively you also can create a custom class within this module and use the export command like this: Hosts themselves will be populated through the target.pp dynamically. ToDo In order to add service groups, address the define Alternatively you also can create a custom class within this module and use the export command like this: ToDo In order to add time periods, address the define Alternatively you also can create a custom class within this module and use the export command like this: ToDo Commands are defined in In order to add time periods, address the define A working instance of PuppetDB connected to the Puppet master is required for this to work. Installation and configuration of PuppetDB is out of scope for this module, however cd_puppetdb is available to automate this task for you as well within a few minutes. The main user is automatically created. If you want to add more users, this should be done via the define confdroid_nagios::server::access. In your control repo, site.pp etc. address the access define like this: The main user is automatically created. If you want to add more users, this should be done via the define This requires the contact groups to be in place as well. Alternatively you also can create a custom class within this module and use the export command like this: In order to add contact groups for the notifications, address the define Alternatively you also can create a custom class within this module and use the export command like this: In order to add host groups, address the define Hosts will be populated through the target.pp dynamically. Alternatively you also can create a custom class within this module and use the export command like this: Hosts themselves will be populated through the target.pp dynamically. ToDo In order to add service groups, address the define Alternatively you also can create a custom class within this module and use the export command like this: ToDo In order to add time periods, address the define Alternatively you also can create a custom class within this module and use the export command like this: ToDo Commands are defined in In order to add time periods, address the define A working instance of PuppetDB connected to the Puppet master is required for this to work. Installation and configuration of PuppetDB is out of scope for this module, however cd_puppetdb is available to automate this task for you as well within a few minutes. Examples: confdroid_nagios::nagios::objects::templates { ‘generic contact’:Additional UI users
-confdroid_nagios::server::access. In your control repo, site.pp etc. address the access define like this:
+confdroid_nagios::server::access { 'example':
ng_htpasswd_user => 'example_user',
@@ -217,6 +217,24 @@ Re-type new password:
+
@@nagios_contact { 'ops':
+ ensure => present,
+ alias => 'Operations',
+ contact_name => 'ops',
+ contactgroups => 'operations',
+ email => 'ops@example.net',
+ can_submit_commands => '1',
+ register => '1',
+ use => 'generic-contact',
+ target => $ng_target_base_contact,
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ }
+Adding contact groups
confdroid_nagios::nagios::objects::add_contactgroups in your config repo, site.pp etc. like this:
+
@@nagios_contactgroup { 'operations':
+ ensure => present,
+ alias => 'Operations Team',
+ contactgroup_name => 'operations',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ register => '1',
+ target => $ng_tgt_contactgroup_base,
+ }
+Adding host groups
confdroid_nagios::nagios::objects::add_hostgroups in your config repo, site.pp etc. like this:
+
+@@nagios_hostgroup { 'rhel-servers':
+ ensure => present,
+ hostgroup_name => 'rhel-servers',
+ alias => 'RHEL Servers',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ register => '1',
+ target => $ng_target_hostgroup_base,
+ }
+Adding service groups
-confdroid_nagios::nagios::objects::add_servicegroups in your config repo, site.pp etc. like this:
+
+confdroid_nagios::nagios::objects::add_servicegroups { 'example_servicegroup':
+ ng_servicegroup_name => 'example_servicegroup',
+ ng_servicegroup_alias => 'Example servicegroup',
+ }
+@@nagios_servicegroup { 'network-services':
+ ensure => present,
+ servicegroup_name => 'network-services',
+ alias => 'Network Services',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ register => '1',
+ target => $ng_target_svcgrp_base,
+ }
+Adding time periods
-confdroid_nagios::nagios::objects::add_timeperiods in your config repo, site.pp etc. like this:
+
+confdroid_nagios::nagios::objects::add_timeperiods { 'example_timeperiod':
+ ng_timep_name => 'example_timeperiod',
+ ng_timep_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',
+ }
+@@nagios_timeperiod { 'office_hours':
+ ensure => present,
+ timeperiod_name => 'office_hours',
+ alias => 'Office hours only, 5 Days A Week 09-05',
+ monday => '09:00-17:00',
+ tuesday => '09:00-17:00',
+ wednesday => '09:00-17:00',
+ thursday => '09:00-17:00',
+ friday => '09:00-17:00',
+ saturday => '00:00-00:00',
+ sunday => '00:00-00:00',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ register => '1',
+ target => $ng_tgt_timeperiods_base,
+ }
+Adding custom commands
-confdroid_nagios::nagios::objects::commands and deployed /etc/nagios/conf.d/nagios_commands_base.cfg through PuppetDB exports like this:@@nagios_command { 'check_disk':
+ ensure => present,
+ command_name => 'check_disk',
+ command_line => '$USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ target => $ng_target_command,
+ }
+Adding templates
+confdroid_nagios::nagios::objects::add_templates in your config repo, site.pp etc. like this:
+
confdroid_nagios::nagios::objects::templates { 'generic contact':
+ ng_template_object => 'contact',
+ ng_template_object_name => 'generic-contact',
+ }
+PuppetDB
Additional UI users
-confdroid_nagios::server::access. In your control repo, site.pp etc. address the access define like this:
+confdroid_nagios::server::access { 'example':
ng_htpasswd_user => 'example_user',
@@ -217,6 +217,24 @@ Re-type new password:
+
@@nagios_contact { 'ops':
+ ensure => present,
+ alias => 'Operations',
+ contact_name => 'ops',
+ contactgroups => 'operations',
+ email => 'ops@example.net',
+ can_submit_commands => '1',
+ register => '1',
+ use => 'generic-contact',
+ target => $ng_target_base_contact,
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ }
+Adding contact groups
confdroid_nagios::nagios::objects::add_contactgroups in your config repo, site.pp etc. like this:
+
@@nagios_contactgroup { 'operations':
+ ensure => present,
+ alias => 'Operations Team',
+ contactgroup_name => 'operations',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ register => '1',
+ target => $ng_tgt_contactgroup_base,
+ }
+Adding host groups
confdroid_nagios::nagios::objects::add_hostgroups in your config repo, site.pp etc. like this:
+
+@@nagios_hostgroup { 'rhel-servers':
+ ensure => present,
+ hostgroup_name => 'rhel-servers',
+ alias => 'RHEL Servers',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ register => '1',
+ target => $ng_target_hostgroup_base,
+ }
+Adding service groups
-confdroid_nagios::nagios::objects::add_servicegroups in your config repo, site.pp etc. like this:
+
+confdroid_nagios::nagios::objects::add_servicegroups { 'example_servicegroup':
+ ng_servicegroup_name => 'example_servicegroup',
+ ng_servicegroup_alias => 'Example servicegroup',
+ }
+@@nagios_servicegroup { 'network-services':
+ ensure => present,
+ servicegroup_name => 'network-services',
+ alias => 'Network Services',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ register => '1',
+ target => $ng_target_svcgrp_base,
+ }
+Adding time periods
-confdroid_nagios::nagios::objects::add_timeperiods in your config repo, site.pp etc. like this:
+
+confdroid_nagios::nagios::objects::add_timeperiods { 'example_timeperiod':
+ ng_timep_name => 'example_timeperiod',
+ ng_timep_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',
+ }
+@@nagios_timeperiod { 'office_hours':
+ ensure => present,
+ timeperiod_name => 'office_hours',
+ alias => 'Office hours only, 5 Days A Week 09-05',
+ monday => '09:00-17:00',
+ tuesday => '09:00-17:00',
+ wednesday => '09:00-17:00',
+ thursday => '09:00-17:00',
+ friday => '09:00-17:00',
+ saturday => '00:00-00:00',
+ sunday => '00:00-00:00',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ register => '1',
+ target => $ng_tgt_timeperiods_base,
+ }
+Adding custom commands
-confdroid_nagios::nagios::objects::commands and deployed /etc/nagios/conf.d/nagios_commands_base.cfg through PuppetDB exports like this:@@nagios_command { 'check_disk':
+ ensure => present,
+ command_name => 'check_disk',
+ command_line => '$USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ target => $ng_target_command,
+ }
+Adding templates
+confdroid_nagios::nagios::objects::add_templates in your config repo, site.pp etc. like this:
+
confdroid_nagios::nagios::objects::templates { 'generic contact':
+ ng_template_object => 'contact',
+ ng_template_object_name => 'generic-contact',
+ }
+PuppetDB
ng_template_object => 'contact',
-ng_template_object_name => 'generic-contact',
+ confdroid_nagios::nagios::objects::templates { 'generic contact':
+ ng_template_object => 'contact',
+ ng_template_object_name => 'generic-contact',
}
@@ -116,7 +113,6 @@ ng_template_object_name => 'generic-contact',
-11
12
13
14
@@ -187,10 +183,11 @@ ng_template_object_name => 'generic-contact',
79
80
81
-82
+82
+83
# File 'manifests/nagios/objects/template_rules.pp', line 11
+ # File 'manifests/nagios/objects/template_rules.pp', line 12
class confdroid_nagios::nagios::objects::template_rules (
diff --git a/doc/puppet_classes/confdroid_nagios_3A_3Aparams.html b/doc/puppet_classes/confdroid_nagios_3A_3Aparams.html
index 886c1c8..05d7029 100644
--- a/doc/puppet_classes/confdroid_nagios_3A_3Aparams.html
+++ b/doc/puppet_classes/confdroid_nagios_3A_3Aparams.html
@@ -1334,7 +1334,7 @@ class confdroid_nagios::params (
$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_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"