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:

Additional UI users

-

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,
+  }
+
+

Adding host groups

In order to add host groups, address the define confdroid_nagios::nagios::objects::add_hostgroups in your config repo, site.pp etc. like this:

@@ -238,22 +270,109 @@ Re-type new password: } -

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.

Adding service groups

-

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,
+  }
+

Adding time periods

-

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,
+  }
+

Adding custom commands

-

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,
+  }
+

Adding templates

+

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',
+  }
+
+

PuppetDB

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:

Additional UI users

-

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,
+  }
+
+

Adding host groups

In order to add host groups, address the define confdroid_nagios::nagios::objects::add_hostgroups in your config repo, site.pp etc. like this:

@@ -238,22 +270,109 @@ Re-type new password: } -

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.

Adding service groups

-

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,
+  }
+

Adding time periods

-

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,
+  }
+

Adding custom commands

-

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,
+  }
+

Adding templates

+

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',
+  }
+
+

PuppetDB

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"