diff --git a/CHANGELOG.md b/CHANGELOG.md
index 08f8a3a..e5ac035 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,6 +8,646 @@ Changelog of Git Changelog.
No issue
+bede0046dc27177 Jenkins Server 2017-07-30 14:09:52
+
+
recommit for updates in build 147
+
+
+ebdf85199f0f27d Arne Teuke 2017-07-30 14:09:13
+
+
changed user shell depending on role, on nagios server it requires bash access, else /sbin/nologin
+
+
+e2c90593bb9918c Jenkins Server 2017-07-30 13:59:46
+
+
recommit for updates in build 146
+
+
+8f1c9766d2edf97 Arne Teuke 2017-07-30 13:58:17
+
+
updated user
+
+
+303100c01923549 Arne Teuke 2017-07-30 13:56:40
+
+
updated user and README
+
+
+990f0f882a44b37 Jenkins Server 2017-07-28 17:55:13
+
+
recommit for updates in build 144
+
+
+19034c2a5c70f56 Arne Teuke 2017-07-28 17:54:33
+
+
included NRPE on server as well
+
+
+08fd1fcb5ce6c7e Jenkins Server 2017-07-28 13:24:01
+
+
recommit for updates in build 143
+
+
+ee6aecb2e2e8b68 Jenkins Server 2017-07-28 12:20:53
+
+
recommit for updates in build 140
+
+
+0039bc732732717 Jenkins Server 2017-07-28 11:57:37
+
+
recommit for updates in build 138
+
+
+355e7d2eb09d813 Jenkins Server 2017-07-28 11:39:00
+
+
recommit for updates in build 137
+
+
+7296da22ecd57f8 Jenkins Server 2017-07-28 11:32:51
+
+
recommit for updates in build 136
+
+
+0cb2e563c835a16 Jenkins Server 2017-07-28 11:22:02
+
+
recommit for updates in build 134
+
+
+f913376d9cfd10a Jenkins Server 2017-07-27 15:34:56
+
+
recommit for updates in build 130
+
+
+d6da17fd103efa5 Jenkins Server 2017-07-27 15:30:56
+
+
recommit for updates in build 129
+
+
+a51c3d01180ce89 Jenkins Server 2017-07-27 15:23:15
+
+
recommit for updates in build 128
+
+
+7f92261f0997dfe Jenkins Server 2017-07-27 15:20:36
+
+
recommit for updates in build 127
+
+
+8a1d9f8292afcbe Jenkins Server 2017-07-27 15:01:48
+
+
recommit for updates in build 126
+
+
+15a189c8403c2c0 Jenkins Server 2017-07-27 14:55:31
+
+
recommit for updates in build 125
+
+
+d0a5bbadefcac07 Jenkins Server 2017-07-27 14:49:39
+
+
recommit for updates in build 124
+
+
+f8d19b46fdae2fb Jenkins Server 2017-07-27 14:44:56
+
+
recommit for updates in build 123
+
+
+137753dafe03b7a Jenkins Server 2017-07-27 14:29:05
+
+
recommit for updates in build 120
+
+
+cba65ddb7cb64cf Jenkins Server 2017-07-27 13:33:36
+
+
recommit for updates in build 117
+
+
+83782a592f1fe78 Jenkins Server 2017-07-27 13:22:48
+
+
recommit for updates in build 116
+
+
+dd4d061fe556bfb Jenkins Server 2017-07-27 12:47:24
+
+
recommit for updates in build 115
+
+
+5193e6a8d2dedc5 Jenkins Server 2017-07-27 12:33:19
+
+
recommit for updates in build 114
+
+
+f4321e6da976742 Jenkins Server 2017-07-27 11:58:59
+
+
recommit for updates in build 113
+
+
+cad8229c0821ad4 Jenkins Server 2017-07-27 11:44:51
+
+
recommit for updates in build 112
+
+
+d6267355c6ba26f Jenkins Server 2017-07-27 11:11:57
+
+
recommit for updates in build 111
+
+
+14a1e7412ff6792 Jenkins Server 2017-07-27 11:00:10
+
+
recommit for updates in build 110
+
+
+699586d7d8b5253 Jenkins Server 2017-07-27 10:56:34
+
+
recommit for updates in build 109
+
+
+2b24ed69186142a Jenkins Server 2017-07-27 10:41:48
+
+
recommit for updates in build 108
+
+
+0564cc970be1899 Jenkins Server 2017-07-26 14:27:43
+
+
recommit for updates in build 105
+
+
+af34a0587d9f48e Jenkins Server 2017-07-26 13:05:02
+
+
recommit for updates in build 104
+
+
+4dd15fea2853777 Jenkins Server 2017-07-26 12:48:06
+
+
recommit for updates in build 103
+
+
+19d33cb8a512c2f Jenkins Server 2017-07-26 12:40:46
+
+
recommit for updates in build 102
+
+
+5a33b87c5a01e94 Jenkins Server 2017-07-26 12:36:37
+
+
recommit for updates in build 101
+
+
+039523e1f69f07e Jenkins Server 2017-07-26 11:30:54
+
+
recommit for updates in build 99
+
+
+d395b5f60d08f61 Jenkins Server 2017-07-26 11:16:49
+
+
recommit for updates in build 97
+
+
+62feddee64c23f9 Jenkins Server 2017-07-25 18:04:08
+
+
recommit for updates in build 96
+
+
+a23722a67a2afb6 Jenkins Server 2017-07-25 17:56:39
+
+
recommit for updates in build 93
+
+
+445db500b3ab876 Jenkins Server 2017-07-25 16:15:39
+
+
recommit for updates in build 92
+
+
+a3517b81e663a07 Jenkins Server 2017-07-25 16:13:43
+
+
recommit for updates in build 91
+
+
+cc2d2cbf2968cce Jenkins Server 2017-07-25 15:57:28
+
+
recommit for updates in build 90
+
+
+b4b3de53a39ef00 Jenkins Server 2017-07-25 14:48:58
+
+
recommit for updates in build 84
+
+
+
+ v0.0.1.3
+ No issue
+
+
+6d494590a708a5d Arne Teuke 2017-07-28 13:18:27
+
+
linked client to user to have a consistent nagios uid/gid across estate
+
+
+3cac3f1a409abf6 Arne Teuke 2017-07-28 13:17:39
+
+
linked client to user
+
+
+
+ v0.0.1.2
+ No issue
+
+
+531fcfac5c02dd2 Arne Teuke 2017-07-28 12:50:23
+
+
edited README
+
+
+c134c8de3459e9b Arne Teuke 2017-07-28 12:49:05
+
+
outsourcing NRPE to cd_nrpe
+
+
+
+ v0.0.1.1
+ No issue
+
+
+00c977abcfeba99 Arne Teuke 2017-07-28 12:20:15
+
+
removed incomplete class
+
+
+
+ v0.0.1.0
+ No issue
+
+
+3e4f06a1fa27002 Arne Teuke 2017-07-28 12:16:40
+
+
linked client installations to target
+
+
+9b6550c92ae3965 Arne Teuke 2017-07-28 11:56:56
+
+
fixed ping check on service
+
+
+7551e03486668a8 Arne Teuke 2017-07-28 11:38:15
+
+
edited parameter documentation
+
+
+04db67fdf99dced Arne Teuke 2017-07-28 11:32:10
+
+
edited parameter documentation
+
+
+960c34b9edd9b30 Arne Teuke 2017-07-28 11:27:58
+
+
edited README and parameter documentation
+
+
+fec775ad45a87d5 Arne Teuke 2017-07-28 11:21:20
+
+
edited README
+
+
+dc88f47d7df4015 Arne Teuke 2017-07-28 11:07:53
+
+
fixed parameter for max_check_attempts
+
+
+edf2f16ea5e7289 Arne Teuke 2017-07-28 10:54:42
+
+
fixed timeperiods and edited README
+
+
+61c181393c4574b Arne Teuke 2017-07-28 10:51:00
+
+
fixed typo
+
+
+6403b5f7a9c8357 Arne Teuke 2017-07-27 15:34:19
+
+
fixed typo
+
+
+98c65c3b14a0d09 Arne Teuke 2017-07-27 15:30:20
+
+
fixed typo
+
+
+fe1661007fe70d4 Arne Teuke 2017-07-27 15:22:39
+
+
fixed typo
+
+
+6f0c3a6903ae69a Arne Teuke 2017-07-27 15:19:59
+
+
removed special params
+
+
+c31d2d038ba8b97 Arne Teuke 2017-07-27 15:01:06
+
+
removed special params
+
+
+eb8a92a4b4aabd9 Arne Teuke 2017-07-27 14:54:54
+
+
fixed typo
+
+
+82ca12e0363c956 Arne Teuke 2017-07-27 14:48:56
+
+
fixed typo
+
+
+34e172d7bd1fbb2 Arne Teuke 2017-07-27 14:44:07
+
+
fixed typo
+
+
+54353625e1ca4d3 Arne Teuke 2017-07-27 14:43:29
+
+
fixed typo
+
+
+2d228458140a9c8 Arne Teuke 2017-07-27 14:42:22
+
+
fixed typo
+
+
+0b2e9241cac8014 Arne Teuke 2017-07-27 14:40:02
+
+
added parameter documentation
+
+
+e76e4f857c4baf8 Arne Teuke 2017-07-27 14:28:21
+
+
added and linked add_timeperiods
+
+
+82aee3bacd72ce0 Arne Teuke 2017-07-27 13:50:07
+
+
added timeperiod
+
+
+45682bbc67ffc7e Arne Teuke 2017-07-27 13:46:49
+
+
added timeperiod
+
+
+65e0a0d20e19245 Arne Teuke 2017-07-27 13:42:38
+
+
added timeperiods
+
+
+645cb4255af90d5 Arne Teuke 2017-07-27 13:33:00
+
+
added parameter documentation
+
+
+ab8b3878e7d76a3 Arne Teuke 2017-07-27 13:22:11
+
+
added servicegroup control
+
+
+25a31ffc1bc0790 Arne Teuke 2017-07-27 12:46:46
+
+
edited README and fixed template
+
+
+26e2220ec9da0b2 Arne Teuke 2017-07-27 12:32:48
+
+
added service description and add_hostgroup_rules
+
+
+842d86a504f6198 Arne Teuke 2017-07-27 11:58:30
+
+
added _ to service name
+
+
+7b27896ccb84382 Arne Teuke 2017-07-27 11:44:19
+
+
added and linked hostgroups
+
+
+3f12bbd92d567f6 Arne Teuke 2017-07-27 11:11:26
+
+
added and linked add_contactgroups_rules
+
+
+a90da5d3ed18e7a Arne Teuke 2017-07-27 10:59:39
+
+
added and linked add_contactgroups_rules
+
+
+672f61d994a4360 Arne Teuke 2017-07-27 10:56:09
+
+
added and linked add_contactgroups_rules
+
+
+e02276ecc70dbca Arne Teuke 2017-07-27 10:41:22
+
+
added and linked add_contactgroups_rules
+
+
+26ef9aac8152b99 Arne Teuke 2017-07-27 10:39:45
+
+
added and linked add_contactgroups_rules
+
+
+5108aab0dc48113 Arne Teuke 2017-07-27 10:05:58
+
+
added add_contactgroups
+
+
+12f835aa4ff29bd Arne Teuke 2017-07-26 14:27:16
+
+
added and linked base contactgroups
+
+
+6094321d4f0cebb Arne Teuke 2017-07-26 13:04:39
+
+
sorted deprecated syntax
+
+
+6ee49a5e33f28cb Arne Teuke 2017-07-26 12:47:45
+
+
fixed typo
+
+
+6955770373d63a1 Arne Teuke 2017-07-26 12:40:23
+
+
fixed typo
+
+
+8fafc260c8a85c2 Arne Teuke 2017-07-26 12:36:14
+
+
finalizing contacts
+
+
+04c206f448ff267 Arne Teuke 2017-07-26 12:34:50
+
+
finalizing contacts
+
+
+a99920d7888b4ca Arne Teuke 2017-07-26 11:30:34
+
+
linting
+
+
+1ed1db6e8f56d49 Arne Teuke 2017-07-26 11:26:16
+
+
linting
+
+
+2e52ec411c530eb Arne Teuke 2017-07-26 11:24:31
+
+
added base contacts and additional contacts
+
+
+85ade68820b8379 Arne Teuke 2017-07-26 11:16:25
+
+
added base contacts and additional contacts
+
+
+099828e47a377d2 Arne Teuke 2017-07-25 18:02:29
+
+
testing templates
+
+
+336e03f6090e222 Arne Teuke 2017-07-25 18:01:03
+
+
testing templates
+
+
+a04f079a6cbeec8 Arne Teuke 2017-07-25 17:56:18
+
+
testing templates
+
+
+b4e4ceb9b07cde4 Arne Teuke 2017-07-25 16:15:21
+
+
added parameter documentation
+
+
+e03a5d94750b182 Arne Teuke 2017-07-25 16:13:25
+
+
added parameter documentation
+
+
+6a57847a121f632 Arne Teuke 2017-07-25 15:57:10
+
+
added contact stanza
+
+
+8a97768e4b258d7 Arne Teuke 2017-07-25 15:46:00
+
+
added template concat
+
+
+53e7b9d0b24391e Arne Teuke 2017-07-25 15:39:28
+
+
added template concat
+
+
+f5657930f604a9a Arne Teuke 2017-07-25 15:32:38
+
+
added and linked template_rules
+
+
+633f59375b02f4b Arne Teuke 2017-07-25 15:30:03
+
+
added and linked template_rules
+
+
+0f8cf13c3ea9b4a Arne Teuke 2017-07-25 14:56:52
+
+
linked commands.pp
+
+
+3327f6d8692753b Arne Teuke 2017-07-25 14:48:39
+
+
added commands.pp
+
+
+4ae4a056901361a Jenkins Server 2017-07-25 14:34:30
+
+
recommit for updates in build 83
+
+
+f2a243b7c28f935 Arne Teuke 2017-07-25 14:34:14
+
+
checked and documented all parameters, fixed template syntaxes
+
+
+66d7dbd91cffae4 Arne Teuke 2017-07-25 14:28:08
+
+
template syntax
+
+
+d57274747a8e494 Arne Teuke 2017-07-25 14:25:50
+
+
template syntax
+
+
+e8dc9c43f2a4929 Arne Teuke 2017-07-25 14:24:34
+
+
template syntax
+
+
+b59eff871f3c507 Arne Teuke 2017-07-25 14:23:29
+
+
template syntax
+
+
+616d0c3e9fb58b2 Arne Teuke 2017-07-25 14:21:38
+
+
template syntax
+
+
+a902f3441b0341f Arne Teuke 2017-07-25 14:15:07
+
+
template syntax
+
+
+c00ece4cb6c8f90 Arne Teuke 2017-07-25 14:13:38
+
+
template syntax
+
+
+f853a7b923a54d3 Arne Teuke 2017-07-25 14:11:16
+
+
template syntax
+
+
+1c83a1e829005c2 Arne Teuke 2017-07-25 14:09:51
+
+
template syntax
+
+
+bd7822710c44a07 Arne Teuke 2017-07-25 14:06:56
+
+
template syntax
+
+
+3ef1c7d9c75f229 Arne Teuke 2017-07-25 14:05:13
+
+
template syntax
+
+
+9571dc875b0362e Arne Teuke 2017-07-25 14:01:26
+
+
template syntax
+
+
+12e671b3419dd2a Arne Teuke 2017-07-25 13:58:36
+
+
template syntax
+
+
+86d4dd1db69fd1a Arne Teuke 2017-07-25 13:50:33
+
+
finished params for nagios.cfg
+
+
449f2f7825b0d88 Jenkins Server 2017-07-24 15:25:38
recommit for updates in build 68
diff --git a/REPOSTRUCTURE.md b/REPOSTRUCTURE.md
index acf8c42..e49ae41 100644
--- a/REPOSTRUCTURE.md
+++ b/REPOSTRUCTURE.md
@@ -17,6 +17,19 @@
| | |-- cd_nagios_3A_3Amain_3A_3Adirs.html
| | |-- cd_nagios_3A_3Amain_3A_3Ainstall.html
| | |-- cd_nagios_3A_3Amain_3A_3Auser.html
+| | |-- cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_contactgroups_rules.html
+| | |-- cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_contact_rules.html
+| | |-- cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_hostgroup_rules.html
+| | |-- cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_servicegroup_rules.html
+| | |-- cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_timeperiod_rules.html
+| | |-- cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Acommands.html
+| | |-- cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aconfig.html
+| | |-- cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Acontactgroups.html
+| | |-- cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Acontacts.html
+| | |-- cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Ahostgroups.html
+| | |-- cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aservicegroups.html
+| | |-- cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Atemplate_rules.html
+| | |-- cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Atimeperiods.html
| | |-- cd_nagios_3A_3Aparams.html
| | |-- cd_nagios_3A_3Aselinux_3A_3Aconfig.html
| | |-- cd_nagios_3A_3Aserver_3A_3Aaccess_rules.html
@@ -24,6 +37,12 @@
| | |-- cd_nagios_3A_3Aserver_3A_3Aservice.html
| | `-- cd_nagios.html
| |-- puppet_defined_types
+| | |-- cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_contactgroups.html
+| | |-- cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_contact.html
+| | |-- cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_hostgroups.html
+| | |-- cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_servicegroups.html
+| | |-- cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_timeperiods.html
+| | |-- cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Atemplates.html
| | `-- cd_nagios_3A_3Aserver_3A_3Aaccess.html
| |-- file.README.html
| |-- frames.html
@@ -44,6 +63,27 @@
| | |-- dirs.pp
| | |-- install.pp
| | `-- user.pp
+| |-- nagios
+| | `-- objects
+| | |-- add_contactgroups.pp
+| | |-- add_contactgroups_rules.pp
+| | |-- add_contact.pp
+| | |-- add_contact_rules.pp
+| | |-- add_hostgroup_rules.pp
+| | |-- add_hostgroups.pp
+| | |-- add_servicegroup_rules.pp
+| | |-- add_servicegroups.pp
+| | |-- add_timeperiod_rules.pp
+| | |-- add_timeperiods.pp
+| | |-- commands.pp
+| | |-- config.pp
+| | |-- contactgroups.pp
+| | |-- contacts.pp
+| | |-- hostgroups.pp
+| | |-- servicegroups.pp
+| | |-- template_rules.pp
+| | |-- templates.pp
+| | `-- timeperiods.pp
| |-- selinux
| | `-- config.pp
| |-- server
@@ -64,8 +104,21 @@
| | `-- nagios_ssl_vhost.erb
| |-- nagios
| | |-- cgi_cfg.erb
+| | |-- contactgroups_cfg_head.erb
+| | |-- contactgroups_cfg_rule.erb
+| | |-- contacts.cfg
+| | |-- contacts_cfg_head.erb
+| | |-- contacts_cfg_rule.erb
+| | |-- hostgroups_cfg_head.erb
+| | |-- hostgroups_cfg_rule.erb
| | |-- htpasswd_rule.erb
-| | `-- nagios_cfg.erb
+| | |-- nagios_cfg.erb
+| | |-- svcgroups_cfg_head.erb
+| | |-- svcgroups_cfg_rule.erb
+| | |-- templates_cfg_head.erb
+| | |-- templates_cfg_rule.erb
+| | |-- timeperiods_cfg_head.erb
+| | `-- timeperiods_cfg_rule.erb
| `-- selinux
| |-- statuscgi.erb
| `-- taccgi.erb
@@ -79,4 +132,4 @@
|-- README.md
`-- REPOSTRUCTURE.md
-18 directories, 61 files
+20 directories, 112 files
diff --git a/doc/_index.html b/doc/_index.html
index 448e55a..425bea7 100644
--- a/doc/_index.html
+++ b/doc/_index.html
@@ -108,6 +108,71 @@
+
+ cd_nagios::nagios::objects::add_contact_rules
+
+
+
+
+ cd_nagios::nagios::objects::add_contactgroups_rules
+
+
+
+
+ cd_nagios::nagios::objects::add_hostgroup_rules
+
+
+
+
+ cd_nagios::nagios::objects::add_servicegroup_rules
+
+
+
+
+ cd_nagios::nagios::objects::add_timeperiod_rules
+
+
+
+
+ cd_nagios::nagios::objects::commands
+
+
+
+
+ cd_nagios::nagios::objects::config
+
+
+
+
+ cd_nagios::nagios::objects::contactgroups
+
+
+
+
+ cd_nagios::nagios::objects::contacts
+
+
+
+
+ cd_nagios::nagios::objects::hostgroups
+
+
+
+
+ cd_nagios::nagios::objects::servicegroups
+
+
+
+
+ cd_nagios::nagios::objects::template_rules
+
+
+
+
+ cd_nagios::nagios::objects::timeperiods
+
+
+
cd_nagios::params
@@ -153,6 +218,36 @@
C
+
+ cd_nagios::nagios::objects::add_contact
+
+
+
+
+ cd_nagios::nagios::objects::add_contactgroups
+
+
+
+
+ cd_nagios::nagios::objects::add_hostgroups
+
+
+
+
+ cd_nagios::nagios::objects::add_servicegroups
+
+
+
+
+ cd_nagios::nagios::objects::add_timeperiods
+
+
+
+
+ cd_nagios::nagios::objects::templates
+
+
+
cd_nagios::server::access
@@ -186,7 +281,7 @@
diff --git a/doc/file.README.html b/doc/file.README.html
index 8fe3fb3..8df2d54 100644
--- a/doc/file.README.html
+++ b/doc/file.README.html
@@ -61,7 +61,7 @@
|Repo Name| version | Build
Status|
|---|---|---|---|
-|cd_nagios| 0.0.0.8 | cd_nagios| 0.0.1.5 | {Build
Status /]|
@@ -112,6 +112,12 @@ Structure
Certbot
+Httpd vHost Files
+
+Client Connections
+
+Manage additional resources
+
Known Problems
Support
@@ -129,35 +135,78 @@ href="https://gitlab.puppetsoft.com/12WW1160/cd_nagios/blob/master/CHANGELOG.md"
Features
Installation:
-* install httpd
-* install server binaries on Nagios server
-*
-install client binaries on clients
+* Nagios Server instance:
+ * install httpd via cd_apache
+ *
+install Nagios server binaries on Nagios server
+
Configuration
* configure all aspects of Nagios on server
-* manage
-directories (filesystem permissions, selinux )
-* manage cgi.cfg through
-parameters
+* manage nagios
+service user
+* manage directories (filesystem permissions, selinux )
+*
+manage cgi.cfg through parameters
* manage nagios.cfg through parameters
-* manage nagios users
+*
+manage Nagios users through external Puppet rules via define
+* manage
+Nagios commands through Puppet exports
+* manage Nagios template definitions
through external Puppet rules via define
-* configure NRPE on clients
-(optional)
+* manage Nagios main contacts
+through Puppet exports. Additional contacts can be created through external
+Puppet rules via define, to avoid having to alter the module code.
+* manage
+Nagios main contactgroups through Puppet exports. Additional contact groups
+can be created through external Puppet rules via define, to avoid having to
+alter the module code.
+* manage Nagios main hostgroups through Puppet
+exports. Additional host groups can be created through external Puppet
+rules via define, to avoid having to alter the module code.
+* manage Nagios
+main servicegroups through Puppet exports. Additional service groups can be
+created through external Puppet rules via define, to avoid having to alter
+the module code.
+* manage Nagios main timeperiods through Puppet exports.
+Additional timeperiods can be created through external Puppet rules via
+define, to avoid having to alter the module code.
+* configure NRPE on
+clients (optional)
* configure firewall (optional)
-* configure selinux policies
-(optional)
-* configure forwarding http to https including accesing the
-/nagios url directly (optional)
-* manage TLS certificates through certbot
-(optional)
+* configure selinux
+policies (optional)
+* configure forwarding http to https including accesing
+the /nagios url directly (optional)
+* manage TLS certificates through
+certbot (optional)
Service
* manage Nagios service on server
* manage NRPE service on clients
(optional)
+Monitoring
+* monitor Nagios host
+* monitor Nagios service
+* monitor
+clients:
+ * ping
+ * root partition
+ * swap usage
+ * logged-in local users
+
+* amount of total processes
+ * amount of zombie processes
+ * current Load
+
Repo Structure
Repostructure has moved to REPOSTRUCTURE.md in repo.
@@ -183,6 +232,17 @@ for selinux policy adjustments
cd_certbot
to auto-manage TLS certificates (optional)
+
+cd_nrpe to
+manage NRPE (optional)
+
+cd_stdlib or
+puppetlabs
+stdlib to facilitate concat
+
+cd-concat or
+puppetlabs
+concat to concatenate configuration files from different sources.
Deployment
@@ -278,6 +338,17 @@ on a regular web server with various other web instances (not recommended
through for performance reasons), we will not want to manage ssl.conf
directly, hence the module creates a vhost for the ssl host.
+Client Connections
+
+In order to monitor clients, NAGIOS must be able to connect to them. There
+are multiple ways of doing so, the most common ones being NRPE and SSH.
+So
+far this module works through the usage of NRPE, which by default is
+enabled. Class cd_nagios::client::nrpe configures nrpe.cfg and opens the
+required firewall port on clients (optional,default).
+
+Manage additional resources
+
Known Problems
Support
@@ -337,7 +408,7 @@ environments.
diff --git a/doc/index.html b/doc/index.html
index 3877d07..8be2ce5 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -61,7 +61,7 @@
|Repo Name| version | Build
Status|
|---|---|---|---|
-|cd_nagios| 0.0.0.8 | cd_nagios| 0.0.1.5 | {Build
Status /]|
@@ -112,6 +112,12 @@ Structure
Certbot
+Httpd vHost Files
+
+Client Connections
+
+Manage additional resources
+
Known Problems
Support
@@ -129,35 +135,78 @@ href="https://gitlab.puppetsoft.com/12WW1160/cd_nagios/blob/master/CHANGELOG.md"
Features
Installation:
-* install httpd
-* install server binaries on Nagios server
-*
-install client binaries on clients
+* Nagios Server instance:
+ * install httpd via cd_apache
+ *
+install Nagios server binaries on Nagios server
+
Configuration
* configure all aspects of Nagios on server
-* manage
-directories (filesystem permissions, selinux )
-* manage cgi.cfg through
-parameters
+* manage nagios
+service user
+* manage directories (filesystem permissions, selinux )
+*
+manage cgi.cfg through parameters
* manage nagios.cfg through parameters
-* manage nagios users
+*
+manage Nagios users through external Puppet rules via define
+* manage
+Nagios commands through Puppet exports
+* manage Nagios template definitions
through external Puppet rules via define
-* configure NRPE on clients
-(optional)
+* manage Nagios main contacts
+through Puppet exports. Additional contacts can be created through external
+Puppet rules via define, to avoid having to alter the module code.
+* manage
+Nagios main contactgroups through Puppet exports. Additional contact groups
+can be created through external Puppet rules via define, to avoid having to
+alter the module code.
+* manage Nagios main hostgroups through Puppet
+exports. Additional host groups can be created through external Puppet
+rules via define, to avoid having to alter the module code.
+* manage Nagios
+main servicegroups through Puppet exports. Additional service groups can be
+created through external Puppet rules via define, to avoid having to alter
+the module code.
+* manage Nagios main timeperiods through Puppet exports.
+Additional timeperiods can be created through external Puppet rules via
+define, to avoid having to alter the module code.
+* configure NRPE on
+clients (optional)
* configure firewall (optional)
-* configure selinux policies
-(optional)
-* configure forwarding http to https including accesing the
-/nagios url directly (optional)
-* manage TLS certificates through certbot
-(optional)
+* configure selinux
+policies (optional)
+* configure forwarding http to https including accesing
+the /nagios url directly (optional)
+* manage TLS certificates through
+certbot (optional)
Service
* manage Nagios service on server
* manage NRPE service on clients
(optional)
+Monitoring
+* monitor Nagios host
+* monitor Nagios service
+* monitor
+clients:
+ * ping
+ * root partition
+ * swap usage
+ * logged-in local users
+
+* amount of total processes
+ * amount of zombie processes
+ * current Load
+
Repo Structure
Repostructure has moved to REPOSTRUCTURE.md in repo.
@@ -183,6 +232,17 @@ for selinux policy adjustments
cd_certbot
to auto-manage TLS certificates (optional)
+
+cd_nrpe to
+manage NRPE (optional)
+
+cd_stdlib or
+puppetlabs
+stdlib to facilitate concat
+
+cd-concat or
+puppetlabs
+concat to concatenate configuration files from different sources.
Deployment
@@ -278,6 +338,17 @@ on a regular web server with various other web instances (not recommended
through for performance reasons), we will not want to manage ssl.conf
directly, hence the module creates a vhost for the ssl host.
+Client Connections
+
+In order to monitor clients, NAGIOS must be able to connect to them. There
+are multiple ways of doing so, the most common ones being NRPE and SSH.
+So
+far this module works through the usage of NRPE, which by default is
+enabled. Class cd_nagios::client::nrpe configures nrpe.cfg and opens the
+required firewall port on clients (optional,default).
+
+Manage additional resources
+
Known Problems
Support
@@ -337,7 +408,7 @@ environments.
diff --git a/doc/puppet_class_list.html b/doc/puppet_class_list.html
index 53a29cd..eddf87d 100644
--- a/doc/puppet_class_list.html
+++ b/doc/puppet_class_list.html
@@ -96,35 +96,126 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
diff --git a/doc/puppet_classes/cd_nagios.html b/doc/puppet_classes/cd_nagios.html
index 1127305..6b1fd87 100644
--- a/doc/puppet_classes/cd_nagios.html
+++ b/doc/puppet_classes/cd_nagios.html
@@ -139,7 +139,7 @@ class cd_nagios {
diff --git a/doc/puppet_classes/cd_nagios_3A_3Acertbot_3A_3Acerts.html b/doc/puppet_classes/cd_nagios_3A_3Acertbot_3A_3Acerts.html
index a545981..3be9249 100644
--- a/doc/puppet_classes/cd_nagios_3A_3Acertbot_3A_3Acerts.html
+++ b/doc/puppet_classes/cd_nagios_3A_3Acertbot_3A_3Acerts.html
@@ -230,7 +230,7 @@ class cd_nagios::certbot::certs (
diff --git a/doc/puppet_classes/cd_nagios_3A_3Aclient_3A_3Atarget.html b/doc/puppet_classes/cd_nagios_3A_3Aclient_3A_3Atarget.html
index 2a5bdc3..df09ebe 100644
--- a/doc/puppet_classes/cd_nagios_3A_3Aclient_3A_3Atarget.html
+++ b/doc/puppet_classes/cd_nagios_3A_3Aclient_3A_3Atarget.html
@@ -241,7 +241,12 @@ href="http://www.gnu.org/licenses">www.gnu.org/licenses/.
134
135
136
-137
+137
+138
+139
+140
+141
+142
# File 'manifests/client/target.pp', line 23
@@ -252,112 +257,117 @@ class cd_nagios::client::target (
) inherits cd_nagios::params {
if $::fqdn != $ng_nagios_server {
+ if $ng_include_nrpe == true {
- @@nagios_host { $::fqdn:
- ensure => $ng_ping_ensure,
- alias => $::hostname,
- address => $::fqdn,
- use => 'linux-server',
- target => $ng_target_host,
- hostgroups => 'linux-servers',
- contacts => 'ops',
- max_check_attempts => $max_check_attempts,
- notification_period => '24x7',
- owner => 'nagios',
- group => 'nagios',
- mode => '0664',
- check_command => "check_ping!${ng_ping_warn}!${ng_ping_crit}",
- notify => Service['nagios'],
- }
+ require cd_nagios::main::user
+ require cd_nrpe
- @@nagios_service { "root_partition_${::hostname}":
- ensure => $ng_disk_ensure,
- check_command => "check_nrpe!check_disk!${ng_disk_warn}!${ng_disk_crit}!/",
- use => 'generic-service',
- host_name => $::fqdn,
- contacts => 'ops',
- notification_period => '24x7',
- service_description => "${::hostname}_root_partition",
- servicegroups => 'linux-services',
- target => $ng_target_service,
- owner => 'nagios',
- group => 'nagios',
- mode => '0664',
- }
+ @@nagios_host { $::fqdn:
+ ensure => $ng_ping_ensure,
+ alias => $::hostname,
+ address => $::fqdn,
+ use => 'linux-server',
+ target => $ng_target_host,
+ hostgroups => 'linux-servers',
+ contacts => 'ops',
+ max_check_attempts => $ng_max_check_attempts,
+ notification_period => '24x7',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ check_command => "check_ping!${ng_ping_warn}!${ng_ping_crit}",
+ notify => Service[$ng_user],
+ }
- @@nagios_service { "Swap_Usage_${::hostname}":
- ensure => $ng_swap_ensure,
- check_command => "check_nrpe!check_swap!${ng_swap_warn}!${ng_swap_crit}",
- use => 'generic-service',
- host_name => $::fqdn,
- contacts => 'ops',
- notification_period => '24x7',
- service_description => "${::hostname}_swap_usage",
- servicegroups => 'linux-services',
- target => $ng_target_service,
- owner => 'nagios',
- group => 'nagios',
- mode => '0664',
- }
+ @@nagios_service { "root_partition_${::hostname}":
+ ensure => $ng_disk_ensure,
+ check_command => "check_nrpe!check_disk!${ng_disk_warn}!${ng_disk_crit}!/",
+ use => 'generic-service',
+ host_name => $::fqdn,
+ contacts => 'ops',
+ notification_period => '24x7',
+ service_description => "${::hostname}_root_partition",
+ servicegroups => 'linux-services',
+ target => $ng_target_service,
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ }
- @@nagios_service { "Local_Users_${::hostname}":
- ensure => $ng_users_ensure,
- check_command => "check_nrpe!check_users!${ng_users_warn}!${ng_users_crit}",
- use => 'generic-service',
- host_name => $::fqdn,
- contacts => 'ops',
- notification_period => '24x7',
- service_description => "${::hostname}_local_users",
- servicegroups => 'linux-services',
- target => $ng_target_service,
- owner => 'nagios',
- group => 'nagios',
- mode => '0664',
- }
+ @@nagios_service { "Swap_Usage_${::hostname}":
+ ensure => $ng_swap_ensure,
+ check_command => "check_nrpe!check_swap!${ng_swap_warn}!${ng_swap_crit}",
+ use => 'generic-service',
+ host_name => $::fqdn,
+ contacts => 'ops',
+ notification_period => '24x7',
+ service_description => "${::hostname}_swap_usage",
+ servicegroups => 'linux-services',
+ target => $ng_target_service,
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ }
- @@nagios_service { "Total Processes_${::hostname}":
- ensure => $ng_procs_tot_ens,
- check_command => "check_nrpe!check_procs!${ng_procs_tot_warn}!${ng_procs_tot_crit}!${ng_procs_tot_param}",
- use => 'generic-service',
- host_name => $::fqdn,
- contacts => 'ops',
- notification_period => '24x7',
- service_description => "${::hostname}_total_processes",
- servicegroups => 'linux-services',
- target => $ng_target_service,
- owner => 'nagios',
- group => 'nagios',
- mode => '0664',
- }
+ @@nagios_service { "Local_Users_${::hostname}":
+ ensure => $ng_users_ensure,
+ check_command => "check_nrpe!check_users!${ng_users_warn}!${ng_users_crit}",
+ use => 'generic-service',
+ host_name => $::fqdn,
+ contacts => 'ops',
+ notification_period => '24x7',
+ service_description => "${::hostname}_local_users",
+ servicegroups => 'linux-services',
+ target => $ng_target_service,
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ }
- @@nagios_service { "Zombie Processes_${::hostname}":
- ensure => $ng_procs_z_ensure,
- check_command => "check_nrpe!check_procs!${ng_procs_z_warn}!${ng_procs_z_crit}!${ng_procs_z_param}",
- use => 'generic-service',
- host_name => $::fqdn,
- contacts => 'ops',
- notification_period => '24x7',
- service_description => "${::hostname}_zombie_processes",
- servicegroups => 'linux-services',
- target => $ng_target_service,
- owner => 'nagios',
- group => 'nagios',
- mode => '0664',
- }
+ @@nagios_service { "Total Processes_${::hostname}":
+ ensure => $ng_procs_tot_ens,
+ check_command => "check_nrpe!check_procs!${ng_procs_tot_warn}!${ng_procs_tot_crit}!${ng_procs_tot_param}",
+ use => 'generic-service',
+ host_name => $::fqdn,
+ contacts => 'ops',
+ notification_period => '24x7',
+ service_description => "${::hostname}_total_processes",
+ servicegroups => 'linux-services',
+ target => $ng_target_service,
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ }
- @@nagios_service { "Current_Load_${::hostname}":
- ensure => $ng_load_ensure,
- check_command => "check_nrpe!check_load!${ng_load_warn}!${ng_load_crit}",
- use => 'generic-service',
- host_name => $::fqdn,
- contacts => 'ops',
- notification_period => '24x7',
- service_description => "${::hostname}_current_load",
- servicegroups => 'linux-services',
- target => $ng_target_service,
- owner => 'nagios',
- group => 'nagios',
- mode => '0664',
+ @@nagios_service { "Zombie Processes_${::hostname}":
+ ensure => $ng_procs_z_ensure,
+ check_command => "check_nrpe!check_procs!${ng_procs_z_warn}!${ng_procs_z_crit}!${ng_procs_z_param}",
+ use => 'generic-service',
+ host_name => $::fqdn,
+ contacts => 'ops',
+ notification_period => '24x7',
+ service_description => "${::hostname}_zombie_processes",
+ servicegroups => 'linux-services',
+ target => $ng_target_service,
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ }
+
+ @@nagios_service { "Current_Load_${::hostname}":
+ ensure => $ng_load_ensure,
+ check_command => "check_nrpe!check_load!${ng_load_warn}!${ng_load_crit}",
+ use => 'generic-service',
+ host_name => $::fqdn,
+ contacts => 'ops',
+ notification_period => '24x7',
+ service_description => "${::hostname}_current_load",
+ servicegroups => 'linux-services',
+ target => $ng_target_service,
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ }
}
}
}
@@ -368,7 +378,7 @@ class cd_nagios::client::target (
diff --git a/doc/puppet_classes/cd_nagios_3A_3Afirewall_3A_3Aiptables.html b/doc/puppet_classes/cd_nagios_3A_3Afirewall_3A_3Aiptables.html
index fce13b4..5e0b247 100644
--- a/doc/puppet_classes/cd_nagios_3A_3Afirewall_3A_3Aiptables.html
+++ b/doc/puppet_classes/cd_nagios_3A_3Afirewall_3A_3Aiptables.html
@@ -207,7 +207,7 @@ class cd_nagios::firewall::iptables (
diff --git a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Aconfig.html b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Aconfig.html
index c5f144a..1f5bd45 100644
--- a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Aconfig.html
+++ b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Aconfig.html
@@ -195,7 +195,7 @@ class cd_nagios::main::config (
diff --git a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Adirs.html b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Adirs.html
index fcd68d0..a6d5a5b 100644
--- a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Adirs.html
+++ b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Adirs.html
@@ -468,7 +468,7 @@ class cd_nagios::main::dirs (
diff --git a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Ainstall.html b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Ainstall.html
index 0b67770..abf75e6 100644
--- a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Ainstall.html
+++ b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Ainstall.html
@@ -165,18 +165,7 @@ href="http://www.gnu.org/licenses">www.gnu.org/licenses/.
56
57
58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
+59
# File 'manifests/main/install.pp', line 24
@@ -201,15 +190,6 @@ class cd_nagios::main::install (
package {$reqpackages_client:
ensure => $pkg_ensure,
}
-
- # install NRPE if enabled
-
- if $ng_include_nrpe == true {
-
- package {$reqpackages_nrpe:
- ensure => $pkg_ensure,
- }
- }
}
# if we are not the nagios server, install client packages
@@ -219,12 +199,10 @@ class cd_nagios::main::install (
ensure => $pkg_ensure,
}
- # if we want o use NRPE, install it
+ # if we want to use NRPE, install it
if $ng_include_nrpe == true {
- package {$reqpackages_nrpe:
- ensure => $pkg_ensure,
- }
+ require cd_nrpe
}
}
}
@@ -235,7 +213,7 @@ class cd_nagios::main::install (
diff --git a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Auser.html b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Auser.html
index 35d9e5a..e21807f 100644
--- a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Auser.html
+++ b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Auser.html
@@ -155,10 +155,7 @@ href="http://www.gnu.org/licenses">www.gnu.org/licenses/.
46
47
48
-49
-50
-51
-52
+49
# File 'manifests/main/user.pp', line 23
@@ -167,30 +164,27 @@ class cd_nagios::main::user (
) inherits cd_nagios::params {
- if $::fqdn == $ng_nagios_server {
-
require cd_nagios::main::install
- group { $ng_user:
- ensure => present,
- name => $ng_user,
- gid => $ng_u_uid,
- allowdupe => false,
- }
+ group { $ng_user:
+ ensure => present,
+ name => $ng_user,
+ gid => $ng_u_uid,
+ allowdupe => false,
+ }
- user { $ng_user:
- ensure => present,
- name => $ng_user,
- allowdupe => false,
- comment => $ng_u_comment,
- uid => $ng_u_uid,
- gid => $ng_user,
- groups => $ng_u_groups,
- managehome => true,
- home => $ng_user_home,
- shell => $ng_user_shell,
- require => Group[$ng_user],
- }
+ user { $ng_user:
+ ensure => present,
+ name => $ng_user,
+ allowdupe => false,
+ comment => $ng_u_comment,
+ uid => $ng_u_uid,
+ gid => $ng_user,
+ groups => $ng_u_groups,
+ managehome => true,
+ home => $ng_user_home,
+ shell => $ng_user_shell,
+ require => Group[$ng_user],
}
}
@@ -200,7 +194,7 @@ class cd_nagios::main::user (
diff --git a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_contact_rules.html b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_contact_rules.html
new file mode 100644
index 0000000..cbf9465
--- /dev/null
+++ b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_contact_rules.html
@@ -0,0 +1,227 @@
+
+
+
+
+
+
+ Puppet Class: cd_nagios::nagios::objects::add_contact_rules
+
+ — Documentation by YARD 0.9.9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Puppet Class: cd_nagios::nagios::objects::add_contact_rules
+
+
+
+ Inherits:
+ cd_nagios::params
+
+
+
+
+ Defined in:
+
+ manifests/nagios/objects/add_contact_rules.pp
+
+
+
+
+
Summary
+ Class manages /etc/nagios/conf.d/nagios_add_contact.cfg through
+concat.
+
+
Overview
+
+
+
+
cd_nagios::nagios::objects::add_contact_rules.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 /.
+
+
+
+
+
+
+
+
+
+
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+
+
+ # File 'manifests/nagios/objects/add_contact_rules.pp', line 30
+
+class cd_nagios::nagios::objects::add_contact_rules (
+
+) inherits cd_nagios::params {
+
+ if $::fqdn == $ng_nagios_server {
+
+ # manage /etc/nagios/conf.d/nagios_add_contacts.cfg
+
+ concat { $ng_target_add_contact:
+ ensure => present,
+ path => $ng_target_add_contact,
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ selrange => s0,
+ selrole => object_r,
+ seltype => nagios_etc_t,
+ seluser => system_u,
+ notify => Service[$ng_service],
+ }
+
+ # manage file header
+
+ concat::fragment { 'contact_header':
+ target => $ng_target_add_contact,
+ content => template($ng_contacts_head_erb),
+ order => '000',
+ }
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_contactgroups_rules.html b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_contactgroups_rules.html
new file mode 100644
index 0000000..c1faeeb
--- /dev/null
+++ b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_contactgroups_rules.html
@@ -0,0 +1,225 @@
+
+
+
+
+
+
+ Puppet Class: cd_nagios::nagios::objects::add_contactgroups_rules
+
+ — Documentation by YARD 0.9.9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Puppet Class: cd_nagios::nagios::objects::add_contactgroups_rules
+
+
+
+ Inherits:
+ cd_nagios::params
+
+
+
+
+ Defined in:
+
+ manifests/nagios/objects/add_contactgroups_rules.pp
+
+
+
+
+
Summary
+ Class manages /etc/nagios/conf.d/nagios_add_contactgroups.cfg file
+and populates through define and external puppet rules
+
+
Overview
+
+
+
+
cd_nagios::nagios::objects::add_contactgroups_rules.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 /.
+
+
+
+
+
+
+
+
+
+
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+
+
+ # File 'manifests/nagios/objects/add_contactgroups_rules.pp', line 30
+
+class cd_nagios::nagios::objects::add_contactgroups_rules (
+
+
+) inherits cd_nagios::params {
+
+ if $::fqdn == $ng_nagios_server {
+
+ # manage /etc/nagios/conf.d/nagios_add_contactgroups.cfg
+
+ concat { $ng_tgt_contactgroup_add:
+ ensure => present,
+ path => $ng_tgt_contactgroup_add,
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ selrange => s0,
+ selrole => object_r,
+ seltype => nagios_etc_t,
+ seluser => system_u,
+ notify => Service[$ng_service],
+ }
+
+ # manage file header
+
+ concat::fragment { 'contactgroups_header':
+ target => $ng_tgt_contactgroup_add,
+ content => template($ng_cntctgrps_head_erb),
+ order => '000',
+ }
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_hostgroup_rules.html b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_hostgroup_rules.html
new file mode 100644
index 0000000..87dae6e
--- /dev/null
+++ b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_hostgroup_rules.html
@@ -0,0 +1,224 @@
+
+
+
+
+
+
+ Puppet Class: cd_nagios::nagios::objects::add_hostgroup_rules
+
+ — Documentation by YARD 0.9.9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Puppet Class: cd_nagios::nagios::objects::add_hostgroup_rules
+
+
+
+ Inherits:
+ cd_nagios::params
+
+
+
+
+ Defined in:
+
+ manifests/nagios/objects/add_hostgroup_rules.pp
+
+
+
+
+
Summary
+ Class manages /etc/nagios_conf.d/nagios_hostgroups_add.cfg and
+additional hostgroups through external Puppet rules via define.
+
+
Overview
+
+
+
+
cd_nagios::nagios::objects::add_hostgroup_rules.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 /.
+
+
+
+
+
+
+
+
+
+
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+
+
+ # File 'manifests/nagios/objects/add_hostgroup_rules.pp', line 29
+
+class cd_nagios::nagios::objects::add_hostgroup_rules (
+
+
+) inherits cd_nagios::params {
+
+ if $::fqdn == $ng_nagios_server {
+
+ # manage /etc/nagios_conf.d/nagios_hostgroups_add.cfg
+
+ concat { $ng_tgt_hostgroup_add:
+ ensure => present,
+ path => $ng_tgt_hostgroup_add,
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ selrange => s0,
+ selrole => object_r,
+ seltype => nagios_etc_t,
+ seluser => system_u,
+ notify => Service[$ng_service],
+ }
+
+ # manage file header
+
+ concat::fragment { 'hostgroups_header':
+ target => $ng_tgt_hostgroup_add,
+ content => template($ng_tgt_hostgrp_head_erb),
+ order => '000',
+ }
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_servicegroup_rules.html b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_servicegroup_rules.html
new file mode 100644
index 0000000..8dabc5d
--- /dev/null
+++ b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_servicegroup_rules.html
@@ -0,0 +1,234 @@
+
+
+
+
+
+
+ Puppet Class: cd_nagios::nagios::objects::add_servicegroup_rules
+
+ — Documentation by YARD 0.9.9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Puppet Class: cd_nagios::nagios::objects::add_servicegroup_rules
+
+
+
+ Inherits:
+ cd_nagios::params
+
+
+
+
+ Defined in:
+
+ manifests/nagios/objects/add_servicegroup_rules.pp
+
+
+
+
+
Summary
+ Class manages /etc/nagios_conf.d/nagios_servicegroups_add.cfg and
+additional servicegroups through external Puppet rules via define.
+
+
Overview
+
+
+
+
cd_nagios::nagios::objects::add_servicegroup_rules.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 /.
+
+
+
+
+
+
+
+
+
+
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+
+
+ # File 'manifests/nagios/objects/add_servicegroup_rules.pp', line 29
+
+class cd_nagios::nagios::objects::add_servicegroup_rules (
+
+
+) inherits cd_nagios::params {
+
+ if $::fqdn == $ng_nagios_server {
+
+ # manage /etc/nagios_conf.d/nagios_servicegroups_add.cfg
+
+ concat { $ng_tgt_servicegroup_add:
+ ensure => present,
+ path => $ng_tgt_servicegroup_add,
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ selrange => s0,
+ selrole => object_r,
+ seltype => nagios_etc_t,
+ seluser => system_u,
+ notify => Service[$ng_service],
+ }
+
+ # manage file header
+
+ concat::fragment { 'servicegroups_header':
+ target => $ng_tgt_servicegroup_add,
+ content => template($ng_tgt_svcgrp_head_erb),
+ order => '000',
+ }
+
+ cd_nagios::nagios::objects::add_servicegroups { 'example_servicegroup':
+ ng_servicegroup_name => 'example_servicegroup',
+ ng_servicegroup_alias => 'Example Servicegroup',
+ }
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_timeperiod_rules.html b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_timeperiod_rules.html
new file mode 100644
index 0000000..9f46fb3
--- /dev/null
+++ b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_timeperiod_rules.html
@@ -0,0 +1,232 @@
+
+
+
+
+
+
+ Puppet Class: cd_nagios::nagios::objects::add_timeperiod_rules
+
+ — Documentation by YARD 0.9.9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Puppet Class: cd_nagios::nagios::objects::add_timeperiod_rules
+
+
+
+ Inherits:
+ cd_nagios::params
+
+
+
+
+ Defined in:
+
+ manifests/nagios/objects/add_timeperiod_rules.pp
+
+
+
+
+
Summary
+ Class manages /etc/nagios_conf.d/nagios_timeperiods_add.cfg and
+add. hostgroups through external Puppet rules via define.
+
+
Overview
+
+
+
+
cd_nagios::nagios::objects::add_timeperiod_rules.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 /.
+ }
+
+
+
+
+
+
+
+
+
+
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+
+
+ # File 'manifests/nagios/objects/add_timeperiod_rules.pp', line 35
+
+class cd_nagios::nagios::objects::add_timeperiod_rules (
+
+) inherits cd_nagios::params {
+
+ if $::fqdn == $ng_nagios_server {
+
+ # manage /etc/nagios/conf.d/nagios_timeperiods_add.cfg
+
+ concat { $ng_tgt_timep_add:
+ ensure => present,
+ path => $ng_tgt_timep_add,
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ selrange => s0,
+ selrole => object_r,
+ seltype => nagios_etc_t,
+ seluser => system_u,
+ notify => Service[$ng_service],
+ }
+
+ # manage file header
+
+ concat::fragment { 'timeperiods_header':
+ target => $ng_tgt_timep_add,
+ content => template($ng_tgt_timep_head_erb),
+ order => '000',
+ }
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Acommands.html b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Acommands.html
new file mode 100644
index 0000000..d98cc78
--- /dev/null
+++ b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Acommands.html
@@ -0,0 +1,607 @@
+
+
+
+
+
+
+ Puppet Class: cd_nagios::nagios::objects::commands
+
+ — Documentation by YARD 0.9.9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Puppet Class: cd_nagios::nagios::objects::commands
+
+
+
+ Inherits:
+ cd_nagios::params
+
+
+
+
+ Defined in:
+
+ manifests/nagios/objects/commands.pp
+
+
+
+
+
Summary
+ Class manages all commands known to NAGIOS through Puppet exports,
+and populates /etc/nagios/conf.d/nagios_commands.cfg.
+
+
Overview
+
+
+
+
cd_nagios::nagios::objects::commands.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 /.
+
+
+
+
+
+
+
+
+
+
+
+
+
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+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
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+
+
+ # File 'manifests/nagios/objects/commands.pp', line 24
+
+class cd_nagios::nagios::objects::commands (
+
+) inherits cd_nagios::params {
+
+ if $::fqdn == $ng_nagios_server {
+
+ @@nagios_command { 'notify-host-by-email':
+ 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',
+ mode => '0640',
+ target => $ng_target_command,
+ }
+
+ @@nagios_command { 'notify-service-by-email':
+ 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',
+ mode => '0640',
+ target => $ng_target_command,
+ }
+
+ @@nagios_command { 'check-host-alive':
+ 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',
+ mode => '0640',
+ target => $ng_target_command,
+ }
+
+ @@nagios_command { 'check_disk':
+ ensure => present,
+ command_name => 'check_disk',
+ command_line => '$USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$',
+ owner => 'nagios',
+ group => 'nagios',
+ mode => '0640',
+ target => $ng_target_command,
+ }
+
+ @@nagios_command { 'check_local_load':
+ ensure => present,
+ command_name => 'check_local_load',
+ command_line => '$USER1$/check_load -w $ARG1$ -c $ARG2$',
+ owner => 'nagios',
+ group => 'nagios',
+ mode => '0640',
+ target => $ng_target_command,
+ }
+
+ @@nagios_command { 'check_local_procs':
+ ensure => present,
+ command_name => 'check_local_procs',
+ command_line => '$USER1$/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$',
+ owner => 'nagios',
+ group => 'nagios',
+ mode => '0640',
+ target => $ng_target_command,
+ }
+
+ @@nagios_command { 'check_local_users':
+ ensure => present,
+ command_name => 'check_local_users',
+ command_line => '$USER1$/check_users -w $ARG1$ -c $ARG2$',
+ owner => 'nagios',
+ group => 'nagios',
+ mode => '0640',
+ target => $ng_target_command,
+ }
+
+ @@nagios_command { 'check_local_swap':
+ ensure => present,
+ command_name => 'check_local_swap',
+ command_line => '$USER1$/check_swap -w $ARG1$ -c $ARG2$',
+ owner => 'nagios',
+ group => 'nagios',
+ mode => '0640',
+ target => $ng_target_command,
+ }
+
+ @@nagios_command { 'check_ftp':
+ ensure => present,
+ command_name => 'check_ftp',
+ command_line => '$USER1$/check_ftp -H $HOSTADDRESS$ $ARG1$',
+ owner => 'nagios',
+ group => 'nagios',
+ mode => '0640',
+ target => $ng_target_command,
+ }
+
+ @@nagios_command { 'check_snmp':
+ ensure => present,
+ command_name => 'check_snmp',
+ command_line => '$USER1$/check_snmp -H $HOSTADDRESS$ $ARG1$',
+ owner => 'nagios',
+ group => 'nagios',
+ mode => '0640',
+ target => $ng_target_command,
+ }
+
+ @@nagios_command { 'check_http':
+ ensure => present,
+ command_name => 'check_http',
+ command_line => '$USER1$/check_http -I $HOSTADDRESS$ $ARG1$',
+ owner => 'nagios',
+ group => 'nagios',
+ mode => '0640',
+ target => $ng_target_command,
+ }
+
+ @@nagios_command { 'check_ssh':
+ ensure => present,
+ command_name => 'check_ssh',
+ command_line => '$USER1$/check_ssh $ARG1$ $HOSTADDRESS$',
+ owner => 'nagios',
+ group => 'nagios',
+ mode => '0640',
+ target => $ng_target_command,
+ }
+
+ @@nagios_command { 'check_ping':
+ ensure => present,
+ command_name => 'check_ping',
+ command_line => '$USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5',
+ owner => 'nagios',
+ group => 'nagios',
+ mode => '0640',
+ target => $ng_target_command,
+ }
+
+ @@nagios_command { 'check_tcp':
+ ensure => present,
+ command_name => 'check_tcp',
+ command_line => '$USER1$/check_tcp -H $HOSTADDRESS$ -p $ARG1$ $ARG2$',
+ owner => 'nagios',
+ group => 'nagios',
+ mode => '0640',
+ target => $ng_target_command,
+ }
+
+ @@nagios_command { 'check_udp':
+ ensure => present,
+ command_name => 'check_udp',
+ command_line => '$USER1$/check_udp -H $HOSTADDRESS$ -p $ARG1$ $ARG2$',
+ owner => 'nagios',
+ group => 'nagios',
+ mode => '0640',
+ target => $ng_target_command,
+ }
+
+ @@nagios_command { 'check_nrpe':
+ 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',
+ mode => '0640',
+ target => $ng_target_command,
+ }
+
+ @@nagios_command { 'check_nagios':
+ ensure => present,
+ command_name => 'check_nagios',
+ command_line => '$USER1$/check_nagios -F $ARG1$ -e $ARG2$ -C $ARG3$',
+ owner => 'nagios',
+ group => 'nagios',
+ mode => '0640',
+ target => $ng_target_command,
+ }
+
+ @@nagios_command { 'check_bandwidth':
+ ensure => present,
+ command_name => 'check_bandwidth',
+ command_line => '$USER1$/check_bandwidth.sh -t 30 -H $HOSTADDRESS$ linux $ARG1$ $ARG2$ $ARG3$',
+ owner => 'nagios',
+ group => 'nagios',
+ mode => '0640',
+ target => $ng_target_command,
+ }
+
+ @@nagios_command { 'check_jenkins_api':
+ ensure => present,
+ command_name => 'check_jenkins_api',
+ command_line => '$USER1$/check_http -H $HOSTADDRESS$ -u /api/xml?depth=0 -R quietingDown.false $ARG1$ $ARG2$',
+ owner => 'nagios',
+ group => 'nagios',
+ mode => '0640',
+ target => $ng_target_command,
+ }
+
+
+ @@nagios_command { 'process-service-perfdata-file':
+ 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',
+ mode => '0640',
+ target => $ng_target_command,
+ }
+
+ @@nagios_command { 'process-host-perfdata-file':
+ 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',
+ mode => '0640',
+ target => $ng_target_command,
+ }
+
+ @@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',
+ mode => '0640',
+ target => $ng_target_command,
+ }
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aconfig.html b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aconfig.html
new file mode 100644
index 0000000..bd68433
--- /dev/null
+++ b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aconfig.html
@@ -0,0 +1,192 @@
+
+
+
+
+
+
+ Puppet Class: cd_nagios::nagios::objects::config
+
+ — Documentation by YARD 0.9.9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Puppet Class: cd_nagios::nagios::objects::config
+
+
+
+ Inherits:
+ cd_nagios::params
+
+
+
+
+ Defined in:
+
+ manifests/nagios/objects/config.pp
+
+
+
+
+
Summary
+ Class manages the nagios objects definitions.
+
+
Overview
+
+
+
+
cd_nagios::server::nagios::objects::config.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 /.
+
+
+
+
+
+
+
+
+
+
+
+
+
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+
+
+ # File 'manifests/nagios/objects/config.pp', line 23
+
+class cd_nagios::nagios::objects::config (
+
+) inherits cd_nagios::params {
+
+ if $::fqdn == $ng_nagios_server {
+
+ require cd_nagios::nagios::objects::commands
+ require cd_nagios::nagios::objects::template_rules
+ require cd_nagios::nagios::objects::contacts
+ require cd_nagios::nagios::objects::add_contact_rules
+ require cd_nagios::nagios::objects::contactgroups
+ require cd_nagios::nagios::objects::add_contactgroups_rules
+ require cd_nagios::nagios::objects::hostgroups
+ require cd_nagios::nagios::objects::add_hostgroup_rules
+ require cd_nagios::nagios::objects::servicegroups
+ require cd_nagios::nagios::objects::add_servicegroup_rules
+ require cd_nagios::nagios::objects::timeperiods
+ require cd_nagios::nagios::objects::add_timeperiod_rules
+
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Acontactgroups.html b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Acontactgroups.html
new file mode 100644
index 0000000..3e1f41b
--- /dev/null
+++ b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Acontactgroups.html
@@ -0,0 +1,247 @@
+
+
+
+
+
+
+ Puppet Class: cd_nagios::nagios::objects::contactgroups
+
+ — Documentation by YARD 0.9.9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Puppet Class: cd_nagios::nagios::objects::contactgroups
+
+
+
+ Inherits:
+ cd_nagios::params
+
+
+
+
+ Defined in:
+
+ manifests/nagios/objects/contactgroups.pp
+
+
+
+
+
Summary
+ Class manages base contactgroups which always should be there.
+
+
Overview
+
+
+
+
cd_nagios::nagios::objects::contactgroups.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 /
+
+
+
+
+
+
+
+
+
+
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+
+
+ # File 'manifests/nagios/objects/contactgroups.pp', line 34
+
+class cd_nagios::nagios::objects::contactgroups (
+
+
+) inherits cd_nagios::params {
+ if $::fqdn == $ng_nagios_server {
+
+ @@nagios_contactgroup { 'admins':
+ ensure => present,
+ alias => 'Nagios Administrators',
+ contactgroup_name => 'admins',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ register => '1',
+ target => $ng_tgt_contactgroup_base,
+ }
+
+ @@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,
+ }
+
+ @@nagios_contactgroup { 'support':
+ ensure => present,
+ alias => 'Support Team',
+ contactgroup_name => 'support',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ register => '1',
+ target => $ng_tgt_contactgroup_base,
+ }
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Acontacts.html b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Acontacts.html
new file mode 100644
index 0000000..eb367ac
--- /dev/null
+++ b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Acontacts.html
@@ -0,0 +1,290 @@
+
+
+
+
+
+
+ Puppet Class: cd_nagios::nagios::objects::contacts
+
+ — Documentation by YARD 0.9.9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Puppet Class: cd_nagios::nagios::objects::contacts
+
+
+
+ Inherits:
+ cd_nagios::params
+
+
+
+
+ Defined in:
+
+ manifests/nagios/objects/contacts.pp
+
+
+
+
+
Summary
+ Class manages basic contacts known to NAGIOS through Puppet exports,
+and populates /etc/nagios/conf.d/nagios_base_contacts.cfg.
+
+
Overview
+
+
+
+
cd_nagios::nagios::objects::contacts.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 /.
+
+
+
+
+
+
+
+
+
+
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+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
+
+
+ # File 'manifests/nagios/objects/contacts.pp', line 39
+
+class cd_nagios::nagios::objects::contacts (
+
+
+) inherits cd_nagios::params {
+
+ if $::fqdn == $ng_nagios_server {
+
+ # admin contact
+
+ @@nagios_contact { 'admin':
+ ensure => present,
+ alias => 'Nagios Admin',
+ contact_name => 'admin',
+ contactgroups => 'admins',
+ email => "admin@${::domain}",
+ can_submit_commands => '1',
+ register => '1',
+ use => 'generic-contact',
+ target => $ng_target_base_contact,
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ }
+
+ # ops contact
+
+ @@nagios_contact { 'ops':
+ ensure => present,
+ alias => 'Operations',
+ contact_name => 'ops',
+ contactgroups => 'operations',
+ email => "ops@${::domain}",
+ can_submit_commands => '1',
+ register => '1',
+ use => 'generic-contact',
+ target => $ng_target_base_contact,
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ }
+
+ # support contact
+
+ @@nagios_contact { 'support':
+ ensure => present,
+ alias => 'support',
+ contact_name => 'support',
+ contactgroups => 'support',
+ email => "support@${::domain}",
+ can_submit_commands => '1',
+ register => '1',
+ use => 'generic-contact',
+ target => $ng_target_base_contact,
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ }
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Ahostgroups.html b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Ahostgroups.html
new file mode 100644
index 0000000..74e60d2
--- /dev/null
+++ b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Ahostgroups.html
@@ -0,0 +1,561 @@
+
+
+
+
+
+
+ Puppet Class: cd_nagios::nagios::objects::hostgroups
+
+ — Documentation by YARD 0.9.9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Puppet Class: cd_nagios::nagios::objects::hostgroups
+
+
+
+ Inherits:
+ cd_nagios::params
+
+
+
+
+ Defined in:
+
+ manifests/nagios/objects/hostgroups.pp
+
+
+
+
+
Summary
+ Class manages basic hostgroups known to NAGIOS through Puppet
+exports, and populates /etc/nagios/conf.d/nagios_base_hostgroups.cfg.
+
+
Overview
+
+
+
+
cd_nagios::nagios::objects::hostgroups.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 /.
+
+
+
+
+
+
+
+
+
+
+
+
+
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+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
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+
+
+ # File 'manifests/nagios/objects/hostgroups.pp', line 24
+
+class cd_nagios::nagios::objects::hostgroups (
+
+
+) inherits cd_nagios::params {
+
+ if $::fqdn == $ng_nagios_server {
+
+ # linux servers
+
+ @@nagios_hostgroup { 'linux-servers':
+ ensure => present,
+ hostgroup_name => 'linux-servers',
+ alias => 'Linux Servers',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ register => '1',
+ target => $ng_target_hostgroup_base,
+ }
+
+
+ # RHEL servers
+
+ @@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,
+ }
+
+ # CentOS servers
+
+ @@nagios_hostgroup { 'centos-servers':
+ ensure => present,
+ hostgroup_name => 'centos-servers',
+ alias => 'CentOS Servers',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ register => '1',
+ target => $ng_target_hostgroup_base,
+ }
+
+ # SuSE servers
+
+ @@nagios_hostgroup { 'suse-servers':
+ ensure => present,
+ hostgroup_name => 'suse-servers',
+ alias => 'SuSE Servers',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ register => '1',
+ target => $ng_target_hostgroup_base,
+ }
+
+ # Unix servers
+
+ @@nagios_hostgroup { 'unix-servers':
+ ensure => present,
+ hostgroup_name => 'unix-servers',
+ alias => 'Unix Servers',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ register => '1',
+ target => $ng_target_hostgroup_base,
+ }
+
+ # Solaris servers
+
+ @@nagios_hostgroup { 'solaris-servers':
+ ensure => present,
+ hostgroup_name => 'solaris-servers',
+ alias => 'Solaris Servers',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ register => '1',
+ target => $ng_target_hostgroup_base,
+ }
+
+ # AIX servers
+
+ @@nagios_hostgroup { 'aix-servers':
+ ensure => present,
+ hostgroup_name => 'aix-servers',
+ alias => 'AIX Servers',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ register => '1',
+ target => $ng_target_hostgroup_base,
+ }
+
+ # Windows servers
+
+ @@nagios_hostgroup { 'windows-servers':
+ ensure => present,
+ hostgroup_name => 'windows-servers',
+ alias => 'Windows Servers',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ register => '1',
+ target => $ng_target_hostgroup_base,
+ }
+
+ # Netware servers
+
+ @@nagios_hostgroup { 'netware-servers':
+ ensure => present,
+ hostgroup_name => 'netware-servers',
+ alias => 'Netware Servers',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ register => '1',
+ target => $ng_target_hostgroup_base,
+ }
+
+ # DB servers
+
+ @@nagios_hostgroup { 'db-servers':
+ ensure => present,
+ hostgroup_name => 'db-servers',
+ alias => 'DB Servers',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ register => '1',
+ target => $ng_target_hostgroup_base,
+ }
+
+ # Oracle servers
+
+ @@nagios_hostgroup { 'oracle-servers':
+ ensure => present,
+ hostgroup_name => 'oracle-servers',
+ alias => 'Oracle Servers',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ register => '1',
+ target => $ng_target_hostgroup_base,
+ }
+
+ # MySQL servers
+
+ @@nagios_hostgroup { 'mysql-servers':
+ ensure => present,
+ hostgroup_name => 'mysql-servers',
+ alias => 'MySQL Servers',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ register => '1',
+ target => $ng_target_hostgroup_base,
+ }
+
+ # MSSQL servers
+
+ @@nagios_hostgroup { 'mssql-servers':
+ ensure => present,
+ hostgroup_name => 'mssql-servers',
+ alias => 'MSSQL Servers',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ register => '1',
+ target => $ng_target_hostgroup_base,
+ }
+
+ # NOSQL servers
+
+ @@nagios_hostgroup { 'nosql-servers':
+ ensure => present,
+ hostgroup_name => 'nosql-servers',
+ alias => 'NOSQL Servers',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ register => '1',
+ target => $ng_target_hostgroup_base,
+ }
+
+ # Hadoop servers
+
+ @@nagios_hostgroup { 'hadoop-servers':
+ ensure => present,
+ hostgroup_name => 'hadoop-servers',
+ alias => 'HADOOP Servers',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ register => '1',
+ target => $ng_target_hostgroup_base,
+ }
+
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aservicegroups.html b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aservicegroups.html
new file mode 100644
index 0000000..cf77714
--- /dev/null
+++ b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aservicegroups.html
@@ -0,0 +1,245 @@
+
+
+
+
+
+
+ Puppet Class: cd_nagios::nagios::objects::servicegroups
+
+ — Documentation by YARD 0.9.9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Puppet Class: cd_nagios::nagios::objects::servicegroups
+
+
+
+ Inherits:
+ cd_nagios::params
+
+
+
+
+ Defined in:
+
+ manifests/nagios/objects/servicegroups.pp
+
+
+
+
+
Summary
+ Class manages basic hostgroups known to NAGIOS through Puppet
+exports, and populates /etc/nagios/conf.d/nagios_base_hostgroups.cfg.
+
+
Overview
+
+
+
+
cd_nagios::nagios::objects::servicegroups.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 /.
+
+
+
+
+
+
+
+
+
+
+
+
+
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+
+
+ # File 'manifests/nagios/objects/servicegroups.pp', line 24
+
+class cd_nagios::nagios::objects::servicegroups (
+
+
+) inherits cd_nagios::params {
+
+ if $::fqdn == $ng_nagios_server {
+
+ # network services
+
+ @@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,
+ }
+
+ # linux services
+
+ @@nagios_servicegroup { 'linux-services':
+ ensure => present,
+ servicegroup_name => 'linux-services',
+ alias => 'Linux Services',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ register => '1',
+ target => $ng_target_svcgrp_base,
+ }
+
+ # database services
+
+ @@nagios_servicegroup { 'database-services':
+ ensure => present,
+ servicegroup_name => 'database-services',
+ alias => 'Database Services',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ register => '1',
+ target => $ng_target_svcgrp_base,
+ }
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Atemplate_rules.html b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Atemplate_rules.html
new file mode 100644
index 0000000..ac6b5ef
--- /dev/null
+++ b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Atemplate_rules.html
@@ -0,0 +1,315 @@
+
+
+
+
+
+
+ Puppet Class: cd_nagios::nagios::objects::template_rules
+
+ — Documentation by YARD 0.9.9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Puppet Class: cd_nagios::nagios::objects::template_rules
+
+
+
+ Inherits:
+ cd_nagios::params
+
+
+
+
+ Defined in:
+
+ manifests/nagios/objects/template_rules.pp
+
+
+
+
+
Summary
+ Class manages /etc/nagios/conf.d/nagios_templates.cfg through
+concat.
+
+
Overview
+
+
+
+
cd_nagios::nagios::objects::template_rules.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 /.
+
+
+
+
+
+
+
+
+
+
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+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
+
+
+ # File 'manifests/nagios/objects/template_rules.pp', line 28
+
+class cd_nagios::nagios::objects::template_rules (
+
+) inherits cd_nagios::params {
+
+ if $::fqdn == $ng_nagios_server {
+
+ # create the templates.cfg file
+
+ concat { $ng_target_templates:
+ ensure => present,
+ path => $ng_target_templates,
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ selrange => s0,
+ selrole => object_r,
+ seltype => nagios_etc_t,
+ seluser => system_u,
+ notify => Service[$ng_service],
+ }
+
+ concat::fragment { 'template_header':
+ target => $ng_target_templates,
+ content => template($ng_templates_head_erb),
+ order => '000',
+ }
+
+
+ # basic templates
+ cd_nagios::nagios::objects::templates { 'generic contact':
+ ng_template_object => 'contact',
+ ng_template_object_name => 'generic-contact',
+ }
+ cd_nagios::nagios::objects::templates { 'generic-host':
+ ng_template_object => 'host',
+ ng_template_object_name => 'generic-host',
+ }
+ cd_nagios::nagios::objects::templates { 'linux-server':
+ ng_template_object => 'host',
+ ng_template_object_name => 'linux-server',
+ ng_template_object_use => 'generic-host',
+ ng_notification_options => 'd,u,r',
+ }
+ cd_nagios::nagios::objects::templates { 'windows-server':
+ ng_template_object => 'host',
+ ng_template_object_name => 'windows-server',
+ ng_template_object_use => 'generic-host',
+ ng_notification_options => 'd,u,r',
+ }
+ cd_nagios::nagios::objects::templates { 'generic-switch':
+ ng_template_object => 'host',
+ ng_template_object_name => 'generic-switch',
+ ng_template_object_use => 'generic-host',
+ ng_notification_options => 'd,u,r',
+ }
+ cd_nagios::nagios::objects::templates { 'generic-printer':
+ ng_template_object => 'host',
+ ng_template_object_name => 'generic-printer',
+ ng_template_object_use => 'generic-host',
+ ng_notification_options => 'd,u,r',
+ }
+ cd_nagios::nagios::objects::templates { 'generic-service':
+ ng_template_object => 'service',
+ ng_template_object_name => 'generic-service',
+ ng_max_check_attempts => '3',
+ ng_notification_options => 'w,u,c,r',
+ }
+ cd_nagios::nagios::objects::templates { 'local-service':
+ ng_template_object => 'service',
+ ng_template_object_name => 'local-service',
+ ng_max_check_attempts => '4',
+ ng_template_object_use => 'generic-service',
+ }
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Atimeperiods.html b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Atimeperiods.html
new file mode 100644
index 0000000..372306b
--- /dev/null
+++ b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Atimeperiods.html
@@ -0,0 +1,295 @@
+
+
+
+
+
+
+ Puppet Class: cd_nagios::nagios::objects::timeperiods
+
+ — Documentation by YARD 0.9.9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Puppet Class: cd_nagios::nagios::objects::timeperiods
+
+
+
+ Inherits:
+ cd_nagios::params
+
+
+
+
+ Defined in:
+
+ manifests/nagios/objects/timeperiods.pp
+
+
+
+
+
Summary
+ Class manages main timeperiods for NAGIOS through Puppet exports,
+and populates /etc/nagios/conf.d/nagios_timeperiods_base.cfg.
+
+
Overview
+
+
+
+
cd_nagios::nagios::objects::timeperiods.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 /.
+
+
+
+
+
+
+
+
+
+
+
+
+
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+
+
+ # File 'manifests/nagios/objects/timeperiods.pp', line 24
+
+class cd_nagios::nagios::objects::timeperiods (
+
+) inherits cd_nagios::params {
+
+ if $::fqdn == $ng_nagios_server {
+
+ @@nagios_timeperiod { '24x7':
+ ensure => present,
+ timeperiod_name => '24x7',
+ alias => '24 Hours A Day, 7 Days A Week',
+ monday => '00:00-24:00',
+ tuesday => '00:00-24:00',
+ wednesday => '00:00-24:00',
+ thursday => '00:00-24:00',
+ friday => '00:00-24:00',
+ saturday => '00:00-24:00',
+ sunday => '00:00-24:00',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ register => '1',
+ target => $ng_tgt_timeperiods_base,
+ }
+
+ @@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,
+ }
+
+ @@nagios_timeperiod { 'out_of_hours':
+ ensure => present,
+ timeperiod_name => 'out_of_hours',
+ alias => 'Outside Office hours only',
+ monday => '17:00-09:00',
+ tuesday => '17:00-09:00',
+ wednesday => '17:00-09:00',
+ thursday => '17:00-09:00',
+ friday => '17:00-09:00',
+ saturday => '00:00-24:00',
+ sunday => '00:00-24:00',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ register => '1',
+ target => $ng_tgt_timeperiods_base,
+ }
+
+ @@nagios_timeperiod { 'none':
+ ensure => present,
+ timeperiod_name => 'none',
+ alias => 'No Time Is A Good Time',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ register => '1',
+ target => $ng_tgt_timeperiods_base,
+ }
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/doc/puppet_classes/cd_nagios_3A_3Aparams.html b/doc/puppet_classes/cd_nagios_3A_3Aparams.html
index bf9b17e..75ec04c 100644
--- a/doc/puppet_classes/cd_nagios_3A_3Aparams.html
+++ b/doc/puppet_classes/cd_nagios_3A_3Aparams.html
@@ -89,6 +89,32 @@
cd_nagios::server::access_rules
+ cd_nagios::nagios::objects::config
+
+ cd_nagios::nagios::objects::commands
+
+ cd_nagios::nagios::objects::contacts
+
+ cd_nagios::nagios::objects::hostgroups
+
+ cd_nagios::nagios::objects::timeperiods
+
+ cd_nagios::nagios::objects::contactgroups
+
+ cd_nagios::nagios::objects::servicegroups
+
+ cd_nagios::nagios::objects::template_rules
+
+ cd_nagios::nagios::objects::add_contact_rules
+
+ cd_nagios::nagios::objects::add_hostgroup_rules
+
+ cd_nagios::nagios::objects::add_timeperiod_rules
+
+ cd_nagios::nagios::objects::add_servicegroup_rules
+
+ cd_nagios::nagios::objects::add_contactgroups_rules
+
@@ -850,7 +876,7 @@ templates and for firewall
(string )
- (defaults to: '/bin/bash' )
+ (defaults to: '/sbin/nologin' )
—
@@ -4845,6 +4871,25 @@ rampup_limit - Minimum
rampup_change
rampup_change - # of jobs to add to jobs_limit when ramping
up
+
+
+
+
+
+
+ ng_nrpe_port
+
+
+ (string )
+
+
+ (defaults to: '5666' )
+
+
+ —
+
+
the port for NRPE. used by firewall and in
+configuration file.
@@ -4866,8 +4911,6 @@ up
-646
-647
648
649
650
@@ -5202,10 +5245,30 @@ up
979
980
981
-982
+982
+983
+984
+985
+986
+987
+988
+989
+990
+991
+992
+993
+994
+995
+996
+997
+998
+999
+1000
+1001
+1002
- # File 'manifests/params.pp', line 646
+ # File 'manifests/params.pp', line 648
class cd_nagios::params (
@@ -5225,6 +5288,7 @@ $ng_http_https_fw = true,
$ng_fw_order = '50',
$ng_http_port = '80',
$ng_https_port = '443',
+$ng_nrpe_port = '5666',
# check command parameters
## ping
@@ -5264,7 +5328,7 @@ $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',
+$ng_user_shell = '/sbin/nologin',
# cgi settings
$ng_context_help = '1',
@@ -5456,6 +5520,7 @@ $ng_check_workers = '',
$ng_host_down_svc_checks = '0',
$ng_enable_load_ctl_options = false,
$ng_loadctl_options = 'jobs_max=100;backoff_limit=10;rampup_change=5',
+
) {
# installation section
@@ -5470,74 +5535,90 @@ $ng_loadctl_options = 'jobs_max=100;backoff_limit=10;rampup_change=5
'nagios-plugins-nrpe',
'nagios-common']
}
- $reqpackages_nrpe = $::operatingsystem ? {
- /(?i-mx:centos|fedora|redhat)/ => ['nrpe']
- }
# service
-$ng_service = 'nagios'
-$ae_service = 'httpd'
+$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"
+$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'
+$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"
+$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}/nagios_templates.cfg"
+$ng_templates_head_erb = 'cd_nagios/nagios/templates_cfg_head.erb'
+$ng_templates_rule_erb = 'cd_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 = 'cd_nagios/nagios/timeperiods_cfg_head.erb'
+$ng_tgt_timep_rule_erb = 'cd_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 = 'cd_nagios/nagios/hostgroups_cfg_head.erb'
+$ng_tgt_hostgrp_rule_erb = 'cd_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 = 'cd_nagios/nagios/svcgroups_cfg_head.erb'
+$ng_tgt_svcgrp_rule_erb = 'cd_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 = 'cd_nagios/nagios/contacts_cfg_head.erb'
+$ng_contacts_rule_erb = 'cd_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 = 'cd_nagios/nagios/contactgroups_cfg_head.erb'
+$ng_cntctgrps_rule_erb = 'cd_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'
-$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"
-
+# nrpe
+$ng_nrpe_file = "${ng_main_dir}/nrpe.cfg"
# includes must be last
@@ -5551,7 +5632,7 @@ $ng_target_command = "${ng_conf_d_dir}/nagios_command.cfg"
diff --git a/doc/puppet_classes/cd_nagios_3A_3Aselinux_3A_3Aconfig.html b/doc/puppet_classes/cd_nagios_3A_3Aselinux_3A_3Aconfig.html
index 519d67e..961cdf1 100644
--- a/doc/puppet_classes/cd_nagios_3A_3Aselinux_3A_3Aconfig.html
+++ b/doc/puppet_classes/cd_nagios_3A_3Aselinux_3A_3Aconfig.html
@@ -249,7 +249,7 @@ class cd_nagios::selinux::config (
diff --git a/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Aaccess_rules.html b/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Aaccess_rules.html
index e984ea0..98b0936 100644
--- a/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Aaccess_rules.html
+++ b/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Aaccess_rules.html
@@ -195,7 +195,7 @@ class cd_nagios::server::access_rules (
diff --git a/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Afiles.html b/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Afiles.html
index dc045f4..70a0c4c 100644
--- a/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Afiles.html
+++ b/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Afiles.html
@@ -334,7 +334,7 @@ class cd_nagios::server::files (
diff --git a/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Aservice.html b/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Aservice.html
index 235aa00..ab6ada0 100644
--- a/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Aservice.html
+++ b/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Aservice.html
@@ -191,7 +191,29 @@ href="http://www.gnu.org/licenses">www.gnu.org/licenses/.
82
83
84
-85
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
# File 'manifests/server/service.pp', line 23
@@ -201,9 +223,13 @@ class cd_nagios::server::service (
) inherits cd_nagios::params {
if $::fqdn == $ng_nagios_server {
+ if $ng_include_nrpe == true {
+ require cd_nrpe
+ }
require cd_nagios::server::files
require cd_nagios::server::access_rules
+ require cd_nagios::nagios::objects::config
service { $ng_service:
ensure => running,
@@ -212,16 +238,34 @@ class cd_nagios::server::service (
enable => true,
}
- @@nagios_service { "check_nagios${::hostname}":
- check_command => 'check_nagios!/var/log/nagios/status.dat!5!/usr/sbin/nagios',
+ @@nagios_host { 'localhost':
+ ensure => $ng_ping_ensure,
+ alias => 'localhost',
+ address => '127.0.0.1',
+ use => 'linux-server',
+ target => $ng_target_localhost,
+ hostgroups => 'linux-servers',
+ contacts => 'ops',
+ max_check_attempts => $ng_max_check_attempts,
+ notification_period => '24x7',
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ check_command => "check_ping!${ng_ping_warn}!${ng_ping_crit}",
+ notify => Service[$ng_service],
+ }
+
+ @@nagios_service { 'check_nagios_localhost':
+ check_command => $ng_nagios_service_cmd,
use => 'generic-service',
- host_name => $::fqdn,
+ host_name => 'localhost',
notification_period => '24x7',
- target => $ng_target_service,
- owner => 'nagios',
- group => 'nagios',
- mode => '660',
- contacts => 'DevOps',
+ service_description => 'localhost_nagios_service',
+ target => $ng_target_service,
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ contacts => 'ops',
}
resources { [ 'nagios_host',
@@ -266,7 +310,7 @@ class cd_nagios::server::service (
diff --git a/doc/puppet_defined_type_list.html b/doc/puppet_defined_type_list.html
index 1a1b62b..c239511 100644
--- a/doc/puppet_defined_type_list.html
+++ b/doc/puppet_defined_type_list.html
@@ -40,6 +40,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
cd_nagios::server::access
diff --git a/doc/puppet_defined_types/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_contact.html b/doc/puppet_defined_types/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_contact.html
new file mode 100644
index 0000000..2281bdb
--- /dev/null
+++ b/doc/puppet_defined_types/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_contact.html
@@ -0,0 +1,295 @@
+
+
+
+
+
+
+ Defined Type: cd_nagios::nagios::objects::add_contact
+
+ — Documentation by YARD 0.9.9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Defined Type: cd_nagios::nagios::objects::add_contact
+
+
+ Defined in:
+
+ manifests/nagios/objects/add_contact.pp
+
+
+
+
+
Summary
+ Define manages additional contacts known to NAGIOS through external
+Puppet rules, and populates /etc/nagios/conf.d/nagios_add_contact.cfg.
+
+
Overview
+
+
+
+
cd_nagios::nagios::objects::add_contact.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 /.
+
+
+
+
+
+
+
+
+
+
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+
+
+ # File 'manifests/nagios/objects/add_contact.pp', line 36
+
+define cd_nagios::nagios::objects::add_contact (
+
+$ng_contact_name = undef,
+$ng_contact_use = 'generic-contact',
+$ng_contact_alias = undef,
+$ng_contact_email = undef,
+$ng_contact_groups = undef,
+
+) {
+
+$ng_nagios_server = $::cd_nagios::params::ng_nagios_server
+$ng_target_add_contact = $::cd_nagios::params::ng_target_add_contact
+$ng_contacts_rule_erb = $::cd_nagios::params::ng_contacts_rule_erb
+
+ if $::fqdn == $ng_nagios_server {
+
+ concat::fragment { $name:
+ target => $ng_target_add_contact,
+ content => template($ng_contacts_rule_erb),
+ }
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/doc/puppet_defined_types/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_contactgroups.html b/doc/puppet_defined_types/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_contactgroups.html
new file mode 100644
index 0000000..23c31b2
--- /dev/null
+++ b/doc/puppet_defined_types/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_contactgroups.html
@@ -0,0 +1,247 @@
+
+
+
+
+
+
+ Defined Type: cd_nagios::nagios::objects::add_contactgroups
+
+ — Documentation by YARD 0.9.9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Defined Type: cd_nagios::nagios::objects::add_contactgroups
+
+
+ Defined in:
+
+ manifests/nagios/objects/add_contactgroups.pp
+
+
+
+
+
Summary
+ Define populates /etc/nagios/conf.d/nagios_add_contactgroups through
+external puppet rules.
+
+
Overview
+
+
+
+
cd_nagios::nagios::objects::add_contactgroups.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 /
+
+
+
+
+
+
+
+
+
+
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+
+
+ # File 'manifests/nagios/objects/add_contactgroups.pp', line 30
+
+define cd_nagios::nagios::objects::add_contactgroups (
+
+$ng_contactgroup_name = undef,
+$ng_contactgroup_alias = undef,
+$ng_contactgroup_register = '1',
+
+) {
+
+$ng_nagios_server = $::cd_nagios::params::ng_nagios_server
+$ng_tgt_contactgroup_add = $::cd_nagios::params::ng_tgt_contactgroup_add
+$ng_cntctgrps_rule_erb = $::cd_nagios::params::ng_cntctgrps_rule_erb
+
+
+ if $::fqdn == $ng_nagios_server {
+
+ concat::fragment { $name:
+ target => $ng_tgt_contactgroup_add,
+ content => template($ng_cntctgrps_rule_erb),
+ }
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/doc/puppet_defined_types/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_hostgroups.html b/doc/puppet_defined_types/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_hostgroups.html
new file mode 100644
index 0000000..b5bcda4
--- /dev/null
+++ b/doc/puppet_defined_types/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_hostgroups.html
@@ -0,0 +1,255 @@
+
+
+
+
+
+
+ Defined Type: cd_nagios::nagios::objects::add_hostgroups
+
+ — Documentation by YARD 0.9.9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Defined Type: cd_nagios::nagios::objects::add_hostgroups
+
+
+ Defined in:
+
+ manifests/nagios/objects/add_hostgroups.pp
+
+
+
+
+
Summary
+ define populates /etc/nagios/conf.d/nagios_hostgroups_add through
+extermal Puppet rules.
+
+
Overview
+
+
+
+
cd_nagios::nagios::objects::add_hostgroups.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 /
+
+
+
+
+
+
+
+
+
+
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+
+
+ # File 'manifests/nagios/objects/add_hostgroups.pp', line 32
+
+define cd_nagios::nagios::objects::add_hostgroups (
+
+$ng_hostgroup_name = undef,
+$ng_hostgroup_alias = undef,
+$ng_hostgroup_register = '1',
+
+) {
+
+$ng_nagios_server = $::cd_nagios::params::ng_nagios_server
+$ng_tgt_hostgroup_add = $::cd_nagios::params::ng_tgt_hostgroup_add
+$ng_tgt_hostgrp_rule_erb = $::cd_nagios::params::ng_tgt_hostgrp_rule_erb
+
+
+ if $::fqdn == $ng_nagios_server {
+
+ concat::fragment { $name:
+ target => $ng_tgt_hostgroup_add,
+ content => template($ng_tgt_hostgrp_rule_erb),
+ }
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/doc/puppet_defined_types/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_servicegroups.html b/doc/puppet_defined_types/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_servicegroups.html
new file mode 100644
index 0000000..6ab74d3
--- /dev/null
+++ b/doc/puppet_defined_types/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_servicegroups.html
@@ -0,0 +1,255 @@
+
+
+
+
+
+
+ Defined Type: cd_nagios::nagios::objects::add_servicegroups
+
+ — Documentation by YARD 0.9.9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Defined Type: cd_nagios::nagios::objects::add_servicegroups
+
+
+ Defined in:
+
+ manifests/nagios/objects/add_servicegroups.pp
+
+
+
+
+
Summary
+ define populates /etc/nagios/conf.d/nagios_servicegroups_add through
+extermal Puppet rules.
+
+
Overview
+
+
+
+
cd_nagios::nagios::objects::add_servicegroups.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 /
+
+
+
+
+
+
+
+
+
+
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+
+
+ # File 'manifests/nagios/objects/add_servicegroups.pp', line 34
+
+define cd_nagios::nagios::objects::add_servicegroups (
+
+$ng_servicegroup_name = undef,
+$ng_servicegroup_alias = undef,
+$ng_servicegroup_register = '1',
+
+) {
+
+$ng_nagios_server = $::cd_nagios::params::ng_nagios_server
+$ng_tgt_servicegroup_add = $::cd_nagios::params::ng_tgt_servicegroup_add
+$ng_tgt_svcgrp_rule_erb = $::cd_nagios::params::ng_tgt_svcgrp_rule_erb
+
+ if $::fqdn == $ng_nagios_server {
+
+ concat::fragment { $name:
+ target => $ng_tgt_servicegroup_add,
+ content => template($ng_tgt_svcgrp_rule_erb),
+ }
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/doc/puppet_defined_types/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_timeperiods.html b/doc/puppet_defined_types/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_timeperiods.html
new file mode 100644
index 0000000..e6bfa51
--- /dev/null
+++ b/doc/puppet_defined_types/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_timeperiods.html
@@ -0,0 +1,380 @@
+
+
+
+
+
+
+ Defined Type: cd_nagios::nagios::objects::add_timeperiods
+
+ — Documentation by YARD 0.9.9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Defined Type: cd_nagios::nagios::objects::add_timeperiods
+
+
+ Defined in:
+
+ manifests/nagios/objects/add_timeperiods.pp
+
+
+
+
+
Summary
+ define populates /etc/nagios/conf.d/nagios_timeperiods_add through
+extermal Puppet rules.
+
+
Overview
+
+
+
+
cd_nagios::nagios::objects::add_timeperiods.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 /
+
+
+
+
+
+
+
+
+
+
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+
+
+ # File 'manifests/nagios/objects/add_timeperiods.pp', line 45
+
+define cd_nagios::nagios::objects::add_timeperiods (
+
+$ng_timep_name = undef,
+$ng_timep_alias = undef,
+$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',
+
+) {
+
+$ng_nagios_server = $::cd_nagios::params::ng_nagios_server
+$ng_tgt_timep_add = $::cd_nagios::params::ng_tgt_timep_add
+$ng_tgt_timep_rule_erb = $::cd_nagios::params::ng_tgt_timep_rule_erb
+
+ if $::fqdn == $ng_nagios_server {
+
+ concat::fragment { $name:
+ target => $ng_tgt_timep_add,
+ content => template($ng_tgt_timep_rule_erb),
+ }
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/doc/puppet_defined_types/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Atemplates.html b/doc/puppet_defined_types/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Atemplates.html
new file mode 100644
index 0000000..abc16e6
--- /dev/null
+++ b/doc/puppet_defined_types/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Atemplates.html
@@ -0,0 +1,916 @@
+
+
+
+
+
+
+ Defined Type: cd_nagios::nagios::objects::templates
+
+ — Documentation by YARD 0.9.9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Defined Type: cd_nagios::nagios::objects::templates
+
+
+ Defined in:
+
+ manifests/nagios/objects/templates.pp
+
+
+
+
+
Summary
+ Define manages populates /etc/nagios/conf.d/templates.cfg.
+
+
Overview
+
+
+
+
cd_nagios::nagios::objects::templates.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 /.
+notifications.
+for the defined service or host.
+
+
+
+
+
+
+
+
+
+
+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
+
+
+ # File 'manifests/nagios/objects/templates.pp', line 100
+
+define cd_nagios::nagios::objects::templates (
+$ng_template_object = undef,
+$ng_template_object_name = undef,
+$ng_svc_notification_period = '24x7',
+$ng_host_notification_period = '24x7',
+$ng_service_notification_options = 'w,u,c,r,f,s',
+$ng_host_notification_options = 'd,u,r,f,s',
+$ng_service_notification_commands = 'notify-service-by-email',
+$ng_host_notification_commands = 'notify-host-by-email',
+$ng_object_register = '0',
+$ng_template_object_use = undef,
+$ng_notifications_enabled = '1',
+$ng_event_handler_enabled = '1',
+$ng_flap_detection_enabled = '1',
+$ng_process_perf_data = '1',
+$ng_retain_status_information = '1',
+$ng_retain_nonstatus_information = '1',
+$ng_notification_period = '24x7',
+$ng_notification_interval = '30',
+$ng_check_period = '24x7',
+$ng_check_interval = '5',
+$ng_retry_interval = '1',
+$ng_max_check_attempts = '10',
+$ng_host_check_command = 'check-host-alive',
+$ng_notification_options = undef,
+$ng_contact_groups = 'admins',
+$ng_active_checks_enabled = '1',
+$ng_passive_checks_enabled = '1',
+$ng_parallelize_check = '1',
+$ng_obsess_over_service = '1',
+$ng_check_freshness = '0',
+$ng_is_volatile = '0',
+$ng_check_interval = '10',
+$ng_retry_interval = '2',
+
+
+) {
+$ng_nagios_server = $::cd_nagios::params::ng_nagios_server
+$ng_target_templates = $::cd_nagios::params::ng_target_templates
+$ng_templates_rule_erb = $::cd_nagios::params::ng_templates_rule_erb
+
+ if $::fqdn == $ng_nagios_server {
+
+ concat::fragment { $name:
+ target => $ng_target_templates,
+ content => template($ng_templates_rule_erb),
+ }
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/doc/puppet_defined_types/cd_nagios_3A_3Aserver_3A_3Aaccess.html b/doc/puppet_defined_types/cd_nagios_3A_3Aserver_3A_3Aaccess.html
index f4134cf..74f6fad 100644
--- a/doc/puppet_defined_types/cd_nagios_3A_3Aserver_3A_3Aaccess.html
+++ b/doc/puppet_defined_types/cd_nagios_3A_3Aserver_3A_3Aaccess.html
@@ -220,7 +220,7 @@ $ng_service = $::cd_nagios::params::ng_service
diff --git a/doc/top-level-namespace.html b/doc/top-level-namespace.html
index bcc5013..0bdab9f 100644
--- a/doc/top-level-namespace.html
+++ b/doc/top-level-namespace.html
@@ -90,7 +90,7 @@