diff --git a/doc/file.README.html b/doc/file.README.html index 09aa0f4..27dd8eb 100644 --- a/doc/file.README.html +++ b/doc/file.README.html @@ -195,7 +195,7 @@ Re-type new password:
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 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:
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:
+
+@@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
In order to add contact groups for the notifications, address the define confdroid_nagios::nagios::objects::add_contactgroups in your config repo, site.pp etc. like this:
@@ -228,6 +246,20 @@ Re-type new password:
}
+Alternatively you also can create a custom class within this module and use the export command 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,
+ }
+
+
In order to add host groups, address the define confdroid_nagios::nagios::objects::add_hostgroups in your config repo, site.pp etc. like this:
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:
+ +@@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,
+ }
+
+
+Hosts themselves will be populated through the target.pp dynamically.
ToDo
+In order to add service groups, address the define 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',
+ }
+
+
+Alternatively you also can create a custom class within this module and use the export command like this:
+ +@@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,
+ }
+
ToDo
+In order to add time periods, address the define 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',
+ }
+
+
+Alternatively you also can create a custom class within this module and use the export command like this:
+ +@@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,
+ }
+
ToDo
+Commands are defined in 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,
+ }
+
In order to add time periods, address the define 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',
+ }
+
+
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.
diff --git a/doc/index.html b/doc/index.html index 7f87bf3..883271a 100644 --- a/doc/index.html +++ b/doc/index.html @@ -195,7 +195,7 @@ Re-type new password: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 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:
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:
+
+@@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
In order to add contact groups for the notifications, address the define confdroid_nagios::nagios::objects::add_contactgroups in your config repo, site.pp etc. like this:
@@ -228,6 +246,20 @@ Re-type new password:
}
+Alternatively you also can create a custom class within this module and use the export command 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,
+ }
+
+
In order to add host groups, address the define confdroid_nagios::nagios::objects::add_hostgroups in your config repo, site.pp etc. like this:
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:
+ +@@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,
+ }
+
+
+Hosts themselves will be populated through the target.pp dynamically.
ToDo
+In order to add service groups, address the define 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',
+ }
+
+
+Alternatively you also can create a custom class within this module and use the export command like this:
+ +@@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,
+ }
+
ToDo
+In order to add time periods, address the define 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',
+ }
+
+
+Alternatively you also can create a custom class within this module and use the export command like this:
+ +@@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,
+ }
+
ToDo
+Commands are defined in 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,
+ }
+
In order to add time periods, address the define 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',
+ }
+
+
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.
diff --git a/doc/puppet_classes/confdroid_nagios_3A_3Anagios_3A_3Aobjects_3A_3Acommands.html b/doc/puppet_classes/confdroid_nagios_3A_3Anagios_3A_3Aobjects_3A_3Acommands.html index 6fba845..8f390b3 100644 --- a/doc/puppet_classes/confdroid_nagios_3A_3Anagios_3A_3Aobjects_3A_3Acommands.html +++ b/doc/puppet_classes/confdroid_nagios_3A_3Anagios_3A_3Aobjects_3A_3Acommands.html @@ -327,8 +327,8 @@ class confdroid_nagios::nagios::objects::commands ( ensure => present, command_name => 'notify-host-by-email', command_line => '/usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTADDRESS$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTADDRESS$ is $HOSTSTATE$ **" $CONTACTEMAIL$', - owner => 'nagios', - group => 'nagios', + owner => $ng_user, + group => $ng_user, mode => '0640', target => $ng_target_command, } @@ -337,8 +337,8 @@ class confdroid_nagios::nagios::objects::commands ( ensure => present, command_name => 'notify-service-by-email', command_line => '/usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$', - owner => 'nagios', - group => 'nagios', + owner => $ng_user, + group => $ng_user, mode => '0640', target => $ng_target_command, } @@ -347,8 +347,8 @@ class confdroid_nagios::nagios::objects::commands ( ensure => present, command_name => 'check-host-alive', command_line => '$USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5', - owner => 'nagios', - group => 'nagios', + owner => $ng_user, + group => $ng_user, mode => '0640', target => $ng_target_command, } @@ -357,8 +357,8 @@ class confdroid_nagios::nagios::objects::commands ( ensure => present, command_name => 'check_disk', command_line => '$USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$', - owner => 'nagios', - group => 'nagios', + owner => $ng_user, + group => $ng_user, mode => '0640', target => $ng_target_command, } @@ -367,8 +367,8 @@ class confdroid_nagios::nagios::objects::commands ( ensure => present, command_name => 'check_local_load', command_line => '$USER1$/check_load -w $ARG1$ -c $ARG2$', - owner => 'nagios', - group => 'nagios', + owner => $ng_user, + group => $ng_user, mode => '0640', target => $ng_target_command, } @@ -377,8 +377,8 @@ class confdroid_nagios::nagios::objects::commands ( ensure => present, command_name => 'check_local_procs', command_line => '$USER1$/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$', - owner => 'nagios', - group => 'nagios', + owner => $ng_user, + group => $ng_user, mode => '0640', target => $ng_target_command, } @@ -387,8 +387,8 @@ class confdroid_nagios::nagios::objects::commands ( ensure => present, command_name => 'check_local_users', command_line => '$USER1$/check_users -w $ARG1$ -c $ARG2$', - owner => 'nagios', - group => 'nagios', + owner => $ng_user, + group => $ng_user, mode => '0640', target => $ng_target_command, } @@ -397,8 +397,8 @@ class confdroid_nagios::nagios::objects::commands ( ensure => present, command_name => 'check_local_swap', command_line => '$USER1$/check_swap -w $ARG1$ -c $ARG2$', - owner => 'nagios', - group => 'nagios', + owner => $ng_user, + group => $ng_user, mode => '0640', target => $ng_target_command, } @@ -407,8 +407,8 @@ class confdroid_nagios::nagios::objects::commands ( ensure => present, command_name => 'check_ftp', command_line => '$USER1$/check_ftp -H $HOSTADDRESS$ $ARG1$', - owner => 'nagios', - group => 'nagios', + owner => $ng_user, + group => $ng_user, mode => '0640', target => $ng_target_command, } @@ -417,8 +417,8 @@ class confdroid_nagios::nagios::objects::commands ( ensure => present, command_name => 'check_snmp', command_line => '$USER1$/check_snmp -H $HOSTADDRESS$ $ARG1$', - owner => 'nagios', - group => 'nagios', + owner => $ng_user, + group => $ng_user, mode => '0640', target => $ng_target_command, } @@ -427,8 +427,8 @@ class confdroid_nagios::nagios::objects::commands ( ensure => present, command_name => 'check_http', command_line => '$USER1$/check_http -I $HOSTADDRESS$ $ARG1$', - owner => 'nagios', - group => 'nagios', + owner => $ng_user, + group => $ng_user, mode => '0640', target => $ng_target_command, } @@ -437,8 +437,8 @@ class confdroid_nagios::nagios::objects::commands ( ensure => present, command_name => 'check_ssh', command_line => '$USER1$/check_ssh $ARG1$ $HOSTADDRESS$', - owner => 'nagios', - group => 'nagios', + owner => $ng_user, + group => $ng_user, mode => '0640', target => $ng_target_command, } @@ -447,8 +447,8 @@ class confdroid_nagios::nagios::objects::commands ( ensure => present, command_name => 'check_ping', command_line => '$USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5', - owner => 'nagios', - group => 'nagios', + owner => $ng_user, + group => $ng_user, mode => '0640', target => $ng_target_command, } @@ -457,8 +457,8 @@ class confdroid_nagios::nagios::objects::commands ( ensure => present, command_name => 'check_tcp', command_line => '$USER1$/check_tcp -H $HOSTADDRESS$ -p $ARG1$ $ARG2$', - owner => 'nagios', - group => 'nagios', + owner => $ng_user, + group => $ng_user, mode => '0640', target => $ng_target_command, } @@ -467,8 +467,8 @@ class confdroid_nagios::nagios::objects::commands ( ensure => present, command_name => 'check_udp', command_line => '$USER1$/check_udp -H $HOSTADDRESS$ -p $ARG1$ $ARG2$', - owner => 'nagios', - group => 'nagios', + owner => $ng_user, + group => $ng_user, mode => '0640', target => $ng_target_command, } @@ -477,8 +477,8 @@ class confdroid_nagios::nagios::objects::commands ( ensure => present, command_name => 'check_nrpe', command_line => '$USER1$/check_nrpe -t 30 -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$ $ARG3$ $ARG4$', - owner => 'nagios', - group => 'nagios', + owner => $ng_user, + group => $ng_user, mode => '0640', target => $ng_target_command, } @@ -487,8 +487,8 @@ class confdroid_nagios::nagios::objects::commands ( ensure => present, command_name => 'check_nagios', command_line => '$USER1$/check_nagios -F $ARG1$ -e $ARG2$ -C $ARG3$', - owner => 'nagios', - group => 'nagios', + owner => $ng_user, + group => $ng_user, mode => '0640', target => $ng_target_command, } @@ -497,8 +497,8 @@ class confdroid_nagios::nagios::objects::commands ( ensure => present, command_name => 'check_bandwidth', command_line => '$USER1$/check_bandwidth.sh -t 30 -H $HOSTADDRESS$ linux $ARG1$ $ARG2$ $ARG3$', - owner => 'nagios', - group => 'nagios', + owner => $ng_user, + group => $ng_user, mode => '0640', target => $ng_target_command, } @@ -507,8 +507,8 @@ class confdroid_nagios::nagios::objects::commands ( ensure => present, command_name => 'process-service-perfdata-file', command_line => '/bin/mv /var/log/pnp4nagios/service-perfdata /var/spool/pnp4nagios/service-perfdata.$TIMET$', - owner => 'nagios', - group => 'nagios', + owner => $ng_user, + group => $ng_user, mode => '0640', target => $ng_target_command, } @@ -517,18 +517,18 @@ class confdroid_nagios::nagios::objects::commands ( ensure => present, command_name => 'process-host-perfdata-file', command_line => '/bin/mv /var/log/pnp4nagios/host-perfdata /var/spool/pnp4nagios/host-perfdata.$TIMET$', - owner => 'nagios', - group => 'nagios', + owner => $ng_user, + group => $ng_user, mode => '0640', target => $ng_target_command, } - @@nagios_command { 'check_ntp_time': + @@nagios_command { 'check_ntp_time': ensure => present, command_name => 'check_ntp_time', command_line => '$USER1$/check_ntp_time -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$', - owner => 'nagios', - group => 'nagios', + owner => $ng_user, + group => $ng_user, mode => '0640', target => $ng_target_command, } diff --git a/doc/puppet_classes/confdroid_nagios_3A_3Anagios_3A_3Aobjects_3A_3Atemplate_rules.html b/doc/puppet_classes/confdroid_nagios_3A_3Anagios_3A_3Aobjects_3A_3Atemplate_rules.html index 630f8bd..8a464a2 100644 --- a/doc/puppet_classes/confdroid_nagios_3A_3Anagios_3A_3Aobjects_3A_3Atemplate_rules.html +++ b/doc/puppet_classes/confdroid_nagios_3A_3Anagios_3A_3Aobjects_3A_3Atemplate_rules.html @@ -97,12 +97,9 @@ concat.Examples:
-confdroid_nagios::nagios::objects::templates { ‘generic contact’:
-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"