diff --git a/.gitignore b/.gitignore index a356406..2a1f95d 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ Gemfile.lock FileList .scannerwork +.vscode diff --git a/Jenkinsfile b/Jenkinsfile index 1fba99e..ffa4bab 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -69,7 +69,7 @@ pipeline { withCredentials([string(credentialsId: 'sonar-token', variable: 'SONAR_TOKEN')]) { sh ''' /opt/sonar-scanner/bin/sonar-scanner \ - -Dsonar.projectKey=cd_nagios \ + -Dsonar.projectKey=confdroid_nagios \ -Dsonar.sources=. \ -Dsonar.host.url=https://sonarqube.confdroid.com \ -Dsonar.token=$SONAR_TOKEN @@ -90,16 +90,36 @@ pipeline { sh ''' git config user.name "Jenkins Server" git config user.email jenkins@confdroid.com + git rm -r --cached .vscode || echo "No .vscode to remove from git" git add -A && git commit -am "Recommit for updates in build $BUILD_NUMBER" || echo "No changes to commit" - git push -o merge_request.create \ - -o merge_request.target=master \ - -o merge_request.title="Auto-merge for build $BUILD_NUMBER" \ - -o merge_request.description="Automated changes from Jenkins build $BUILD_NUMBER" \ - -o merge_request.merge_when_pipeline_succeeds=true \ - origin jenkins-build-$BUILD_NUMBER + git push origin HEAD:master ''' } } } + + stage('Mirror to Gitea') { + steps { + withCredentials([usernamePassword( + credentialsId: 'Jenkins-gitea', + usernameVariable: 'GITEA_USER', + passwordVariable: 'GITEA_TOKEN')]) { + script { + // Checkout from GitLab (already done implicitly) + sh ''' + git checkout master + git pull origin master + git branch -D development + git branch -D jenkins-build-$BUILD_NUMBER + git rm -f Jenkinsfile + git rm -r --cached .vscode || echo "No .vscode to remove from git" + git commit --amend --no-edit --allow-empty + git remote add master https://gitea.confdroid.com/confdroid/confdroid_nagios.git + git -c credential.helper="!f() { echo username=${GITEA_USER}; echo password=${GITEA_TOKEN}; }; f" \ + push master --mirror + ''' + } + } + } } } \ No newline at end of file diff --git a/README.md b/README.md index a132c95..ca941d3 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,27 @@ # Readme -[![Build Status](https://jenkins.confdroid.com/buildStatus/icon?job=cd_nagios)](https://jenkins.confdroid.com/job/cd_nagios/) -[[_TOC_]] + +- [Readme](#readme) + - [Synopsis](#synopsis) + - [WARNING](#warning) + - [Features](#features) + - [Repo Documentation](#repo-documentation) + - [Dependencies](#dependencies) + - [Deployment](#deployment) + - [PuppetDB](#puppetdb) + - [SELINUX](#selinux) + - [Support](#support) + - [Tests](#tests) + - [Contact Us](#contact-us) + - [Disclaimer](#disclaimer) + ## Synopsis Nagios is a powerful open source software solution for monitoring your IT environments. -`cd_nagios` is a Puppet module allowing to fully automate the setup & configuration of the Nagios server, as well as actively adding client hosts and services to the monitoring environment through defines and `PuppetDB`. +`confdroid_nagios` is a Puppet module allowing to fully automate the setup & configuration of the Nagios server, as well as actively adding client hosts and services to the monitoring environment through defines and `PuppetDB`. ## WARNING @@ -16,54 +29,6 @@ Nagios is a powerful open source software solution for monitoring your IT enviro ## Features -Installation: - -* Nagios Server instance: - * install httpd via cd_apache - * install Nagios server binaries on Nagios server - -* Nagios clients: - * install client binaries like nagios plugins etc. - * include NRPE via `cd_nrpe` (optional) - -Configuration - -* configure all aspects of Nagios on server -* manage nagios service user -* manage directories (filesystem permissions, selinux ) -* manage `cgi.cfg` through parameters -* manage `nagios.cfg` through parameters -* 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 -* 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 contact groups 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 host groups 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 service groups 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 time periods through Puppet exports. Additional time periods can be created through external Puppet rules via define, to avoid having to alter the module code. -* configure firewall (optional) -* configure selinux policies (optional) -* configure forwarding http to https (optional) -* manage TLS certificates through certbot (optional) -* manage `$user$` arguments in resource file via define - -Service - -* manage Nagios service on server - -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 Documentation See the full Puppet documentation including parameters in `docs/index.html` @@ -72,14 +37,7 @@ See the full Puppet documentation including parameters in `docs/index.html` All dependencies must be included in the catalogue. -* [cd_resources](https://gitlab.confdroid.com/puppet/cd_resources) for Yum repos. -* [cd_apache](https://gitlab.confdroid.com/puppet/cd_apache) for installing httpd -* [cd_firewall](https://gitlab.confdroid.com/puppet/cd_firewall) or [puppetlabs firewall](https://github.com/puppetlabs/puppetlabs-firewall) (optional) -* [cd_selinux](https://gitlab.confdroid.com/puppet/cd_selinux) for selinux policy adjustments -* [cd_certbot](https://gitlab.confdroid.com/puppet/cd_certbot) to auto-manage TLS certificates (optional) -* [cd_nrpe](https://gitlab.confdroid.com/puppet/cd_nrpe) to manage NRPE (optional) -* [cd_stdlib](https://gitlab.confdroid.com/puppet/cd_stdlib) or [puppetlabs stdlib](https://github.com/puppetlabs/puppetlabs-stdlib) to facilitate concat -* [cd_concat](https://gitlab.confdroid.com/puppet/cd_stdlib) or [puppetlabs concat](https://github.com/puppetlabs/puppetlabs-concat) to concatenate configuration files from different sources. + ## Deployment @@ -89,13 +47,13 @@ via site.pp or nodes.pp ```ruby node 'example.example.net' { - include cd_nagios + include confdroid_nagios } ``` * through Foreman: -In order to apply parameters through Foreman, **__cd_nagios::params__** must be added to the host or host group in question. +In order to apply parameters through Foreman, **__confdroid_nagios::params__** must be added to the host or host group in question. See [more details about class deployment on Confdroid.com](https://confdroid.com/2017/05/deploying-our-puppet-modules/). @@ -107,29 +65,10 @@ A working instance of PuppetDB connected to the Puppet master is required for th All files and directories are configured with correct selinux context. If selinux is disabled, these contexts are ignored. -## Certbot - -This module can optionally setup [certbot](https://certbot.eff.org/) TLS certificate management for the front-end GUI. In order to do so, set `$ng_enable_certbot` as well as `$ng_use_https` to `true` (default). Effectively, this will manage the certs before even installing Nagios, so there will be no problems with the Nagios showing up with a self-signed certificate. Once enabled, the module will go and try to obtain a certificate automatically. For this to work, you need to have proper DNS resolution set up for your domain / nagios server. Certs are also automatically renewed. - -If you prefer to use https but use self-signed certs or your own CA, simply set to false. This will point the SSL vhost config file to the default location for TLS certificates. - -## httpd vHost files - -by default, Nagios creates its own `nagios.conf` file, which is not a vhost file and relies on the main `ssl.conf`. However, as Nagios might be running on a regular web server with various other web instances (not recommended through for performance reasons), we do 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). - -## Known Problems - -* Collected resources import ordering problem: The module might try to import collected facts before nagios is even installed. - ## Support -* OS: CentOS 7 -* Puppet 5 +* OS: Rocky 9 +* Puppet 8 ## Tests @@ -143,6 +82,7 @@ So far this module works through the usage of NRPE, which by default is enabled. ## Contact Us [contact Us](https://confdroid.com/contact/) +[Feedback portal](https://feedback.confdroid.com/) ## Disclaimer diff --git a/doc/_index.html b/doc/_index.html deleted file mode 100644 index 2c5efde..0000000 --- a/doc/_index.html +++ /dev/null @@ -1,302 +0,0 @@ - - - - - - - Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

Documentation by YARD 0.9.36

-
-

Alphabetic Index

- -

Puppet Class Listing A-Z

- - - - - - -
- - - - -
- - - -

Defined Type Listing A-Z

- - - - - - -
- - - - -
- - - - - - - -

File Listing

- - -
- - -
- -
- - - -
- - \ No newline at end of file diff --git a/doc/css/common.css b/doc/css/common.css deleted file mode 100644 index d28b093..0000000 --- a/doc/css/common.css +++ /dev/null @@ -1,8 +0,0 @@ -/* Ensure the search bar doesn't overlap with links */ -.fixed_header { - padding-bottom: 25px; -} - -#full_list { - padding-top: 15px; -} diff --git a/doc/css/full_list.css b/doc/css/full_list.css deleted file mode 100644 index fa35982..0000000 --- a/doc/css/full_list.css +++ /dev/null @@ -1,58 +0,0 @@ -body { - margin: 0; - font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; - font-size: 13px; - height: 101%; - overflow-x: hidden; - background: #fafafa; -} - -h1 { padding: 12px 10px; padding-bottom: 0; margin: 0; font-size: 1.4em; } -.clear { clear: both; } -.fixed_header { position: fixed; background: #fff; width: 100%; padding-bottom: 10px; margin-top: 0; top: 0; z-index: 9999; height: 70px; } -#search { position: absolute; right: 5px; top: 9px; padding-left: 24px; } -#content.insearch #search, #content.insearch #noresults { background: url(data:image/gif;base64,R0lGODlhEAAQAPYAAP///wAAAPr6+pKSkoiIiO7u7sjIyNjY2J6engAAAI6OjsbGxjIyMlJSUuzs7KamppSUlPLy8oKCghwcHLKysqSkpJqamvT09Pj4+KioqM7OzkRERAwMDGBgYN7e3ujo6Ly8vCoqKjY2NkZGRtTU1MTExDw8PE5OTj4+PkhISNDQ0MrKylpaWrS0tOrq6nBwcKysrLi4uLq6ul5eXlxcXGJiYoaGhuDg4H5+fvz8/KKiohgYGCwsLFZWVgQEBFBQUMzMzDg4OFhYWBoaGvDw8NbW1pycnOLi4ubm5kBAQKqqqiQkJCAgIK6urnJyckpKSjQ0NGpqatLS0sDAwCYmJnx8fEJCQlRUVAoKCggICLCwsOTk5ExMTPb29ra2tmZmZmhoaNzc3KCgoBISEiIiIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCAAAACwAAAAAEAAQAAAHaIAAgoMgIiYlg4kACxIaACEJCSiKggYMCRselwkpghGJBJEcFgsjJyoAGBmfggcNEx0flBiKDhQFlIoCCA+5lAORFb4AJIihCRbDxQAFChAXw9HSqb60iREZ1omqrIPdJCTe0SWI09GBACH5BAkIAAAALAAAAAAQABAAAAdrgACCgwc0NTeDiYozCQkvOTo9GTmDKy8aFy+NOBA7CTswgywJDTIuEjYFIY0JNYMtKTEFiRU8Pjwygy4ws4owPyCKwsMAJSTEgiQlgsbIAMrO0dKDGMTViREZ14kYGRGK38nHguHEJcvTyIEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDAggPg4iJAAMJCRUAJRIqiRGCBI0WQEEJJkWDERkYAAUKEBc4Po1GiKKJHkJDNEeKig4URLS0ICImJZAkuQAhjSi/wQyNKcGDCyMnk8u5rYrTgqDVghgZlYjcACTA1sslvtHRgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCQARAtOUoQRGRiFD0kJUYWZhUhKT1OLhR8wBaaFBzQ1NwAlkIszCQkvsbOHL7Y4q4IuEjaqq0ZQD5+GEEsJTDCMmIUhtgk1lo6QFUwJVDKLiYJNUd6/hoEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4uen4ICCA+IkIsDCQkVACWmhwSpFqAABQoQF6ALTkWFnYMrVlhWvIKTlSAiJiVVPqlGhJkhqShHV1lCW4cMqSkAR1ofiwsjJyqGgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCSMhREZGIYYGY2ElYebi56fhyWQniSKAKKfpaCLFlAPhl0gXYNGEwkhGYREUywag1wJwSkHNDU3D0kJYIMZQwk8MjPBLx9eXwuETVEyAC/BOKsuEjYFhoEAIfkECQgAAAAsAAAAABAAEAAAB2eAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4ueICImip6CIQkJKJ4kigynKaqKCyMnKqSEK05StgAGQRxPYZaENqccFgIID4KXmQBhXFkzDgOnFYLNgltaSAAEpxa7BQoQF4aBACH5BAkIAAAALAAAAAAQABAAAAdogACCg4SFggJiPUqCJSWGgkZjCUwZACQkgxGEXAmdT4UYGZqCGWQ+IjKGGIUwPzGPhAc0NTewhDOdL7Ykji+dOLuOLhI2BbaFETICx4MlQitdqoUsCQ2vhKGjglNfU0SWmILaj43M5oEAOwAAAAAAAAAAAA==) no-repeat center left; } -#full_list { padding: 0; list-style: none; margin-left: 0; margin-top: 80px; font-size: 1.1em; } -#full_list ul { padding: 0; } -#full_list li { padding: 0; margin: 0; list-style: none; } -#full_list li .item { padding: 5px 5px 5px 12px; } -#noresults { padding: 7px 12px; background: #fff; } -#content.insearch #noresults { margin-left: 7px; } -li.collapsed ul { display: none; } -li a.toggle { cursor: default; position: relative; left: -5px; top: 4px; text-indent: -999px; width: 10px; height: 9px; margin-left: -10px; display: block; float: left; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAYAAABb0P4QAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK8AAACvABQqw0mAAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTM5jWRgMAAAAVdEVYdENyZWF0aW9uIFRpbWUAMy8xNC8wOeNZPpQAAAE2SURBVDiNrZTBccIwEEXfelIAHUA6CZ24BGaWO+FuzZAK4k6gg5QAdGAq+Bxs2Yqx7BzyL7Llp/VfzZeQhCTc/ezuGzKKnKSzpCxXJM8fwNXda3df5RZETlIt6YUzSQDs93sl8w3wBZxCCE10GM1OcWbWjB2mWgEH4Mfdyxm3PSepBHibgQE2wLe7r4HjEidpnXMYdQPKEMJcsZ4zs2POYQOcaPfwMVOo58zsAdMt18BuoVDPxUJRacELbXv3hUIX2vYmOUvi8C8ydz/ThjXrqKqqLbDIAdsCKBd+Wo7GWa7o9qzOQHVVVXeAbs+yHHCH4aTsaCOQqunmUy1yBUAXkdMIfMlgF5EXLo2OpV/c/Up7jG4hhHcYLgWzAZXUc2b2ixsfvc/RmNNfOXD3Q/oeL9axJE1yT9IOoUu6MGUkAAAAAElFTkSuQmCC) no-repeat bottom left; } -li.collapsed a.toggle { opacity: 0.5; cursor: default; background-position: top left; } -li { color: #888; cursor: pointer; } -li.deprecated { text-decoration: line-through; font-style: italic; } -li.odd { background: #f0f0f0; } -li.even { background: #fafafa; } -.item:hover { background: #ddd; } -li small:before { content: "("; } -li small:after { content: ")"; } -li small.search_info { display: none; } -a, a:visited { text-decoration: none; color: #05a; } -li.clicked > .item { background: #05a; color: #ccc; } -li.clicked > .item a, li.clicked > .item a:visited { color: #eee; } -li.clicked > .item a.toggle { opacity: 0.5; background-position: bottom right; } -li.collapsed.clicked a.toggle { background-position: top right; } -#search input { border: 1px solid #bbb; border-radius: 3px; } -#full_list_nav { margin-left: 10px; font-size: 0.9em; display: block; color: #aaa; } -#full_list_nav a, #nav a:visited { color: #358; } -#full_list_nav a:hover { background: transparent; color: #5af; } -#full_list_nav span:after { content: ' | '; } -#full_list_nav span:last-child:after { content: ''; } - -#content h1 { margin-top: 0; } -li { white-space: nowrap; cursor: normal; } -li small { display: block; font-size: 0.8em; } -li small:before { content: ""; } -li small:after { content: ""; } -li small.search_info { display: none; } -#search { width: 170px; position: static; margin: 3px; margin-left: 10px; font-size: 0.9em; color: #888; padding-left: 0; padding-right: 24px; } -#content.insearch #search { background-position: center right; } -#search input { width: 110px; } - -#full_list.insearch ul { display: block; } -#full_list.insearch .item { display: none; } -#full_list.insearch .found { display: block; padding-left: 11px !important; } -#full_list.insearch li a.toggle { display: none; } -#full_list.insearch li small.search_info { display: block; } diff --git a/doc/css/style.css b/doc/css/style.css deleted file mode 100644 index eb0dbc8..0000000 --- a/doc/css/style.css +++ /dev/null @@ -1,497 +0,0 @@ -html { - width: 100%; - height: 100%; -} -body { - font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; - font-size: 13px; - width: 100%; - margin: 0; - padding: 0; - display: flex; - display: -webkit-flex; - display: -ms-flexbox; -} - -#nav { - position: relative; - width: 100%; - height: 100%; - border: 0; - border-right: 1px dotted #eee; - overflow: auto; -} -.nav_wrap { - margin: 0; - padding: 0; - width: 20%; - height: 100%; - position: relative; - display: flex; - display: -webkit-flex; - display: -ms-flexbox; - flex-shrink: 0; - -webkit-flex-shrink: 0; - -ms-flex: 1 0; -} -#resizer { - position: absolute; - right: -5px; - top: 0; - width: 10px; - height: 100%; - cursor: col-resize; - z-index: 9999; -} -#main { - flex: 5 1; - -webkit-flex: 5 1; - -ms-flex: 5 1; - outline: none; - position: relative; - background: #fff; - padding: 1.2em; - padding-top: 0.2em; - box-sizing: border-box; -} - -@media (max-width: 920px) { - .nav_wrap { width: 100%; top: 0; right: 0; overflow: visible; position: absolute; } - #resizer { display: none; } - #nav { - z-index: 9999; - background: #fff; - display: none; - position: absolute; - top: 40px; - right: 12px; - width: 500px; - max-width: 80%; - height: 80%; - overflow-y: scroll; - border: 1px solid #999; - border-collapse: collapse; - box-shadow: -7px 5px 25px #aaa; - border-radius: 2px; - } -} - -@media (min-width: 920px) { - body { height: 100%; overflow: hidden; } - #main { height: 100%; overflow: auto; } - #search { display: none; } -} - -#main img { max-width: 100%; } -h1 { font-size: 25px; margin: 1em 0 0.5em; padding-top: 4px; border-top: 1px dotted #d5d5d5; } -h1.noborder { border-top: 0px; margin-top: 0; padding-top: 4px; } -h1.title { margin-bottom: 10px; } -h1.alphaindex { margin-top: 0; font-size: 22px; } -h2 { - padding: 0; - padding-bottom: 3px; - border-bottom: 1px #aaa solid; - font-size: 1.4em; - margin: 1.8em 0 0.5em; - position: relative; -} -h2 small { font-weight: normal; font-size: 0.7em; display: inline; position: absolute; right: 0; } -h2 small a { - display: block; - height: 20px; - border: 1px solid #aaa; - border-bottom: 0; - border-top-left-radius: 5px; - background: #f8f8f8; - position: relative; - padding: 2px 7px; -} -.clear { clear: both; } -.inline { display: inline; } -.inline p:first-child { display: inline; } -.docstring, .tags, #filecontents { font-size: 15px; line-height: 1.5145em; } -.docstring p > code, .docstring p > tt, .tags p > code, .tags p > tt { - color: #c7254e; background: #f9f2f4; padding: 2px 4px; font-size: 1em; - border-radius: 4px; -} -.docstring h1, .docstring h2, .docstring h3, .docstring h4 { padding: 0; border: 0; border-bottom: 1px dotted #bbb; } -.docstring h1 { font-size: 1.2em; } -.docstring h2 { font-size: 1.1em; } -.docstring h3, .docstring h4 { font-size: 1em; border-bottom: 0; padding-top: 10px; } -.summary_desc .object_link a, .docstring .object_link a { - font-family: monospace; font-size: 1.05em; - color: #05a; background: #EDF4FA; padding: 2px 4px; font-size: 1em; - border-radius: 4px; -} -.rdoc-term { padding-right: 25px; font-weight: bold; } -.rdoc-list p { margin: 0; padding: 0; margin-bottom: 4px; } -.summary_desc pre.code .object_link a, .docstring pre.code .object_link a { - padding: 0px; background: inherit; color: inherit; border-radius: inherit; -} - -/* style for */ -#filecontents table, .docstring table { border-collapse: collapse; } -#filecontents table th, #filecontents table td, -.docstring table th, .docstring table td { border: 1px solid #ccc; padding: 8px; padding-right: 17px; } -#filecontents table tr:nth-child(odd), -.docstring table tr:nth-child(odd) { background: #eee; } -#filecontents table tr:nth-child(even), -.docstring table tr:nth-child(even) { background: #fff; } -#filecontents table th, .docstring table th { background: #fff; } - -/* style for
a",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="
"+""+"
",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="
t
",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="
",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")}; -f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&i.push({elem:this,matches:d.slice(e)});for(j=0;j0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
","
"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function() -{for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
").append(c.replace(bN,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bO.test(this.nodeName)||bI.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bX},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bZ(bT),ajaxTransport:bZ(bU),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cb(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cc(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bX+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ce.test(b.url)||e&&ce.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ce,l),b.url===j&&(e&&(k=k.replace(ce,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cf&&delete ch[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); \ No newline at end of file diff --git a/doc/puppet_class_list.html b/doc/puppet_class_list.html deleted file mode 100644 index c21864a..0000000 --- a/doc/puppet_class_list.html +++ /dev/null @@ -1,236 +0,0 @@ - - - - - - - - - - - - - - - - - - Puppet Class List - - - - - - diff --git a/doc/puppet_classes/cd_nagios.html b/doc/puppet_classes/cd_nagios.html deleted file mode 100644 index 39f79d3..0000000 --- a/doc/puppet_classes/cd_nagios.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - Puppet Class: cd_nagios - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

Puppet Class: cd_nagios

-
- - -
-
Defined in:
-
- manifests/init.pp -
-
-
- -

Summary

- Class initializes the cd_nagios Module. - -

Overview

-
-
- -

cd_nagios::init.pp Module name: cd_nagios Author: Arne Teuke (arne_teuke@confdroid.com)

- -
-
- - - -
- - - -
-
- - - - -
-
-
-
-6
-7
-8
-
-
# File 'manifests/init.pp', line 6
-
-class cd_nagios {
-  include cd_nagios::params
-}
-
- - - - - - - - \ No newline at end of file diff --git a/doc/puppet_classes/cd_nagios_3A_3Acertbot_3A_3Acerts.html b/doc/puppet_classes/cd_nagios_3A_3Acertbot_3A_3Acerts.html deleted file mode 100644 index b0e5899..0000000 --- a/doc/puppet_classes/cd_nagios_3A_3Acertbot_3A_3Acerts.html +++ /dev/null @@ -1,206 +0,0 @@ - - - - - - - Puppet Class: cd_nagios::certbot::certs - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

Puppet Class: cd_nagios::certbot::certs

-
- -
-
Inherits:
-
cd_nagios::params
-
- - -
-
Defined in:
-
- manifests/certbot/certs.pp -
-
-
- -

Summary

- Class manages all configuration files required for cd_nagios. - -

Overview

-
-
- -

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

- -
-
- - - -
- - - -
- - - - - -
-
-
-
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-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
-
-
# File 'manifests/certbot/certs.pp', line 6
-
-class cd_nagios::certbot::certs (
-
-) inherits cd_nagios::params {
-  if $::fqdn == $ng_nagios_server {
-    if $ng_use_https == true {
-      if $ng_enable_certbot == true {
-        require cd_certbot
-        require cd_apache
-
-        if $ng_include_fw == true {
-          require cd_nagios::firewall::iptables
-        }
-
-        # create cert
-
-        exec { 'create_cert':
-          command  => template($ng_get_cert_erb),
-          cwd      => '/tmp',
-          path     => ['/bin','/usr/bin'],
-          provider => 'shell',
-          unless   => template('cd_nagios/certbot/unless_get_cert.erb'),
-          notify   => Service['httpd'],
-          creates  => $ng_certbot_check,
-        }
-
-        # renew certs
-
-        exec { 'renew_cert':
-          command  => 'certbot renew',
-          cwd      => '/tmp',
-          path     => ['/bin','/usr/bin','/opt/'],
-          provider => 'shell',
-          notify   => Service['httpd'],
-          unless   => template($ng_unless_renew_erb),
-        }
-      }
-    }
-
-    else {
-      # do nothing as we are not using https and certbot is not required then
-    }
-  }
-}
-
-
-
- - - -
- - \ No newline at end of file diff --git a/doc/puppet_classes/cd_nagios_3A_3Aclient_3A_3Atarget.html b/doc/puppet_classes/cd_nagios_3A_3Aclient_3A_3Atarget.html deleted file mode 100644 index 16a75fb..0000000 --- a/doc/puppet_classes/cd_nagios_3A_3Aclient_3A_3Atarget.html +++ /dev/null @@ -1,358 +0,0 @@ - - - - - - - Puppet Class: cd_nagios::client::target - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

Puppet Class: cd_nagios::client::target

-
- -
-
Inherits:
-
cd_nagios::params
-
- - -
-
Defined in:
-
- manifests/client/target.pp -
-
-
- -

Summary

- CLass manages Nagios targets for cd_nagios. - -

Overview

-
-
- -

cd_nagios::client::target.pp Module name: nagios Author: Arne Teuke (arne_teuke@ConfDroid.com)

- -
-
- - - -
- - - -
- - - - - -
-
-
-
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-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
-
-
# File 'manifests/client/target.pp', line 6
-
-class cd_nagios::client::target (
-
-) inherits cd_nagios::params {
-  if $::fqdn != $ng_nagios_server {
-    if $ng_include_nrpe == true {
-      require cd_nagios::main::user
-      require cd_nrpe
-
-      @@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 { "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',
-      }
-
-      if $ng_enable_swap_check == true {
-        @@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 { "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 { "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 { "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',
-      }
-    }
-  }
-}
-
-
-
- - - -
- - \ No newline at end of file diff --git a/doc/puppet_classes/cd_nagios_3A_3Afirewall_3A_3Aiptables.html b/doc/puppet_classes/cd_nagios_3A_3Afirewall_3A_3Aiptables.html deleted file mode 100644 index e163faf..0000000 --- a/doc/puppet_classes/cd_nagios_3A_3Afirewall_3A_3Aiptables.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - Puppet Class: cd_nagios::firewall::iptables - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

Puppet Class: cd_nagios::firewall::iptables

-
- -
-
Inherits:
-
cd_nagios::params
-
- - -
-
Defined in:
-
- manifests/firewall/iptables.pp -
-
-
- -

Summary

- manage firewall settings through cd_firewall or puppetlabs-firewall - -

Overview

-
-
- -

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

- -
-
- - - -
- - - -
- - - - - -
-
-
-
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-
-
# File 'manifests/firewall/iptables.pp', line 6
-
-class cd_nagios::firewall::iptables (
-
-) inherits cd_nagios::params {
-  if $::fqdn == $ng_nagios_server {
-    if $ng_use_https != true {
-      include confdroid_infrastructure::firewall::http
-
-      if $ng_use_https == true {
-        include confdroid_infrastructure::firewall::https
-        if $ng_http_https_fw == true {
-          include confdroid_infrastructure::firewall::http
-        }
-      }
-    }
-  }
-}
-
-
-
- - - -
- - \ No newline at end of file diff --git a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Aconfig.html b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Aconfig.html deleted file mode 100644 index e15f7b2..0000000 --- a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Aconfig.html +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - Puppet Class: cd_nagios::main::config - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

Puppet Class: cd_nagios::main::config

-
- -
-
Inherits:
-
cd_nagios::params
-
- - -
-
Defined in:
-
- manifests/main/config.pp -
-
-
- -

Summary

- Class manages all aspects of configuring the module logic for -cd_nagios. - -

Overview

-
-
- -

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

- -
-
- - - -
- - - -
- - - - - -
-
-
-
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-
-
# File 'manifests/main/config.pp', line 7
-
-class cd_nagios::main::config (
-
-) inherits cd_nagios::params {
-  # manage server configuration
-
-  if $::fqdn == $ng_nagios_server {
-    include cd_nagios::server::service
-
-    if $ng_include_fw == true {
-      include cd_nagios::firewall::iptables
-    }
-
-    if $ng_use_selinux_tools == true {
-      include cd_nagios::selinux::config
-    }
-
-    if $ng_enable_certbot == true {
-      require cd_nagios::certbot::certs
-    }
-  }
-
-  if $::fqdn != $ng_nagios_server {
-    include cd_nagios::client::target
-  }
-
-}
-
-
-
- - - -
- - \ No newline at end of file diff --git a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Adirs.html b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Adirs.html deleted file mode 100644 index 800ad94..0000000 --- a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Adirs.html +++ /dev/null @@ -1,526 +0,0 @@ - - - - - - - Puppet Class: cd_nagios::main::dirs - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

Puppet Class: cd_nagios::main::dirs

-
- -
-
Inherits:
-
cd_nagios::params
-
- - -
-
Defined in:
-
- manifests/main/dirs.pp -
-
-
- -

Summary

- Class manages all directories required for cd_nagios. - -

Overview

-
-
- -

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

- -
-
- - - -
- - - -
- - - - - -
-
-
-
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-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
-
-
# File 'manifests/main/dirs.pp', line 6
-
-class cd_nagios::main::dirs (
-
-) inherits cd_nagios::params {
-  require cd_nagios::main::user
-
-  # main directory
-
-  file { $ng_main_dir:
-    ensure   => directory,
-    path     => $ng_main_dir,
-    owner    => 'root',
-    group    => 'root',
-    mode     => '0755',
-    selrange => s0,
-    selrole  => object_r,
-    seltype  => nagios_etc_t,
-    seluser  => system_u,
-  }
-
-  # /usr/lib64/nagios dir required for plugins
-
-  file { $ng_lib_dir:
-    ensure   => directory,
-    path     => $ng_lib_dir,
-    owner    => 'root',
-    group    => 'root',
-    mode     => '0755',
-    selrange => s0,
-    selrole  => object_r,
-    seltype  => lib_t,
-    seluser  => system_u,
-  }
-
-  # /var/spool/nagios
-
-  file { $ng_spool_dir:
-    ensure   => directory,
-    path     => $ng_spool_dir,
-    owner    => $ng_user,
-    group    => $ng_user,
-    mode     => '0755',
-    selrange => s0,
-    selrole  => object_r,
-    seltype  => nagios_spool_t,
-    seluser  => system_u,
-  }
-
-  if $::fqdn == $ng_nagios_server {
-    # /etc/nagios/conf.d
-
-    file { $ng_conf_d_dir:
-      ensure   => directory,
-      path     => $ng_conf_d_dir,
-      owner    => 'root',
-      group    => $ng_user,
-      mode     => '0750',
-      selrange => s0,
-      selrole  => object_r,
-      seltype  => nagios_etc_t,
-      seluser  => system_u,
-    }
-
-    # /etc/nagios/objects
-
-    file { $ng_objects_dir:
-      ensure   => directory,
-      path     => $ng_objects_dir,
-      owner    => 'root',
-      group    => $ng_user,
-      mode     => '0750',
-      selrange => s0,
-      selrole  => object_r,
-      seltype  => nagios_etc_t,
-      seluser  => system_u,
-    }
-
-    # /etc/nagios/private
-
-    file { $ng_private_dir:
-      ensure   => directory,
-      path     => $ng_private_dir,
-      owner    => 'root',
-      group    => $ng_user,
-      mode     => '0750',
-      selrange => s0,
-      selrole  => object_r,
-      seltype  => nagios_etc_t,
-      seluser  => system_u,
-    }
-
-    # include dir
-
-    file { $ng_usr_incl:
-      ensure   => directory,
-      path     => $ng_usr_incl,
-      owner    => 'root',
-      group    => 'root',
-      mode     => '0755',
-      selrange => s0,
-      selrole  => object_r,
-      seltype  => usr_t,
-      seluser  => system_u,
-    }
-
-    # log dir
-
-    file { $ng_log_dir:
-      ensure   => directory,
-      path     => $ng_log_dir,
-      owner    => $ng_user,
-      group    => $ng_user,
-      mode     => '0750',
-      selrange => s0,
-      selrole  => object_r,
-      seltype  => nagios_log_t,
-      seluser  => system_u,
-    }
-
-    # log archives
-
-    file { $ng_log_archives:
-      ensure   => directory,
-      path     => $ng_log_archives,
-      owner    => $ng_user,
-      group    => $ng_user,
-      mode     => '0750',
-      selrange => s0,
-      selrole  => object_r,
-      seltype  => nagios_log_t,
-      seluser  => system_u,
-    }
-
-    # /usr/share/nagios
-
-    file { $ng_usr_share:
-      ensure   => directory,
-      path     => $ng_usr_share,
-      owner    => 'root',
-      group    => 'root',
-      mode     => '0755',
-      selrange => s0,
-      selrole  => object_r,
-      seltype  => usr_t,
-      seluser  => system_u,
-    }
-
-    #  /usr/share/nagios/html
-
-    file { $ng_share_html:
-      ensure   => directory,
-      path     => $ng_share_html,
-      owner    => 'root',
-      group    => 'root',
-      mode     => '0755',
-      selrange => s0,
-      selrole  => object_r,
-      seltype  => usr_t,
-      seluser  => system_u,
-    }
-
-    # run dir for pid file
-
-    file { $ng_run_dir:
-      ensure   => directory,
-      path     => $ng_run_dir,
-      owner    => 'nagios',
-      group    => 'nagios',
-      mode     => '0750',
-      selrange => s0,
-      selrole  => object_r,
-      seltype  => nagios_var_run_t,
-      seluser  => system_u,
-    }
-
-    # cmd dir
-
-    file { $ng_cmd_dir:
-      ensure   => directory,
-      path     => $ng_cmd_dir,
-      owner    => 'nagios',
-      group    => 'nagios',
-      mode     => '0775',
-      selrange => s0,
-      selrole  => object_r,
-      seltype  => nagios_spool_t,
-      seluser  => system_u,
-    }
-
-    # checkresults dir
-
-    file { $ng_checkresults_dir:
-      ensure   => directory,
-      path     => $ng_checkresults_dir,
-      owner    => 'nagios',
-      group    => 'nagios',
-      mode     => '0770',
-      selrange => s0,
-      selrole  => object_r,
-      seltype  => nagios_spool_t,
-      seluser  => system_u,
-    }
-  }
-}
-
-
-
- - - -
- - \ No newline at end of file diff --git a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Ainstall.html b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Ainstall.html deleted file mode 100644 index cec6339..0000000 --- a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Ainstall.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - - Puppet Class: cd_nagios::main::install - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

Puppet Class: cd_nagios::main::install

-
- -
-
Inherits:
-
cd_nagios::params
-
- - -
-
Defined in:
-
- manifests/main/install.pp -
-
-
- -

Summary

- Class manage all aspects of installing binaries required for -cd_nagios - -

Overview

-
-
- -

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

- -
-
- - - -
- - - -
- - - - - -
-
-
-
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-
-
# File 'manifests/main/install.pp', line 7
-
-class cd_nagios::main::install (
-
-) inherits cd_nagios::params {
-
-  require cd_resources
-
-  # if our FQDN matches the configured Nagios server FQDN, install both server-
-  # and client packages.
-
-  if $::fqdn == $ng_nagios_server {
-
-    # we'll need httpd installed
-    require cd_apache
-
-    package {$reqpackages_server:
-      ensure => $pkg_ensure,
-    }
-    package {$reqpackages_client:
-      ensure => $pkg_ensure,
-    }
-  }
-
-  # if we are not the nagios server, install client packages
-
-  if $::fqdn != $ng_nagios_server {
-    package {$reqpackages_client:
-      ensure => $pkg_ensure,
-    }
-
-    # if we want to use NRPE, install it
-
-    if $ng_include_nrpe == true {
-      require cd_nrpe
-    }
-  }
-}
-
-
-
- - - -
- - \ No newline at end of file diff --git a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Auser.html b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Auser.html deleted file mode 100644 index 4687d5c..0000000 --- a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Auser.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - - Puppet Class: cd_nagios::main::user - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

Puppet Class: cd_nagios::main::user

-
- -
-
Inherits:
-
cd_nagios::params
-
- - -
-
Defined in:
-
- manifests/main/user.pp -
-
-
- -

Summary

- Class manages service users for cd_nagios. - -

Overview

-
-
- -

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

- -
-
- - - -
- - - -
- - - - - -
-
-
-
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-
-
# File 'manifests/main/user.pp', line 6
-
-class cd_nagios::main::user (
-
-) inherits cd_nagios::params {
-  require cd_nagios::main::install
-
-  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],
-  }
-}
-
-
-
- - - -
- - \ No newline at end of file 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 deleted file mode 100644 index 1b54ab2..0000000 --- a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_contact_rules.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - - Puppet Class: cd_nagios::nagios::objects::add_contact_rules - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

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)

- -
-
- - - -
- -
-

Examples:

- - -

-

cd_nagios::nagios::objects::add_contact { ‘example_user’:

-

- -
ng_contact_name  => 'example_user',
-ng_contact_alias => 'Example User',
-ng_contact_groups => 'admins',
-ng_contact_email => 'example@example.net',
-}
- -
- - - -
- - - - - -
-
-
-
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-
-
# File 'manifests/nagios/objects/add_contact_rules.pp', line 13
-
-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 deleted file mode 100644 index f4d5b9f..0000000 --- a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_contactgroups_rules.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - Puppet Class: cd_nagios::nagios::objects::add_contactgroups_rules - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

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)

- -
-
- - - -
- -
-

Examples:

- - -
cd_nagios::nagios::objects::add_contactgroups { 'example_group':
-  ng_contactgroup_name      => 'example_group',
-  ng_contactgroup_alias     => 'Example Group',
-  ng_contactgroup_register  => '1',
-}
- -
- - - -
- - - - - -
-
-
-
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-
-
# File 'manifests/nagios/objects/add_contactgroups_rules.pp', line 13
-
-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 deleted file mode 100644 index 3f11a2a..0000000 --- a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_hostgroup_rules.html +++ /dev/null @@ -1,188 +0,0 @@ - - - - - - - Puppet Class: cd_nagios::nagios::objects::add_hostgroup_rules - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

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)

- -
-
- - - -
- -
-

Examples:

- - -
cd_nagios::nagios::objects::add_hostgroups { 'example_hostgroup':
-  ng_hostgroup_name   => 'example_hostgroup',
-  ng_hostgroup_alias  => 'Example Hostgroup',
-}
- -
- - - -
- - - - - -
-
-
-
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-
-
# File 'manifests/nagios/objects/add_hostgroup_rules.pp', line 12
-
-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 deleted file mode 100644 index b8153c4..0000000 --- a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_servicegroup_rules.html +++ /dev/null @@ -1,188 +0,0 @@ - - - - - - - Puppet Class: cd_nagios::nagios::objects::add_servicegroup_rules - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

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)

- -
-
- - - -
- -
-

Examples:

- - -
cd_nagios::nagios::objects::add_servicegroups { 'example_servicegroup':
-  ng_servicegroup_name   => 'example_servicegroup',
-  ng_servicegroup_alias  => 'Example Servicegroup',
-}
- -
- - - -
- - - - - -
-
-
-
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-
-
# File 'manifests/nagios/objects/add_servicegroup_rules.pp', line 12
-
-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',
-    }
-  }
-}
-
-
-
- - - -
- - \ 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 deleted file mode 100644 index 7c36d3d..0000000 --- a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_timeperiod_rules.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - - Puppet Class: cd_nagios::nagios::objects::add_timeperiod_rules - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

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) }

- -
-
- - - -
- -
-

Examples:

- - -

-

cd_nagios::nagios::objects::add_timeperiods { ‘example_timeperiod’:

-

- -
ng_timep_name   => 'example_timeperiod',
-ng_timep_alias  => 'Example timeperiod',
-ng_timep_monday      => '00:00-00:00',
-ng_timep_tuesday     => '00:00-00:00',
-ng_timep_wednesday   => '00:00-00:00',
-ng_timep_thursday    => '00:00-00:00',
-ng_timep_friday      => '00:00-00:00',
-ng_timep_saturday    => '00:00-00:00',
-ng_timep_sunday      => '00:00-00:00',
- -
- - - -
- - - - - -
-
-
-
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-
-
# File 'manifests/nagios/objects/add_timeperiod_rules.pp', line 18
-
-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 deleted file mode 100644 index 1a52a5a..0000000 --- a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Acommands.html +++ /dev/null @@ -1,549 +0,0 @@ - - - - - - - Puppet Class: cd_nagios::nagios::objects::commands - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

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

-
-
- -
-
- - - -
- - - -
- - - - - -
-
-
-
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-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
-
-
# File 'manifests/nagios/objects/commands.pp', line 8
-
-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 { '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 deleted file mode 100644 index 9e0ad70..0000000 --- a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aconfig.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - Puppet Class: cd_nagios::nagios::objects::config - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

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)

- -
-
- - - -
- - - -
- - - - - -
-
-
-
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-
-
# File 'manifests/nagios/objects/config.pp', line 6
-
-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 deleted file mode 100644 index a8ae358..0000000 --- a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Acontactgroups.html +++ /dev/null @@ -1,213 +0,0 @@ - - - - - - - Puppet Class: cd_nagios::nagios::objects::contactgroups - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

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)

- -
-
- - - -
- -
-

Examples:

- - -
@@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,
-}
- -
- - - -
- - - - - -
-
-
-
-17
-18
-19
-20
-21
-22
-23
-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
-
-
# File 'manifests/nagios/objects/contactgroups.pp', line 17
-
-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 deleted file mode 100644 index 4a05e4e..0000000 --- a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Acontacts.html +++ /dev/null @@ -1,260 +0,0 @@ - - - - - - - Puppet Class: cd_nagios::nagios::objects::contacts - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

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)

- -
-
- - - -
- -
-

Examples:

- - -
@@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               => 'root',
-  group               => 'nagios',
-  mode                => '0664',
-}
- -
- - - -
- - - - - -
-
-
-
-22
-23
-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
-
-
# File 'manifests/nagios/objects/contacts.pp', line 22
-
-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 deleted file mode 100644 index 724f9c3..0000000 --- a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Ahostgroups.html +++ /dev/null @@ -1,525 +0,0 @@ - - - - - - - Puppet Class: cd_nagios::nagios::objects::hostgroups - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

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)

- -
-
- - - -
- - - -
- - - - - -
-
-
-
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-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
-
-
# File 'manifests/nagios/objects/hostgroups.pp', line 7
-
-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 deleted file mode 100644 index e6b1825..0000000 --- a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aservicegroups.html +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - Puppet Class: cd_nagios::nagios::objects::servicegroups - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

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)

- -
-
- - - -
- - - -
- - - - - -
-
-
-
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-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
-
-
# File 'manifests/nagios/objects/servicegroups.pp', line 7
-
-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 deleted file mode 100644 index 7cdf879..0000000 --- a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Atemplate_rules.html +++ /dev/null @@ -1,279 +0,0 @@ - - - - - - - Puppet Class: cd_nagios::nagios::objects::template_rules - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

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)

- -
-
- - - -
- -
-

Examples:

- - -

-

cd_nagios::nagios::objects::templates { ‘generic contact’:

-

- -
ng_template_object      => 'contact',
-ng_template_object_name => 'generic-contact',
-}
- -
- - - -
- - - - - -
-
-
-
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-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
-
-
# File 'manifests/nagios/objects/template_rules.pp', line 11
-
-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 deleted file mode 100644 index 8dd8a0c..0000000 --- a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Atimeperiods.html +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - Puppet Class: cd_nagios::nagios::objects::timeperiods - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

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)

- -
-
- - - -
- - - -
- - - - - -
-
-
-
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-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
-
-
# File 'manifests/nagios/objects/timeperiods.pp', line 7
-
-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_3Anagios_3A_3Aresources_3A_3Aresource.html b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aresources_3A_3Aresource.html deleted file mode 100644 index 47e1ef8..0000000 --- a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aresources_3A_3Aresource.html +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - - Puppet Class: cd_nagios::nagios::resources::resource - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

Puppet Class: cd_nagios::nagios::resources::resource

-
- -
-
Inherits:
-
cd_nagios::params
-
- - -
-
Defined in:
-
- manifests/nagios/resources/resource.pp -
-
-
- -

Summary

- Class manages the resource config file header. - -

Overview

-
-
- -

cd_nagios::nagios::resources::resource.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 © 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/. }

- -
-
- - - -
- -
-

Examples:

- - -

-

concat::fragment { “user_rule_plugins”:

-

- -
ng_user_arg_name    => "$user1$",
-ng_user_arg_value   => '/usr/lib64/nagios/plugins',
-ng_user_arg_comment => "Sets $USER1$ to be the path to the plugins",
- -
- - - -
- - - - - -
-
-
-
-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
-
-
# File 'manifests/nagios/resources/resource.pp', line 28
-
-class cd_nagios::nagios::resources::resource (
-
-) inherits cd_nagios::params {
-  if $fqdn == $ng_nagios_server {
-    concat { $ng_resource_file:
-      ensure   => present,
-      owner    => 'root',
-      group    => $ng_user,
-      mode     => '0640',
-      selrange => s0,
-      selrole  => object_r,
-      seltype  => nagios_etc_t,
-      seluser  => system_u,
-      notify   => Service[$ng_service],
-    }
-
-    concat::fragment { 'header':
-      target  => $ng_resource_file,
-      content => template($ng_resource_erb),
-      order   => '000',
-    }
-
-    # plugins rule
-
-    cd_nagios::nagios::resources::resource_df { 'user_rule_plugins':
-      ng_user_arg_name    => 'USER1',
-      ng_user_arg_value   => '/usr/lib64/nagios/plugins/',
-      ng_user_arg_comment => 'Sets user1 to be the path to the plugins',
-    }
-
-    # eventhandlers rule
-    cd_nagios::nagios::resources::resource_df { 'user_rule_eventhandlers':
-      ng_user_arg_name    => 'USER2',
-      ng_user_arg_value   => '/usr/lib64/nagios/plugins/eventhandlers/',
-      ng_user_arg_comment => 'Sets user2 to be the path to the eventhandlers',
-    }
-  }
-}
-
-
-
- - - -
- - \ 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 deleted file mode 100644 index ae5a36c..0000000 --- a/doc/puppet_classes/cd_nagios_3A_3Aparams.html +++ /dev/null @@ -1,4954 +0,0 @@ - - - - - - - Puppet Class: cd_nagios::params - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

Puppet Class: cd_nagios::params

- - -

Summary

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

Overview

-
-
- -

cd_nagios::params.pp Module name: cd_nagios Author: Arne Teuke (arne_teuke@ConfDroid.com) to connect to NRPE, which as of now does not trust DNS names. Must be the public interface in case of NAT environments. can issue host related commands. can issue service related commands.

- -
-
- - - -
-

Parameters:

-
    - -
  • - - pkg_ensure - - - (String) - - - (defaults to: 'latest') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_nagios_server - - - (String) - - - (defaults to: "nagios.${::domain}") - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_nagios_ext_ip - - - (String) - - - (defaults to: undef) - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_include_nrpe - - - (Boolean) - - - (defaults to: true) - - - — -
    -

    Whether to include NRPE to allow Nagios to connect to clients

    -
    - -
  • - -
  • - - ng_ping_warn - - - (String) - - - (defaults to: '100.0,20%') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_ping_crit - - - (String) - - - (defaults to: '500.0,60%') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_ping_ensure - - - (String) - - - (defaults to: 'present') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_disk_warn - - - (String) - - - (defaults to: '20%') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_disk_crit - - - (String) - - - (defaults to: '10%') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_disk_ensure - - - (String) - - - (defaults to: 'present') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_swap_warn - - - (String) - - - (defaults to: '20') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_swap_crit - - - (String) - - - (defaults to: '10') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_swap_ensure - - - (String) - - - (defaults to: 'present') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_users_warn - - - (String) - - - (defaults to: '20') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_users_crit - - - (String) - - - (defaults to: '50') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_users_ensure - - - (String) - - - (defaults to: 'present') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_procs_tot_warn - - - (String) - - - (defaults to: '330') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_procs_tot_crit - - - (String) - - - (defaults to: '400') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_procs_tot_param - - - (String) - - - (defaults to: 'RDST') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_procs_tot_ens - - - (String) - - - (defaults to: 'present') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_procs_z_warn - - - (String) - - - (defaults to: '10') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_procs_z_crit - - - (String) - - - (defaults to: '30') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_procs_z_param - - - (String) - - - (defaults to: 'Z') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_procs_z_ensure - - - (String) - - - (defaults to: 'present') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_load_warn - - - (String) - - - (defaults to: '5.00,4.00,3.00') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_load_crit - - - (String) - - - (defaults to: '10.00,6.00,4.00') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_load_ensure - - - (String) - - - (defaults to: 'present') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_include_fw - - - (Boolean) - - - (defaults to: true) - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_fw_order - - - (String) - - - (defaults to: '50') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_use_https - - - (Boolean) - - - (defaults to: true) - - - — -
    -

    Whether to use https.

    -
    - -
  • - -
  • - - ng_http_https_fw - - - (Boolean) - - - (defaults to: true) - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_http_port - - - (String) - - - (defaults to: '80') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_https_port - - - (String) - - - (defaults to: '443') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_user - - - (String) - - - (defaults to: 'nagios') - - - — -
    -

    The name of the Nagios service user.

    -
    - -
  • - -
  • - - ng_user_home - - - (String) - - - (defaults to: '/var/spool/nagios') - - - — -
    -

    The home directory for the Nagios service user

    -
    - -
  • - -
  • - - ng_user_shell - - - (String) - - - (defaults to: '/bin/bash') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_u_comment - - - (String) - - - (defaults to: 'Nagios service user') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_u_uid - - - (String) - - - (defaults to: '1004') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_u_groups - - - (Optional[String]) - - - (defaults to: undef) - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_context_help - - - (String) - - - (defaults to: '1') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_pending_state - - - (String) - - - (defaults to: '1') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_use_auth - - - (String) - - - (defaults to: '1') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_use_ssl_auth - - - (String) - - - (defaults to: '0') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_enable_def_user - - - (Boolean) - - - (defaults to: false) - - - — -
    -

    Whether to enable a default user (not recommended).

    -
    - -
  • - -
  • - - ng_def_user_name - - - (String) - - - (defaults to: 'nagios_insecure') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_nagios_admin - - - (String) - - - (defaults to: 'nagios_sec_adm') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_sysinfo_auth - - - (String) - - - (defaults to: '') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_confinfo_auth - - - (String) - - - (defaults to: '') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_command_auth - - - (String) - - - (defaults to: '') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_hostview_auth - - - (String) - - - (defaults to: '') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_serviceview_auth - - - (String) - - - (defaults to: '') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_host_cmd_auth - - - (String) - - - (defaults to: '') - - - — -
    -

    comma-delimited lists of all usernames that

    -
    - -
  • - -
  • - - ng_svc_cmd_auth - - - (String) - - - (defaults to: '') - - - — -
    -

    comma-delimited lists of all usernames that

    -
    - -
  • - -
  • - - ng_readonly_auth - - - (String) - - - (defaults to: '') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_statusmap_img - - - (String) - - - (defaults to: 'smbackground.gd2') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_use_colormap - - - (Boolean) - - - (defaults to: false) - - - — -
    -

    Whether to set values of background colors.

    -
    - -
  • - -
  • - - ng_colormap_red - - - (String) - - - (defaults to: '255') - - - — -
    -

    value for the red area of the color map.

    -
    - -
  • - -
  • - - ng_colormap_green - - - (String) - - - (defaults to: '255') - - - — -
    -

    value for the green area of the color map

    -
    - -
  • - -
  • - - ng_colormap_blue - - - (String) - - - (defaults to: '255') - - - — -
    -

    value for the blue area of the color map.

    -
    - -
  • - -
  • - - ng_statusmap_layout - - - (String) - - - (defaults to: '6') - - - — -
    -

    Value for the default statusmap layout.

    -
    - -
  • - -
  • - - ng_wrl_layout - - - (String) - - - (defaults to: '4') - - - — -
    -

    Value for the default statuswrl layout.

    -
    - -
  • - -
  • - - ng_incl_own_wrl - - - (Boolean) - - - (defaults to: false) - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_statuswrl_include - - - (String) - - - (defaults to: '') - - - — -
    -

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

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

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

    -
    - -
  • - -
  • - - ng_refresh_rate - - - (String) - - - (defaults to: '90') - - - — -
    -

    specify the refresh rate in seconds of various CGIs

    -
    - -
  • - -
  • - - ng_result_limit - - - (String) - - - (defaults to: '100') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_escape_html - - - (String) - - - (defaults to: '1') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_use_sound - - - (Boolean) - - - (defaults to: false) - - - — -
    -

    whether to enable sound usage.

    -
    - -
  • - -
  • - - ng_host_unreachable - - - (String) - - - (defaults to: 'hostdown.wav') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_host_down - - - (String) - - - (defaults to: 'hostdown.wav') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_svc_critical - - - (String) - - - (defaults to: 'critical.wav') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_svc_warn - - - (String) - - - (defaults to: 'warning.wav') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_svc_unknown - - - (String) - - - (defaults to: 'warning.wav') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_normal_sound - - - (String) - - - (defaults to: 'noproblem.wav') - - - — -
    -

    sound file for normal Only active if ng_use_sound is set to true.

    -
    - -
  • - -
  • - - ng_action_url_target - - - (String) - - - (defaults to: '_blank') - - - — -
    -

    Specify target frames in which action URLs will open

    -
    - -
  • - -
  • - - ng_notes_url_target - - - (String) - - - (defaults to: '_blank') - - - — -
    -

    Specify target frames in which notes URLs will open

    -
    - -
  • - -
  • - - ng_lock_author_names - - - (String) - - - (defaults to: '1') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_enable_splunk - - - (Boolean) - - - (defaults to: false) - - - — -
    -

    Whether to enable splunk integration.

    -
    - -
  • - -
  • - - ng_splunk_url - - - (String) - - - (defaults to: 'http://127.0.0.1:8000/') - - - — -
    -

    the URL for your Splunk URL

    -
    - -
  • - -
  • - - ng_navbar_addresses - - - (String) - - - (defaults to: '1') - - - — -
    -

    allow navbar search queries IP addresses

    -
    - -
  • - -
  • - - ng_navbar_aliases - - - (String) - - - (defaults to: '1') - - - — -
    -

    allow navbar search for aliases

    -
    - -
  • - -
  • - - ng_ack_no_sticky - - - (String) - - - (defaults to: '0') - - - — -
    -

    Enabling ack_no_sticky will default the “Sticky Acknowledgement” to be unchecked.

    -
    - -
  • - -
  • - - ng_ack_no_send - - - (String) - - - (defaults to: '0') - - - — -
    -

    Enabling ack_no_send will default the “Send Notification” to be unchecked.

    -
    - -
  • - -
  • - - ng_use_selinux_tools - - - (Boolean) - - - (defaults to: true) - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_required_hosts - - - (String) - - - (defaults to: '') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_required_ips - - - (String) - - - (defaults to: '127.0.0.0/8') - - - — -
    -

    String of Ip addresses for hosts which should be allowed/required. Requires format ‘ipaddress ip address range’. If you want no restriction, choose ‘0.0.0.0/0’.

    -
    - -
  • - -
  • - - ng_enable_certbot - - - (Boolean) - - - (defaults to: true) - - - — -
    -

    Whether to use certbot for automated TLS certificate management

    -
    - -
  • - -
  • - - ng_certbot_webroot - - - (String) - - - (defaults to: '/var/www/html') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_mail_user - - - (String) - - - (defaults to: "admin@${::domain}") - - - — -
    -

    email address to receive administrative mail. used for nagios itself as well as for certbot. Mail environment must be configured separately, i.e. through cd_postfix.

    -
    - -
  • - -
  • - - ng_page_user - - - (String) - - - (defaults to: "pageadmin@${::domain}") - - - — -
    -

    pager address to be used by Nagios for notifications. Paging environment must be configured separately.

    -
    - -
  • - -
  • - - ng_enable_index - - - (Boolean) - - - (defaults to: true) - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_webserver_name - - - (String) - - - (defaults to: "nagios.${::domain}") - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_log_file - - - (String) - - - (defaults to: '/var/log/nagios/nagios.log') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_max_check_attempts - - - (String) - - - (defaults to: '10') - - - — -
    -

    maximum amount of checks done by nagios

    -
    - -
  • - -
  • - - ng_object_cache_file - - - (String) - - - (defaults to: '/var/spool/nagios/objects.cache') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_precached_obj_file - - - (String) - - - (defaults to: '/var/spool/nagios/objects.precache') - - - — -
    -

    determines the location of the precached object file.

    -
    - -
  • - -
  • - - ng_resource_file - - - (String) - - - (defaults to: '/etc/nagios/private/resource.cfg') - - - — -
    -

    resource file that contains $USERx$ macro definitions.

    -
    - -
  • - -
  • - - ng_status_file - - - (String) - - - (defaults to: '/var/log/nagios/status.dat') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_status_upd_interval - - - (String) - - - (defaults to: '10') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_check_ext_commands - - - (String) - - - (defaults to: '1') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_command_file - - - (String) - - - (defaults to: '/var/spool/nagios/cmd/nagios.cmd') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_enable_query_handler - - - (Boolean) - - - (defaults to: false) - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_query_socket - - - (String) - - - (defaults to: '/var/spool/nagios/cmd/nagios.qh') - - - — -
    -

    the socket for the query handler

    -
    - -
  • - -
  • - - ng_lock_file - - - (String) - - - (defaults to: '/var/run/nagios/nagios.pid') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_temp_file - - - (String) - - - (defaults to: '/var/spool/nagios/nagios.tmp') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_temp_path - - - (String) - - - (defaults to: '/tmp') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_event_broker_options - - - (String) - - - (defaults to: '-1') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_event_broker_module - - - (String) - - - (defaults to: '') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_log_rotation_method - - - (String) - - - (defaults to: 'h') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_log_archive_path - - - (String) - - - (defaults to: '/var/log/nagios/archives') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_use_syslog - - - (String) - - - (defaults to: '1') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_log_notifications - - - (String) - - - (defaults to: '1') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_log_service_retries - - - (String) - - - (defaults to: '1') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_log_host_retries - - - (String) - - - (defaults to: '1') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_log_event_handlers - - - (String) - - - (defaults to: '1') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_log_initial_states - - - (String) - - - (defaults to: '0') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_log_current_states - - - (String) - - - (defaults to: '1') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_log_external_commands - - - (String) - - - (defaults to: '1') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_log_passive_checks - - - (String) - - - (defaults to: '1') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_glob_host_evt_handler - - - (String) - - - (defaults to: '') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_glob_svc_evt_handler - - - (String) - - - (defaults to: '') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_svc_int_check_delay - - - (String) - - - (defaults to: 's') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_max_svc_check_spread - - - (String) - - - (defaults to: '30') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_svc_interleave_factor - - - (String) - - - (defaults to: 's') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_host_int_check_delay - - - (String) - - - (defaults to: 's') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_max_host_check_spread - - - (String) - - - (defaults to: '30') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_max_concurrent_checks - - - (String) - - - (defaults to: '0') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_check_res_reaper_freq - - - (String) - - - (defaults to: '10') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_max_check_res_reap_time - - - (String) - - - (defaults to: '30') - - - — -
    -

    max amount of time (in seconds) that a single # check result reaper event will be allowed to run before returning control back to Nagios so it can perform other duties.

    -
    - -
  • - -
  • - - ng_check_result_path - - - (String) - - - (defaults to: '/var/spool/nagios/checkresults') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_max_check_res_file_age - - - (String) - - - (defaults to: '3600') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_cached_h_check_horizon - - - (String) - - - (defaults to: '15') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_cached_s_check_horizon - - - (String) - - - (defaults to: '15') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_pred_host_dep_checks - - - (String) - - - (defaults to: '1') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_pred_svc_dep_checks - - - (String) - - - (defaults to: '1') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_soft_state_dependencies - - - (String) - - - (defaults to: '0') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_time_change_threshold - - - (String) - - - (defaults to: '900') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_auto_reschedule_checks - - - (String) - - - (defaults to: '0') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_auto_reschedule_intval - - - (String) - - - (defaults to: '30') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_auto_reschedule_window - - - (String) - - - (defaults to: '180') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_service_check_timeout - - - (String) - - - (defaults to: '60') - - - — -
    -

    how much time Nagios will allow service check commands to execute before killing them off.

    -
    - -
  • - -
  • - - ng_host_check_timeout - - - (String) - - - (defaults to: '30') - - - — -
    -

    how much time Nagios will allow host check commands to execute before killing them off.

    -
    - -
  • - -
  • - - ng_event_handler_timeout - - - (String) - - - (defaults to: '30') - - - — -
    -

    how much time Nagios will allow event handler commands to execute before killing them off.

    -
    - -
  • - -
  • - - ng_notification_timeout - - - (String) - - - (defaults to: '30') - - - — -
    -

    how much time Nagios will allow notification commands to execute before killing them off.

    -
    - -
  • - -
  • - - ng_ocsp_timeout - - - (String) - - - (defaults to: '5') - - - — -
    -

    how much time Nagios will allow ocsp commands to execute before killing them off.

    -
    - -
  • - -
  • - - ng_perfdata_timeout - - - (String) - - - (defaults to: '5') - - - — -
    -

    how much time Nagios will allow performance data commands to execute before killing them off.

    -
    - -
  • - -
  • - - ng_retain_state_inf - - - (String) - - - (defaults to: '1') - - - — -
    -

    Whether Nagios will save state information for services and hosts before it shuts down. Upon startup Nagios will reload all saved service and host state information before starting to monitor. Valid options are 0 and 1.

    -
    - -
  • - -
  • - - ng_state_retention_file - - - (String) - - - (defaults to: '/var/spool/nagios/retention.dat') - - - — -
    -

    Where Nagios should use to store host and # service state information before it shuts down. The state information in this file is also read immediately prior to starting to monitor the network when Nagios is restarted. This file is used only if the ng_retain_state_inf variable is set to 1.

    -
    - -
  • - -
  • - - ng_retention_update_intval - - - (String) - - - (defaults to: '60') - - - — -
    -

    how often (in minutes) that Nagios # will automatically save retention data during normal operation. If you set this value to 0, Nagios will not save retention data at regular interval, but it will still save retention data before shutting down or restarting. If you have disabled state retention, this option has no effect.

    -
    - -
  • - -
  • - - ng_use_ret_program_state - - - (String) - - - (defaults to: '1') - - - — -
    -

    Whether Nagios will set program status variables based on the values saved in the retention file. Valid options are 0 and 1.

    -
    - -
  • - -
  • - - ng_use_ret_scheduling_info - - - (String) - - - (defaults to: '1') - - - — -
    -

    Whether Nagios will retain the scheduling info (next check time) for hosts and services based on the values saved in the retention file. Valid options are 0 and 1.

    -
    - -
  • - -
  • - - ng_ret_host_attr_mask - - - (String) - - - (defaults to: '0') - - - — -
    -

    mask determines what host attributes are not retained

    -
    - -
  • - -
  • - - ng_ret_service_attr_mask - - - (String) - - - (defaults to: '0') - - - — -
    -

    mask determines what service attributes are not retained

    -
    - -
  • - -
  • - - ng_ret_proc_host_attr_mask - - - (String) - - - (defaults to: '0') - - - — -
    -

    what host process attributes are not retained.

    -
    - -
  • - -
  • - - ng_ret_proc_svc_attr_mask - - - (String) - - - (defaults to: '0') - - - — -
    -

    what service process attributes are not retained

    -
    - -
  • - -
  • - - ng_ret_contact_h_attr_mask - - - (String) - - - (defaults to: '0') - - - — -
    -

    what host contact attributes are not retained.

    -
    - -
  • - -
  • - - ng_ret_contact_s_attr_mask - - - (String) - - - (defaults to: '0') - - - — -
    -

    what service contact attributes are not retained.

    -
    - -
  • - -
  • - - ng_interval_length - - - (String) - - - (defaults to: '60') - - - — -
    -

    seconds per unit interval as used in the host/contact/service configuration files.

    -
    - -
  • - -
  • - - ng_check_for_updates - - - (String) - - - (defaults to: '1') - - - — -
    -

    whether Nagios will automatically check to see if new updates (releases) are available. Effectively, setting $pkg_ensure to latest will have Puppet take care for that automatically though through the packages available in the yum repos. Valid options are 0 and 1.

    -
    - -
  • - -
  • - - ng_bare_update_check - - - (String) - - - (defaults to: '0') - - - — -
    -

    what data Nagios will send to api.nagios.org when it checks for updates. Valid options are 0 and 1.

    -
    - -
  • - -
  • - - ng_use_aggr_host_checking - - - (String) - - - (defaults to: '0') - - - — -
    -

    Whether to enable aggressive host checking. Read Nagios documentation for more infos aggressive host checking.

    -
    - -
  • - -
  • - - ng_execute_service_checks - - - (String) - - - (defaults to: '1') - - - — -
    -

    Whether Nagios will actively execute service checks when it initially starts. Valid options are 0 and 1.

    -
    - -
  • - -
  • - - ng_accept_pass_svc_checks - - - (String) - - - (defaults to: '1') - - - — -
    -

    Whether or not Nagios will accept passive # service checks results when it initially (re)starts. Valid options are 0 and 1.

    -
    - -
  • - -
  • - - ng_execute_host_checks - - - (String) - - - (defaults to: '1') - - - — -
    -

    whether or not Nagios will actively execute host checks when it initially starts. Valid options are 0 and 1.

    -
    - -
  • - -
  • - - ng_accept_pass_host_checks - - - (String) - - - (defaults to: '1') - - - — -
    -

    Whether or not Nagios will accept passive # host checks results when it initially (re)starts. Valid options are 0 and 1.

    -
    - -
  • - -
  • - - ng_enable_notifications - - - (String) - - - (defaults to: '1') - - - — -
    -

    Whether Nagios will sent out any host or service notifications when it is initially (re)started. Valid options are 0 and 1.

    -
    - -
  • - -
  • - - ng_enable_event_handlers - - - (String) - - - (defaults to: '1') - - - — -
    -

    Whether Nagios will run any host or service event handlers when it is initially (re)started. Valid options are 0 and 1.

    -
    - -
  • - -
  • - - ng_process_perf_data - - - (String) - - - (defaults to: '0') - - - — -
    -

    Whether Nagios will process performance data returned from service and host checks. Valid options are 0 and 1.

    -
    - -
  • - -
  • - - ng_host_perfdata_command - - - (String) - - - (defaults to: 'process-host-perfdata') - - - — -
    -

    Short name of a command definition defined in your host configuration file. Only active if ng_process_perf_data is set to 1

    -
    - -
  • - -
  • - - ng_svc_perfdata_command - - - (String) - - - (defaults to: 'process-service-perfdata') - - - — -
    -

    Short name of a command definition defined in your service configuration file. Only active if ng_process_perf_data is set to 1

    -
    - -
  • - -
  • - - ng_host_perfdata_file - - - (String) - - - (defaults to: '/var/spool/nagios/host-perfdata') - - - — -
    -

    used to store host performance data. Only active if ng_process_perf_data is set to 1

    -
    - -
  • - -
  • - - ng_service_perfdata_file - - - (String) - - - (defaults to: '/var/spool/nagios/service-perfdata') - - - — -
    -

    used to store service performance data. Only active if ng_process_perf_data is set to 1

    -
    - -
  • - -
  • - - ng_host_perfdata_template - - - (String) - - - (defaults to: '[HOSTPERFDATA]\t$TIMET$\t$HOSTNAME$\t$HOSTEXECUTIONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$') - - - — -
    -

    What data is written (and how) to the performance data files. The templates may contain macros, special characters (t for tab, r for carriage return, n for newline) and plain text. Only active if ng_process_perf_data is set to 1

    -
    - -
  • - -
  • - - ng_svc_perfdata_template - - - (String) - - - (defaults to: '[SERVICEPERFDATA]\t$TIMET$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$') - - - — -
    -

    What data is written (and how) to the performance data files. The templates may contain macros, special characters (t for tab, r for carriage return, n for newline) and plain text. Only active if ng_process_perf_data is set to 1

    -
    - -
  • - -
  • - - ng_host_perfdata_file_mode - - - (String) - - - (defaults to: 'a') - - - — -
    -

    Whether the host performance data files are opened in write (“w”), append (“a”) or named pipe (“p”) mode. Only active if ng_process_perf_data is set to 1.

    -
    - -
  • - -
  • - - ng_svc_perfdata_file_mode - - - (String) - - - (defaults to: 'a') - - - — -
    -

    Whether the service performance data files are opened in write (“w”), append (“a”) or named pipe (“p”) mode. Only active if ng_process_perf_data is set to 1.

    -
    - -
  • - -
  • - - ng_h_perfdata_proc_intval - - - (String) - - - (defaults to: '0') - - - — -
    -

    How often (in seconds) the host performance data files are processed using the commands defined below. 0 indicates that the files should not be periodically processed. Only active if ng_process_perf_data is set to 1.

    -
    - -
  • - -
  • - - ng_s_perfdata_proc_intval - - - (String) - - - (defaults to: '0') - - - — -
    -

    How often (in seconds) the service performance data files are processed using the commands defined below. 0 indicates that the files should not be periodically processed. Only active if ng_process_perf_data is set to 1.

    -
    - -
  • - -
  • - - ng_h_perfdata_proc_cmd - - - (String) - - - (defaults to: 'process-host-perfdata-file') - - - — -
    -

    Commands used to periodically process the host performance data files. Only active if ng_process_perf_data is set to 1.

    -
    - -
  • - -
  • - - ng_s_perfdata_proc_cmd - - - (String) - - - (defaults to: 'process-service-perfdata-file') - - - — -
    -

    Commands used to periodically process the service performance data files. Only active if ng_process_perf_data is set to 1.

    -
    - -
  • - -
  • - - ng_h_perfdata_proc_e_res - - - (String) - - - (defaults to: '1') - - - — -
    -

    Whether the core will process empty host perfdata results. Valid options are 0 and 1. Only active if ng_process_perf_data is set to 1.

    -
    - -
  • - -
  • - - ng_s_perfdata_proc_e_res - - - (String) - - - (defaults to: '1') - - - — -
    -

    Whether the core will process empty service perfdata results. Valid options are 0 and 1. Only active if ng_process_perf_data is set to 1.

    -
    - -
  • - -
  • - - ng_obsess_over_services - - - (String) - - - (defaults to: '0') - - - — -
    -

    Whether Nagios will obsess over service checks and run the ocsp_command defined. Unless you are planning on implementing distributed monitoring, do not enable this option.

    -
    - -
  • - -
  • - - ng_ocsp_command - - - (String) - - - (defaults to: '') - - - — -
    -

    Command that is run for every service check that is processed by Nagios. This command is executed only if the ng_obsess_over_services option is set to 1. The command argument is the short name of a command definition defined in your service configuration file. Read the HTML docs for # more information on implementing distributed monitoring.

    -
    - -
  • - -
  • - - ng_obsess_over_hosts - - - (String) - - - (defaults to: '0') - - - — -
    -

    Whether Nagios will obsess over host checks and run the ocsp_command defined. Unless you are planning on implementing distributed monitoring, do not enable this option.

    -
    - -
  • - -
  • - - ng_ochp_command - - - (String) - - - (defaults to: '') - - - — -
    -

    Command that is run for every service check that is processed by Nagios. This command is executed only if the ng_obsess_over_hosts option is set to 1. The command argument is the short name of a command definition defined in your host configuration file. Read the HTML docs for # more information on implementing distributed monitoring.

    -
    - -
  • - -
  • - - ng_translate_pass_h_checks - - - (String) - - - (defaults to: '0') - - - — -
    -

    Whether or not Nagios will translate # DOWN/UNREACHABLE passive host check results into their proper state for this instance of Nagios. This option is useful only if you have distributed or failover monitoring setup. Valid options are 0 and 1.

    -
    - -
  • - -
  • - - ng_pass_h_checks_are_soft - - - (String) - - - (defaults to: '0') - - - — -
    -

    Whether Nagios will treat passive host checks as being HARD or SOFT. Valid options are 0 and 1.

    -
    - -
  • - -
  • - - ng_check_orphaned_svc - - - (String) - - - (defaults to: '1') - - - — -
    -

    Whether Nagios will periodically check for orphaned service checks.Valid options are 0 and 1.

    -
    - -
  • - -
  • - - ng_check_orphaned_hosts - - - (String) - - - (defaults to: '1') - - - — -
    -

    Whether Nagios will periodically check for orphaned host checks.Valid options are 0 and 1.

    -
    - -
  • - -
  • - - ng_check_service_freshness - - - (String) - - - (defaults to: '1') - - - — -
    -

    Whether Nagios will periodically check the “freshness” of service results. Valid options are 0 and 1.

    -
    - -
  • - -
  • - - ng_svc_fresh_check_intval - - - (String) - - - (defaults to: '60') - - - — -
    -

    how often (in seconds) Nagios will check the “freshness” of service check results. Only active if ng_check_service_freshness is set to 1.

    -
    - -
  • - -
  • - - ng_svc_check_timeout_state - - - (String) - - - (defaults to: 'c') - - - — -
    -

    The state Nagios will report when a service check times out - that is does not respond within ng_service_check_timeout seconds. Valid settings are: c - Critical (default) u - Unknown w - Warning o - OK

    -
    - -
  • - -
  • - - ng_check_host_freshness - - - (String) - - - (defaults to: '0') - - - — -
    -

    Whether Nagios will periodically check the “freshness” of host check results. Valid options are 0 and 1.

    -
    - -
  • - -
  • - - ng_host_fresh_check_intval - - - (String) - - - (defaults to: '60') - - - — -
    -

    how often (in seconds) Nagios will check the “freshness” of host check results. Only active if ng_check_service_freshness is set to 1.

    -
    - -
  • - -
  • - - ng_add_freshness_latency - - - (String) - - - (defaults to: '15') - - - — -
    -

    number of seconds that Nagios will add to any host and service freshness thresholds that it calculates (those not explicitly specified by the user).

    -
    - -
  • - -
  • - - ng_enable_flap_detection - - - (String) - - - (defaults to: '1') - - - — -
    -

    Whether or not Nagios will try and detect hosts and services that are “flapping”. Flapping occurs when a host or service changes between # states too frequently. When Nagios detects that a # host or service is flapping, it will temporarily suppress notifications for that host/service until it stops flapping.

    -
    - -
  • - -
  • - - ng_low_svc_flap_threshold - - - (String) - - - (defaults to: '5.0') - - - — -
    -

    Low threshold for service flapping. only active if ng_enable_flap_detection is set to 1.

    -
    - -
  • - -
  • - - ng_high_svc_flap_threshold - - - (String) - - - (defaults to: '20.0') - - - — -
    -

    High threshold for service flapping. Only active if ng_enable_flap_detection is set to 1.

    -
    - -
  • - -
  • - - ng_low_h_flap_threshold - - - (String) - - - (defaults to: '5.0') - - - — -
    -

    Low threshold for host flapping. only active if ng_enable_flap_detection is set to 1.

    -
    - -
  • - -
  • - - ng_high_h_flap_threshold - - - (String) - - - (defaults to: '20.0') - - - — -
    -

    High threshold for host flapping. Only active if ng_enable_flap_detection is set to 1.

    -
    - -
  • - -
  • - - ng_date_format - - - (String) - - - (defaults to: 'us') - - - — -
    -

    How short dates are displayed. Valid options include: us (MM-DD-YYYY HH:MM:SS) euro (DD-MM-YYYY HH:MM:SS) iso8601 (YYYY-MM-DD HH:MM:SS) strict-iso8601 (YYYY-MM-DDTHH:MM:SS)

    -
    - -
  • - -
  • - - ng_use_timezone_offset - - - (Boolean) - - - (defaults to: false) - - - — -
    -

    Whether to use timezone offsets. if set to false, the system configured timezone will be used.

    -
    - -
  • - -
  • - - ng_use_timezone - - - (String) - - - (defaults to: '') - - - — -
    -

    used to override the default timezone that this # instance of Nagios runs in. If not specified, Nagios will use the system configured timezone. NOTE: In order to display the correct timezone in the CGIs, you # will also need to alter the Apache directives for the CGI path # to include your timezone. It is highly recommended to configure the timezone correctly at system level anyway. Only active if ng_use_timezone_offset is set to true.

    -
    - -
  • - -
  • - - ng_illegal_obj_name_chars - - - (String) - - - (defaults to: '`~!$%^&*|\'"<>?,()=') - - - — -
    -

    specify illegal characters that cannot # be used in host names, service descriptions, or names of other object types.

    -
    - -
  • - -
  • - - ng_ill_macro_output_chars - - - (String) - - - (defaults to: '`~$&|\'"<>') - - - — -
    -

    Specify illegal characters that are stripped from macros before being used in notifications, event handlers, etc. This DOES NOT affect macros used in service or host check commands. The following macros are stripped of the characters you specify: $HOSTOUTPUT$ $HOSTPERFDATA$ $HOSTACKAUTHOR$ $HOSTACKCOMMENT$ $SERVICEOUTPUT$ $SERVICEPERFDATA$ $SERVICEACKAUTHOR$ $SERVICEACKCOMMENT$

    -
    - -
  • - -
  • - - ng_use_regexp_matching - - - (String) - - - (defaults to: '0') - - - — -
    -

    Whether regular expression matching takes place in the object config files. Regular expression matching is used to match host, hostgroup, service, and service group names/descriptions in some fields of various object types. Valid options are 0 and 1.

    -
    - -
  • - -
  • - - ng_true_regexp_matching - - - (String) - - - (defaults to: '0') - - - — -
    -

    Whether or not “true” regular expression # matching takes place in the object config files. Only active if ng_use_regexp_matching is set to true.

    -
    - -
  • - -
  • - - ng_daemon_dumps_core - - - (String) - - - (defaults to: '0') - - - — -
    -

    Whether Nagios is allowed to create a core dump when it runs as a daemon.

    -
    - -
  • - -
  • - - ng_use_large_inst_tweaks - - - (String) - - - (defaults to: '0') - - - — -
    -

    Whether or not Nagios will take some shortcuts # which can save on memory and CPU usage in large Nagios installations. Valid options are 0 or 1.

    -
    - -
  • - -
  • - - ng_enable_env_macros - - - (String) - - - (defaults to: '0') - - - — -
    -

    Whether Nagios will make all standard macros available as environment variables when host/service checks and system commands (event handlers, notifications, etc.) are executed. Can cause performance problems in large installations if enabled. Valid options are 0 or 1.

    -
    - -
  • - -
  • - - ng_free_child_process_mem - - - (String) - - - (defaults to: '1') - - - — -
    -

    Whether Nagios should free up memory on child processes. Valid options are 0 and 1.

    -
    - -
  • - -
  • - - ng_child_proc_fork_twice - - - (String) - - - (defaults to: '1') - - - — -
    -

    ow Nagios will fork child processes. Valid options are 0 or 1.

    -
    - -
  • - -
  • - - ng_debug_level - - - (String) - - - (defaults to: '0') - - - — -
    -

    how much (if any) debugging information will be written to the debug file. Valid options are: -1 = Everything 0 = Nothing 1 = Functions 2 = Configuration 4 = Process information 8 = Scheduled events 16 = Host/service checks 32 = Notifications 64 = Event broker 128 = External commands 256 = Commands 512 = Scheduled downtime 1024 = Comments 2048 = Macros

    -
    - -
  • - -
  • - - ng_debug_verbosity - - - (String) - - - (defaults to: '1') - - - — -
    -

    How verbose the debug log out will be. Valid options: 0 = Brief output 1 = More detailed 2 = Very detailed

    -
    - -
  • - -
  • - - ng_debug_file - - - (String) - - - (defaults to: '/var/spool/nagios/nagios.debug') - - - — -
    -

    FQDN where Nagios should write debug information.

    -
    - -
  • - -
  • - - ng_max_debug_file_size - - - (String) - - - (defaults to: '1000000') - - - — -
    -

    Maximum size (in bytes) of the debug file. If the file grows larger than this size, it will be renamed with a .old # extension. If a file already exists with a .old extension it will automatically be deleted.

    -
    - -
  • - -
  • - - ng_allow_empty_hostgroups - - - (String) - - - (defaults to: '0') - - - — -
    -

    Should we allow hostgroups to have no hosts, we default this to off since that was the old behavior.

    -
    - -
  • - -
  • - - ng_check_workers - - - (String) - - - (defaults to: '') - - - — -
    -

    Normally worker count is dynamically allocated based on 1.5 * number of cpu’s with a minimum of 4 workers. This value will override the defaults.

    -
    - -
  • - -
  • - - ng_host_down_svc_checks - - - (String) - - - (defaults to: '0') - - - — -
    -

    This option will disable all service checks if the host is not in an UP state. While desirable in some environments, enabling this value can distort report values as the expected quantity of checks will not have been performed. Valid options are 0 and 1.

    -
    - -
  • - -
  • - - ng_enable_load_ctl_options - - - (Boolean) - - - (defaults to: false) - - - — -
    -

    Whether to enable loadctl_options To get current defaults based on your system issue a command to the query handler. Experimental feature and not recommended for production.

    -
    - -
  • - -
  • - - ng_loadctl_options - - - (String) - - - (defaults to: 'jobs_max=100;backoff_limit=10;rampup_change=5') - - - — -
    -

    load controlling options jobs_max - The maximum amount of jobs to run at one time jobs_min - The minimum amount of jobs to run at one time jobs_limit - The maximum amount of jobs the current load lets us run backoff_limit - The minimum backoff_change backoff_change - # of jobs to remove from jobs_limit when backing off 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.

    -
    - -
  • - -
  • - - ng_enable_swap_check - - - (Boolean) - - - (defaults to: true) - - - — -
    -

    Whether to enable the declaration of the swap check. Disabling this makes sense when you use the cd_swap Puppet module and have enabled the check declaration from there, so the Nagios check is properly aligned to the Puppet module controlling the particular item.

    -
    - -
  • - -
  • - - reqpackages_server - - - (Array) - - - (defaults to: ['nagios','nagios-devel']) - - - — -
    -

    the packages for the server

    -
    - -
  • - -
  • - - reqpackages_client - - - (Array) - - - (defaults to: ['net-snmp-utils','nagios-plugins','nagios-plugins-all','nagios-plugins-nrpe','nagios-common']) - - - — -
    -

    the packages for the clients

    -
    - -
  • - -
- - - -

See Also:

- - -
- - - - - -
-
-
-
-638
-639
-640
-641
-642
-643
-644
-645
-646
-647
-648
-649
-650
-651
-652
-653
-654
-655
-656
-657
-658
-659
-660
-661
-662
-663
-664
-665
-666
-667
-668
-669
-670
-671
-672
-673
-674
-675
-676
-677
-678
-679
-680
-681
-682
-683
-684
-685
-686
-687
-688
-689
-690
-691
-692
-693
-694
-695
-696
-697
-698
-699
-700
-701
-702
-703
-704
-705
-706
-707
-708
-709
-710
-711
-712
-713
-714
-715
-716
-717
-718
-719
-720
-721
-722
-723
-724
-725
-726
-727
-728
-729
-730
-731
-732
-733
-734
-735
-736
-737
-738
-739
-740
-741
-742
-743
-744
-745
-746
-747
-748
-749
-750
-751
-752
-753
-754
-755
-756
-757
-758
-759
-760
-761
-762
-763
-764
-765
-766
-767
-768
-769
-770
-771
-772
-773
-774
-775
-776
-777
-778
-779
-780
-781
-782
-783
-784
-785
-786
-787
-788
-789
-790
-791
-792
-793
-794
-795
-796
-797
-798
-799
-800
-801
-802
-803
-804
-805
-806
-807
-808
-809
-810
-811
-812
-813
-814
-815
-816
-817
-818
-819
-820
-821
-822
-823
-824
-825
-826
-827
-828
-829
-830
-831
-832
-833
-834
-835
-836
-837
-838
-839
-840
-841
-842
-843
-844
-845
-846
-847
-848
-849
-850
-851
-852
-853
-854
-855
-856
-857
-858
-859
-860
-861
-862
-863
-864
-865
-866
-867
-868
-869
-870
-871
-872
-873
-874
-875
-876
-877
-878
-879
-880
-881
-882
-883
-884
-885
-886
-887
-888
-889
-890
-891
-892
-893
-894
-895
-896
-897
-898
-899
-900
-901
-902
-903
-904
-905
-906
-907
-908
-909
-910
-911
-912
-913
-914
-915
-916
-917
-918
-919
-920
-921
-922
-923
-924
-925
-926
-927
-928
-929
-930
-931
-932
-933
-934
-935
-936
-937
-938
-939
-940
-941
-942
-943
-944
-945
-946
-947
-948
-949
-950
-951
-952
-953
-954
-955
-956
-957
-958
-959
-960
-961
-962
-963
-964
-965
-966
-967
-968
-969
-970
-971
-972
-973
-974
-975
-976
-977
-978
-979
-980
-981
-982
-983
-984
-985
-986
-987
-988
-
-
# File 'manifests/params.pp', line 638
-
-class cd_nagios::params (
-
-  String $pkg_ensure                 = 'latest',
-
-  String $ng_nagios_server           = "nagios.${::domain}",
-  String $ng_nagios_ext_ip           = undef,
-  String $ng_mail_user               = "admin@${::domain}",
-  String $ng_page_user               = "pageadmin@${::domain}",
-
-  Boolean $ng_include_nrpe           = true,
-
-# firewall
-  Boolean $ng_include_fw             = true,
-  Boolean $ng_use_https              = true,
-  Boolean $ng_http_https_fw          = true,
-  String $ng_fw_order                = '50',
-  String $ng_http_port               = '80',
-  String $ng_https_port              = '443',
-  String $ng_nrpe_port               = '5666',
-
-# check command parameters
-## ping
-  String $ng_ping_warn               = '100.0,20%',
-  String $ng_ping_crit               = '500.0,60%',
-  String $ng_ping_ensure             = 'present',
-## disk
-  String $ng_disk_warn               = '20%',
-  String $ng_disk_crit               = '10%' ,
-  String $ng_disk_ensure             = 'present',
-# swap
-  String $ng_swap_warn               = '20',
-  String $ng_swap_crit               = '10',
-  String $ng_swap_ensure             = 'present',
-# users
-  String $ng_users_warn              = '20',
-  String $ng_users_crit              = '50',
-  String $ng_users_ensure            = 'present',
-#total procs
-  String $ng_procs_tot_warn          = '330',
-  String $ng_procs_tot_crit          = '400',
-  String $ng_procs_tot_param         = 'RDST',
-  String $ng_procs_tot_ens           = 'present',
-# zombie procs
-  String $ng_procs_z_warn            = '10',
-  String $ng_procs_z_crit            = '30',
-  String $ng_procs_z_param           = 'Z',
-  String $ng_procs_z_ensure          = 'present',
-# load
-  String $ng_load_warn               = '5.00,4.00,3.00',
-  String $ng_load_crit               = '10.00,6.00,4.00',
-  String $ng_load_ensure             = 'present',
-
-# user settings
-  String $ng_user                    = 'nagios',
-  String $ng_u_comment               = 'Nagios service user',
-  String $ng_u_uid                   = '1004',
-  String $ng_user_home               = '/var/spool/nagios',
-  Optional[String] $ng_u_groups      = undef,
-  String $ng_user_shell              = '/bin/bash',
-
-# cgi settings
-  String $ng_context_help            = '1',
-  String $ng_pending_state           = '1',
-  String $ng_use_auth                = '1',
-  String $ng_use_ssl_auth            = '0',
-  Boolean $ng_enable_def_user        = false,
-  String $ng_def_user_name           = 'nagios_insecure',
-  String $ng_nagios_admin            = 'nagios_sec_adm',
-  String $ng_sysinfo_auth            = '',
-  String $ng_confinfo_auth           = '',
-  String $ng_command_auth            = '',
-  String $ng_hostview_auth           = '',
-  String $ng_serviceview_auth        = '',
-  String $ng_host_cmd_auth           = '',
-  String $ng_svc_cmd_auth            = '',
-  String $ng_readonly_auth           = '' ,
-  String $ng_statusmap_img           = 'smbackground.gd2',
-  Boolean $ng_use_colormap           = false,
-  String $ng_colormap_red            = '255',
-  String $ng_colormap_green          = '255',
-  String $ng_colormap_blue           = '255',
-  String $ng_statusmap_layout        = '6',
-  String $ng_wrl_layout              = '4',
-  Boolean $ng_incl_own_wrl           = false,
-  String $ng_statuswrl_include       = '',
-  String $ng_ping_syntax             = '/bin/ping -n -U -c 5 $HOSTADDRESS$',
-  String $ng_refresh_rate            = '90',
-  String $ng_result_limit            = '100',
-  String $ng_escape_html             = '1',
-  Boolean $ng_use_sound              = false,
-  String $ng_host_unreachable        = 'hostdown.wav',
-  String $ng_host_down               = 'hostdown.wav',
-  String $ng_svc_critical            = 'critical.wav',
-  String $ng_svc_warn                = 'warning.wav',
-  String $ng_svc_unknown             = 'warning.wav',
-  String $ng_normal_sound            = 'noproblem.wav',
-  String $ng_action_url_target       = '_blank',
-  String $ng_notes_url_target        = '_blank',
-  String $ng_lock_author_names       = '1',
-  Boolean $ng_enable_splunk          = false,
-  String $ng_splunk_url              = 'http://127.0.0.1:8000/',
-  String $ng_navbar_addresses        = '1',
-  String $ng_navbar_aliases          = '1',
-  String $ng_ack_no_sticky           = '0',
-  String $ng_ack_no_send             = '0',
-
-# selinux
-  Boolean $ng_use_selinux_tools      = true,
-
-# httpd
-  String $ng_required_hosts          = '',
-  String $ng_required_ips            = '127.0.0.0/8',
-  Boolean $ng_enable_index           = true,
-
-# certbot
-  Boolean $ng_enable_certbot         = true,
-  String $ng_certbot_webroot         = '/var/www/html',
-  String $ng_webserver_name          = "nagios.${::domain}",
-
-# main settings
-  String $ng_log_file                = '/var/log/nagios/nagios.log',
-  String $ng_max_check_attempts      = '10',
-  String $ng_object_cache_file       = '/var/spool/nagios/objects.cache',
-  String $ng_precached_obj_file      = '/var/spool/nagios/objects.precache',
-  String $ng_resource_file           = '/etc/nagios/private/resource.cfg',
-  String $ng_status_file             = '/var/log/nagios/status.dat',
-  String $ng_status_upd_interval     = '10',
-  String $ng_check_ext_commands      = '1',
-  String $ng_command_file            = '/var/spool/nagios/cmd/nagios.cmd',
-  Boolean $ng_enable_query_handler   = false,
-  String $ng_query_socket            = '/var/spool/nagios/cmd/nagios.qh',
-  String $ng_lock_file               = '/var/run/nagios/nagios.pid',
-  String $ng_temp_file               = '/var/spool/nagios/nagios.tmp',
-  String $ng_temp_path               = '/tmp',
-  String $ng_event_broker_options    = '-1',
-  String $ng_event_broker_module     = '',
-  String $ng_log_rotation_method     = 'h',
-  String $ng_log_archive_path        = '/var/log/nagios/archives',
-  String $ng_use_syslog              = '1',
-  String $ng_log_notifications       = '1',
-  String $ng_log_service_retries     = '1',
-  String $ng_log_host_retries        = '1',
-  String $ng_log_event_handlers      = '1',
-  String $ng_log_initial_states      = '0',
-  String $ng_log_current_states      = '1',
-  String $ng_log_external_commands   = '1',
-  String $ng_log_passive_checks      = '1',
-  String $ng_glob_host_evt_handler   = '',
-  String $ng_glob_svc_evt_handler    = '',
-  String $ng_svc_int_check_delay     = 's',
-  String $ng_max_svc_check_spread    = '30',
-  String $ng_svc_interleave_factor   = 's',
-  String $ng_host_int_check_delay    = 's',
-  String $ng_max_host_check_spread   = '30',
-  String $ng_max_concurrent_checks   = '0',
-  String $ng_check_res_reaper_freq   = '10',
-  String $ng_max_check_res_reap_time = '30',
-  String $ng_check_result_path       = '/var/spool/nagios/checkresults',
-  String $ng_max_check_res_file_age  = '3600',
-  String $ng_cached_h_check_horizon  = '15',
-  String $ng_cached_s_check_horizon  = '15',
-  String $ng_pred_host_dep_checks    = '1',
-  String $ng_pred_svc_dep_checks     = '1',
-  String $ng_soft_state_dependencies = '0',
-  String $ng_time_change_threshold   = '900',
-  String $ng_auto_reschedule_checks  = '0',
-  String $ng_auto_reschedule_intval  = '30',
-  String $ng_auto_reschedule_window  = '180',
-  String $ng_service_check_timeout   = '60',
-  String $ng_host_check_timeout      = '30',
-  String $ng_event_handler_timeout   = '30',
-  String $ng_notification_timeout    = '30',
-  String $ng_ocsp_timeout            = '5',
-  String $ng_perfdata_timeout        = '5',
-  String $ng_retain_state_inf        = '1',
-  String $ng_state_retention_file    = '/var/spool/nagios/retention.dat',
-  String $ng_retention_update_intval = '60',
-  String $ng_use_ret_program_state   = '1',
-  String $ng_use_ret_scheduling_info = '1',
-  String $ng_ret_host_attr_mask      = '0',
-  String $ng_ret_service_attr_mask   = '0',
-  String $ng_ret_proc_host_attr_mask = '0',
-  String $ng_ret_proc_svc_attr_mask  = '0',
-  String $ng_ret_contact_h_attr_mask = '0',
-  String $ng_ret_contact_s_attr_mask = '0',
-  String $ng_interval_length         = '60',
-  String $ng_check_for_updates       = '1',
-  String $ng_bare_update_check       = '0',
-  String $ng_use_aggr_host_checking  = '0',
-  String $ng_execute_service_checks  = '1',
-  String $ng_accept_pass_svc_checks  = '1',
-  String $ng_execute_host_checks     = '1',
-  String $ng_accept_pass_host_checks = '1',
-  String $ng_enable_notifications    = '1',
-  String $ng_enable_event_handlers   = '1',
-  String $ng_process_perf_data       = '0',
-  String $ng_host_perfdata_command   = 'process-host-perfdata',
-  String $ng_svc_perfdata_command    = 'process-service-perfdata',
-  String $ng_host_perfdata_file      = '/var/spool/nagios/host-perfdata',
-  String $ng_service_perfdata_file   = '/var/spool/nagios/service-perfdata',
-  String $ng_host_perfdata_template  = '[HOSTPERFDATA]\t$TIMET$\t$HOSTNAME$\t$HOSTEXECUTIONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$',
-  String $ng_svc_perfdata_template   = '[SERVICEPERFDATA]\t$TIMET$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$',
-  String $ng_host_perfdata_file_mode = 'a',
-  String $ng_svc_perfdata_file_mode  = 'a',
-  String $ng_h_perfdata_proc_intval  = '0',
-  String $ng_s_perfdata_proc_intval  = '0',
-  String $ng_h_perfdata_proc_cmd     = 'process-host-perfdata-file',
-  String $ng_s_perfdata_proc_cmd     = 'process-service-perfdata-file',
-  String $ng_h_perfdata_proc_e_res   = '1',
-  String $ng_s_perfdata_proc_e_res   = '1',
-  String $ng_obsess_over_services    = '0',
-  String $ng_ocsp_command            = '',
-  String $ng_obsess_over_hosts       = '0',
-  String $ng_ochp_command            = '',
-  String $ng_translate_pass_h_checks = '0',
-  String $ng_pass_h_checks_are_soft  = '0',
-  String $ng_check_orphaned_svc      = '1',
-  String $ng_check_orphaned_hosts    = '1',
-  String $ng_check_service_freshness = '1',
-  String $ng_svc_fresh_check_intval  = '60',
-  String $ng_svc_check_timeout_state = 'c',
-  String $ng_check_host_freshness    = '0',
-  String $ng_host_fresh_check_intval = '60',
-  String $ng_add_freshness_latency   = '15',
-  String $ng_enable_flap_detection   = '1',
-  String $ng_low_svc_flap_threshold  = '5.0',
-  String $ng_high_svc_flap_threshold = '20.0',
-  String $ng_low_h_flap_threshold    = '5.0',
-  String $ng_high_h_flap_threshold   = '20.0',
-  String $ng_date_format             = 'us',
-  Boolean $ng_use_timezone_offset    = false,
-  String $ng_use_timezone            = '',
-  String $ng_illegal_obj_name_chars  = '`~!$%^&*|\'"<>?,()=',
-  String $ng_ill_macro_output_chars  = '`~$&|\'"<>',
-  String $ng_use_regexp_matching     = '0',
-  String $ng_true_regexp_matching    = '0',
-  String $ng_daemon_dumps_core       = '0',
-  String $ng_use_large_inst_tweaks   = '0',
-  String $ng_enable_env_macros       = '0',
-  String $ng_free_child_process_mem  = '1',
-  String $ng_child_proc_fork_twice   = '1',
-  String $ng_debug_level             = '0',
-  String $ng_debug_verbosity         = '1',
-  String $ng_debug_file              = '/var/spool/nagios/nagios.debug',
-  String $ng_max_debug_file_size     = '1000000',
-  String $ng_allow_empty_hostgroups  = '0',
-  String $ng_check_workers           = '',
-  String $ng_host_down_svc_checks    = '0',
-  Boolean $ng_enable_load_ctl_options = false,
-  String $ng_loadctl_options         = 'jobs_max=100;backoff_limit=10;rampup_change=5',
-
-# single nagios checks
-  Boolean $ng_enable_swap_check       = true,
-
-# installation
-  Array $reqpackages_server         = ['nagios','nagios-devel'],
-  Array $reqpackages_client         = ['net-snmp-utils','nagios-plugins','nagios-plugins-all','nagios-plugins-nrpe','nagios-common'],
-
-) {
-# service
-  $ng_service                 = 'nagios'
-  $ae_service                 = 'httpd'
-
-# directories
-  $ng_main_dir                = '/etc/nagios'
-  $ng_conf_d_dir              = "${ng_main_dir}/conf.d"
-  $ng_objects_dir             = "${ng_main_dir}/objects"
-  $ng_private_dir             = "${ng_main_dir}/private"
-  $ng_usr_incl                = '/usr/include/nagios'
-  $ng_lib_dir                 = '/usr/lib64/nagios'
-  $ng_log_dir                 = '/var/log/nagios'
-  $ng_log_archives            = "${ng_log_dir}/archives"
-  $ng_spool_dir               = '/var/spool/nagios'
-  $ng_usr_share               = '/usr/share/nagios'
-  $ng_share_html              = "${ng_usr_share}/html"
-  $ng_run_dir                 = '/var/run/nagios'
-  $ng_cmd_dir                 = "${ng_spool_dir}/cmd"
-  $ng_checkresults_dir        = "${ng_spool_dir}/checkresults"
-
-# 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_statdat_erb             = 'cd_nagios/selinux/statusdat.erb'
-  $ng_checknrpe_erb           = 'cd_nagios/selinux/checknrpe.erb'
-  $ng_checknagios_erb         = 'cd_nagios/selinux/checknagios.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_resource_erb            = 'cd_nagios/nagios/resource_cfg.erb'
-  $ng_grep_erb                = 'cd_nagios/selinux/grep.erb'
-
-# certbot
-  $ng_certbot_main_dir        = '/etc/letsencrypt'
-  $ng_certbot_archive         = "${ng_certbot_main_dir}/archive"
-  $ng_certbot_check           = "${ng_certbot_archive}/${ng_webserver_name}/cert1.pem"
-  $ng_certbot_live            = "${ng_certbot_main_dir}/live"
-
-# nagios
-  $ng_target_templates        = "${ng_conf_d_dir}/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'
-
-# includes must be last
-  include cd_nagios::main::config
-}
-
-
-
- - - -
- - \ No newline at end of file diff --git a/doc/puppet_classes/cd_nagios_3A_3Aselinux_3A_3Aconfig.html b/doc/puppet_classes/cd_nagios_3A_3Aselinux_3A_3Aconfig.html deleted file mode 100644 index 1ecc0b9..0000000 --- a/doc/puppet_classes/cd_nagios_3A_3Aselinux_3A_3Aconfig.html +++ /dev/null @@ -1,392 +0,0 @@ - - - - - - - Puppet Class: cd_nagios::selinux::config - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

Puppet Class: cd_nagios::selinux::config

-
- -
-
Inherits:
-
cd_nagios::params
-
- - -
-
Defined in:
-
- manifests/selinux/config.pp -
-
-
- -

Summary

- Class manages all aspects of selinux for cd_nagios. - -

Overview

-
-
- -

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

- -
-
- - - -
- - - -
- - - - - -
-
-
-
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-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
-
-
# File 'manifests/selinux/config.pp', line 6
-
-class cd_nagios::selinux::config (
-
-) inherits cd_nagios::params {
-  if $ng_use_selinux_tools == true {
-    require cd_selinux
-
-    # it appears that selinux behaves differently across different nodes,
-    # so all we can do for now is to create a list of the AVC alerts and come up
-    # with a solution on that later.
-
-    exec { 'create_avc_list':
-      command => 'sealert -a /var/log/audit/audit.log > avc_alerts',
-      cwd     => $ng_user_home,
-      path    => ['/usr/bin'],
-      creates => "${ng_user_home}/avc_alerts",
-    }
-
-    # sealert tac-cgi
-#    exec { 'create_policy_taccgi':
-#      command    => template($ng_taccgi_erb),
-#      path       => ['/usr/bin','/usr/sbin'],
-#      user       => $ng_user,
-#      cwd        => $ng_user_home,
-#      creates    => "${ng_user_home}/my-taccgi.pp",
-#      notify     => Exec['semodule_taccgi'],
-#    }
-
-#    exec { 'semodule_taccgi':
-#      command    => "semodule -i ${ng_user_home}/my-taccgi.pp",
-#      path       => ['/usr/bin','/usr/sbin'],
-#      user       => $ng_user,
-#      cwd        => $ng_user_home,
-#      require    => Exec['create_policy_taccgi'],
-#      refreshonly => true,
-#    }
-
-    # sealert status.cgi
-
-#    exec { 'create_policy_statuscgi':
-#      command    => template($ng_statcgi_erb),
-#      path       => ['/usr/bin','/usr/sbin'],
-#      cwd        => $ng_user_home,
-#      creates    => "${ng_user_home}/my-statuscgi.pp",
-#      notify     => Exec['semodule_statuscgi'],
-#    }
-
-#    exec { 'semodule_statuscgi':
-#      command    => 'semodule -i my-statuscgi.pp',
-#      path       => ['/usr/bin','/usr/sbin'],
-#      cwd        => $ng_user_home,
-#      require    => Exec['create_policy_statuscgi'],
-#      refreshonly => true,
-#      notify     => Service[$ng_service],
-#    }
-
-    # sealert check_nrpe
-
-#    exec { 'create_policy_checknrpe':
-#      command    => template($ng_checknrpe_erb),
-#      path       => ['/usr/bin','/usr/sbin'],
-#      cwd        => $ng_user_home,
-#      creates    => "${ng_user_home}/my-checknrpe.pp",
-#      notify     => Exec['semodule_checknrpe'],
-#    }
-
-#    exec { 'semodule_checknrpe':
-#      command    => 'semodule -i my-checknrpe.pp',
-#      path       => ['/usr/bin','/usr/sbin'],
-#      cwd        => $ng_user_home,
-#      require    => Exec['create_policy_checknrpe'],
-#      refreshonly => true,
-#      notify     => Service[$ng_service],
-#    }
-
-    # sealert check_nagios
-
-#    exec { 'create_policy_checknagios':
-#      command    => template($ng_checknagios_erb),
-#      path       => ['/usr/bin','/usr/sbin'],
-#      cwd        => $ng_user_home,
-#      creates    => "${ng_user_home}/my-checknagios.pp",
-#      notify     => Exec['semodule_checknagios'],
-#    }
-
-#    exec { 'semodule_checknagios':
-#      command    => 'semodule -i my-checknagios.pp',
-#      path       => ['/usr/bin','/usr/sbin'],
-#      cwd        => $ng_user_home,
-#      require    => Exec['create_policy_checknagios'],
-#      refreshonly => true,
-#      notify     => Service[$ng_service],
-#    }
-
-    # sealert status.dat
-
-    exec { 'create_policy_statusdat':
-      command => template($ng_statdat_erb),
-      path    => ['/usr/bin','/usr/sbin'],
-      user    => $ng_user,
-      cwd     => $ng_user_home,
-      creates => "${ng_user_home}/my-http.pp",
-      notify  => Exec['semodule_statusdat'],
-    }
-
-    exec { 'semodule_statusdat':
-      command     => "semodule -i ${ng_user_home}/my-httpd.pp",
-      path        => ['/usr/bin','/usr/sbin'],
-      user        => $ng_user,
-      cwd         => $ng_user_home,
-      require     => Exec['create_policy_statusdat'],
-      refreshonly => true,
-      notify      => Service[$ng_service],
-    }
-
-    # sealert grep
-
-    exec { 'create_policy_grep':
-      command => template($ng_grep_erb),
-      path    => ['/usr/bin','/usr/sbin'],
-      user    => $ng_user,
-      cwd     => $ng_user_home,
-      creates => "${ng_user_home}/my-grep.pp",
-      notify  => Exec['semodule_statusdat'],
-    }
-
-    exec { 'semodule_grep':
-      command     => "semodule -i ${ng_user_home}/my-grep.pp",
-      path        => ['/usr/bin','/usr/sbin'],
-      user        => $ng_user,
-      cwd         => $ng_user_home,
-      require     => Exec['create_policy_grep'],
-      refreshonly => true,
-      notify      => Service[$ng_service],
-    }
-  }
-}
-
-
-
- - - -
- - \ No newline at end of file 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 deleted file mode 100644 index 53160fc..0000000 --- a/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Aaccess_rules.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - - - - Puppet Class: cd_nagios::server::access_rules - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

Puppet Class: cd_nagios::server::access_rules

-
- -
-
Inherits:
-
cd_nagios::params
-
- - -
-
Defined in:
-
- manifests/server/access_rules.pp -
-
-
- -

Summary

- Class manages presence of /etc/nagios/phtpasswd file. - -

Overview

-
-
- -

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

- -
-
- - - -
- -
-

Examples:

- - -
cd_nagios::server::access { 'example':
-  ng_htpasswd_user     => 'example_user',
-  ng_htpasswd_password => 'example_password_encrypted',
-}
- -
- - - -
- - - - - -
-
-
-
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-
-
# File 'manifests/server/access_rules.pp', line 11
-
-class cd_nagios::server::access_rules (
-
-) inherits cd_nagios::params {
-  if $::fqdn == $ng_nagios_server {
-    # manage /etc/nagios/htpasswd file
-
-    concat { $ng_htpasswd_file:
-      ensure   => present,
-      path     => $ng_htpasswd_file,
-      owner    => 'root',
-      group    => 'apache',
-      mode     => '0640',
-      selrange => s0,
-      selrole  => object_r,
-      seltype  => nagios_etc_t,
-      seluser  => system_u,
-      notify   => Service[$ng_service],
-    }
-  }
-}
-
-
-
- - - -
- - \ No newline at end of file diff --git a/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Afiles.html b/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Afiles.html deleted file mode 100644 index 5ad117b..0000000 --- a/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Afiles.html +++ /dev/null @@ -1,306 +0,0 @@ - - - - - - - Puppet Class: cd_nagios::server::files - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

Puppet Class: cd_nagios::server::files

-
- -
-
Inherits:
-
cd_nagios::params
-
- - -
-
Defined in:
-
- manifests/server/files.pp -
-
-
- -

Summary

- Class manages all configuration files required for cd_nagios. - -

Overview

-
-
- -

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

- -
-
- - - -
- - - -
- - - - - -
-
-
-
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-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
-
-
# File 'manifests/server/files.pp', line 6
-
-class cd_nagios::server::files (
-
-) inherits cd_nagios::params {
-  if $::fqdn == $ng_nagios_server {
-    if $ng_use_https == true {
-      if $ng_enable_certbot == true {
-        require cd_nagios::certbot::certs
-      }
-    }
-
-    require cd_nagios::main::dirs
-
-    # manage nagios.cfg
-
-    file { $ng_nagios_cfg_file:
-      ensure   => file,
-      path     => $ng_nagios_cfg_file,
-      owner    => 'root',
-      group    => 'root',
-      mode     => '0644',
-      selrange => s0,
-      selrole  => object_r,
-      seltype  => nagios_etc_t,
-      seluser  => system_u,
-      content  => template($ng_nagios_cfg_erb),
-      notify   => Service[$ng_service],
-    }
-
-    # manage cgi.cfg
-
-    file { $ng_cgi_cfg_file:
-      ensure   => file,
-      path     => $ng_cgi_cfg_file,
-      owner    => 'root',
-      group    => 'root',
-      mode     => '0644',
-      selrange => s0,
-      selrole  => object_r,
-      seltype  => nagios_etc_t,
-      seluser  => system_u,
-      content  => template($ng_cgi_cfg_erb),
-      notify   => Service[$ng_service],
-    }
-
-    ## Apache files
-    # since we use vhost files, we do not want the regular file to appear
-    # after upgrades to avoid conflicts
-
-    file { $ng_nagios_conf:
-      ensure   => absent,
-    }
-
-    file { $ng_forward_conf:
-      ensure   => file,
-      path     => $ng_forward_conf,
-      owner    => 'root',
-      group    => 'root',
-      mode     => '0644',
-      selrange => s0,
-      selrole  => object_r,
-      seltype  => httpd_config_t,
-      seluser  => system_u,
-      content  => template($ng_forward_conf_erb),
-      notify   => Service[$ae_service],
-    }
-
-    if $ng_use_https == true {
-      # create ssl vhost
-
-      file { $ng_ssl_vhost_file:
-        ensure   => file,
-        path     => $ng_ssl_vhost_file,
-        owner    => 'root',
-        group    => 'root',
-        mode     => '0644',
-        selrange => s0,
-        selrole  => object_r,
-        seltype  => httpd_config_t,
-        seluser  => system_u,
-        content  => template($ng_ssl_vhost_erb),
-        notify   => Service[$ae_service],
-      }
-    }
-
-    if $ng_use_https != true {
-      # remove ssl_vhost
-
-      file { $ng_ssl_vhost_file:
-        ensure => absent,
-      }
-    }
-  }
-}
-
-
-
- - - -
- - \ No newline at end of file diff --git a/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Aservice.html b/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Aservice.html deleted file mode 100644 index bd8f707..0000000 --- a/doc/puppet_classes/cd_nagios_3A_3Aserver_3A_3Aservice.html +++ /dev/null @@ -1,506 +0,0 @@ - - - - - - - Puppet Class: cd_nagios::server::service - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

Puppet Class: cd_nagios::server::service

-
- -
-
Inherits:
-
cd_nagios::params
-
- - -
-
Defined in:
-
- manifests/server/service.pp -
-
-
- -

Summary

- Class manages the service(s) for cd_nagios. - -

Overview

-
-
- -

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

- -
-
- - - -
- - - -
- - - - - -
-
-
-
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-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
-
-
# File 'manifests/server/service.pp', line 6
-
-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
-    require cd_nagios::nagios::resources::resource
-
-    service { $ng_service:
-      ensure     => running,
-      hasstatus  => true,
-      hasrestart => true,
-      enable     => true,
-    }
-
-    @@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           => 'localhost',
-      notification_period => '24x7',
-      service_description => 'localhost_nagios_service',
-      target              => $ng_target_service,
-      owner               => $ng_user,
-      group               => $ng_user,
-      mode                => '0640',
-      contacts            => 'ops',
-    }
-
-    @@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 { "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',
-    }
-
-    if $ng_enable_swap_check == true {
-      @@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 { "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 { "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 { "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',
-    }
-
-    resources { ['nagios_host',
-        'nagios_hostgroup',
-        'nagios_hostdependency',
-        'nagios_hostescalation',
-        'nagios_hostextinfo',
-        'nagios_service',
-        'nagios_servicegroup',
-        'nagios_servicedependency',
-        'nagios_serviceescalation',
-        'nagios_serviceextinfo',
-        'nagios_contact',
-        'nagios_contactgroup',
-        'nagios_command',
-      'nagios_timeperiod']:
-        purge  => true,
-    }
-
-    # collect resources and populate /etc/nagios/conf.d/nagios_*.cfg
-    Nagios_host <<||>> { notify  => Service['nagios'] }
-    Nagios_hostgroup <<||>> { notify  => Service['nagios'] }
-    Nagios_hostdependency <<||>> { notify  => Service['nagios'] }
-    Nagios_hostescalation <<||>> { notify  => Service['nagios'] }
-    Nagios_hostextinfo <<||>> { notify  => Service['nagios'] }
-    Nagios_service <<||>> { notify  => Service['nagios'] }
-    Nagios_servicegroup <<||>> { notify  => Service['nagios'] }
-    Nagios_servicedependency <<||>> { notify  => Service['nagios'] }
-    Nagios_serviceescalation <<||>> { notify  => Service['nagios'] }
-    Nagios_serviceextinfo <<||>> { notify  => Service['nagios'] }
-    Nagios_contact <<||>> { notify  => Service['nagios'] }
-    Nagios_contactgroup <<||>> { notify  => Service['nagios'] }
-    Nagios_command <<||>> { notify  => Service['nagios'] }
-    Nagios_timeperiod <<||>> { notify  => Service['nagios'] }
-  }
-}
-
-
-
- - - -
- - \ No newline at end of file diff --git a/doc/puppet_defined_type_list.html b/doc/puppet_defined_type_list.html deleted file mode 100644 index e5a56d4..0000000 --- a/doc/puppet_defined_type_list.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - - - - - - - - Defined Type List - - - - - - 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 deleted file mode 100644 index 317e6ed..0000000 --- a/doc/puppet_defined_types/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_contact.html +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - Defined Type: cd_nagios::nagios::objects::add_contact - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

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)

- -
-
- - - -
- -
-

Examples:

- - -
cd_nagios::nagios::objects::add_contact { 'example_user':
-  ng_contact_name   =>  'example_user',
-  ng_contact_alias  =>  'Example User',
-  ng_contact_groups =>  'admins',
-  ng_contact_email  =>  'example@example.net',
-}
- -
-

Parameters:

-
    - -
  • - - ng_contact_name - - - (Optional[String]) - - - (defaults to: undef) - - - — -
    -

    Specify the contact short name.

    -
    - -
  • - -
  • - - ng_contact_use - - - (String) - - - (defaults to: 'generic-contact') - - - — -
    -

    which contact template to use

    -
    - -
  • - -
  • - - ng_contact_alias - - - (Optional[String]) - - - (defaults to: undef) - - - — -
    -

    Specify the contact alias (long name).

    -
    - -
  • - -
  • - - ng_contact_email - - - (Optional[String]) - - - (defaults to: undef) - - - — -
    -

    Specify the contact email address.

    -
    - -
  • - -
  • - - ng_contact_groups - - - (Optional[String]) - - - (defaults to: undef) - - - — -
    -

    specify the contact group for the contact.

    -
    - -
  • - -
- - - -
- - - - - -
-
-
-
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-
-
# File 'manifests/nagios/objects/add_contact.pp', line 19
-
-define cd_nagios::nagios::objects::add_contact (
-
-  Optional[String] $ng_contact_name    = undef,
-  String $ng_contact_use               = 'generic-contact',
-  Optional[String] $ng_contact_alias   = undef,
-  Optional[String] $ng_contact_email   = undef,
-  Optional[String] $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 deleted file mode 100644 index 7cdd6e9..0000000 --- a/doc/puppet_defined_types/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_contactgroups.html +++ /dev/null @@ -1,208 +0,0 @@ - - - - - - - Defined Type: cd_nagios::nagios::objects::add_contactgroups - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

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)

- -
-
- - - -
-

Parameters:

-
    - -
  • - - ng_contactgroup_name - - - (Optional[String]) - - - (defaults to: undef) - - - — -
    -

    Specify the short name of the contact group.

    -
    - -
  • - -
  • - - ng_contactgroup_alias - - - (Optional[String]) - - - (defaults to: undef) - - - — -
    -

    Specify the alias (long name) of the contact group

    -
    - -
  • - -
  • - - ng_contactgroup_register - - - (String) - - - (defaults to: '1') - - - — -
    -

    Specify whether the contact group should be registered in Nagios.

    -
    - -
  • - -
- - - -
- - - - - -
-
-
-
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-
-
# File 'manifests/nagios/objects/add_contactgroups.pp', line 13
-
-define cd_nagios::nagios::objects::add_contactgroups (
-
-  Optional[String] $ng_contactgroup_name     = undef,
-  Optional[String] $ng_contactgroup_alias    = undef,
-  String $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 deleted file mode 100644 index 508261d..0000000 --- a/doc/puppet_defined_types/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_hostgroups.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - - Defined Type: cd_nagios::nagios::objects::add_hostgroups - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

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 -external Puppet rules. - -

Overview

-
-
- -

cd_nagios::nagios::objects::add_hostgroups.pp Module name: cd_nagios Author: Arne Teuke (arne_teuke@ConfDroid.com)

- -
-
- - - -
- -
-

Examples:

- - -
cd_nagios::nagios::objects::add_hostgroups { 'example_hostgroup':
-  ng_hostgroup_name   =>  'example_hostgroup',
-  ng_hostgroup_alias  =>  'Example Hostgroup',
-}
- -
-

Parameters:

-
    - -
  • - - ng_hostgroup_name - - - (Optional[String]) - - - (defaults to: undef) - - - — -
    -

    Specify the hostgroup short name.

    -
    - -
  • - -
  • - - ng_hostgroup_alias - - - (Optional[String]) - - - (defaults to: undef) - - - — -
    -

    Specify the hostgroup alias (long name).

    -
    - -
  • - -
  • - - ng_hostgroup_register - - - (String) - - - (defaults to: '1') - - - — -
    -

    Whether to register the hostgroup.

    -
    - -
  • - -
- - - -
- - - - - -
-
-
-
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-
-
# File 'manifests/nagios/objects/add_hostgroups.pp', line 15
-
-define cd_nagios::nagios::objects::add_hostgroups (
-
-  Optional[String] $ng_hostgroup_name      = undef,
-  Optional[String] $ng_hostgroup_alias     = undef,
-  String $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 deleted file mode 100644 index 01dff47..0000000 --- a/doc/puppet_defined_types/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_servicegroups.html +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - - Defined Type: cd_nagios::nagios::objects::add_servicegroups - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

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 -external Puppet rules. - -

Overview

-
-
- -

cd_nagios::nagios::objects::add_servicegroups.pp Module name: cd_nagios Author: Arne Teuke (arne_teuke@ConfDroid.com)

- -

License:

- -
-
- - - -
- -
-

Examples:

- - -
cd_nagios::nagios::objects::add_servicegroups { 'example_servicegroup':
-  ng_servicegroup_name   => 'example_servicegroup',
-  ng_servicegroup_alias  => 'Example servicegroup',
-}
- -
-

Parameters:

-
    - -
  • - - ng_servicegroup_name - - - (Optional[String]) - - - (defaults to: undef) - - - — -
    -

    Specify the servicegroup short name

    -
    - -
  • - -
  • - - ng_servicegroup_alias - - - (Optional[String]) - - - (defaults to: undef) - - - — -
    -

    Specify the servicegroup alias (long name).

    -
    - -
  • - -
  • - - ng_servicegroup_register - - - (String) - - - (defaults to: '1') - - - — -
    -

    Whether you want to register the servicegroup

    -
    - -
  • - -
- - - -
- - - - - -
-
-
-
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-
-
# File 'manifests/nagios/objects/add_servicegroups.pp', line 18
-
-define cd_nagios::nagios::objects::add_servicegroups (
-
-  Optional[String] $ng_servicegroup_name      = undef,
-  Optional[String] $ng_servicegroup_alias     = undef,
-  String $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 deleted file mode 100644 index 5838b5b..0000000 --- a/doc/puppet_defined_types/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Aadd_timeperiods.html +++ /dev/null @@ -1,346 +0,0 @@ - - - - - - - Defined Type: cd_nagios::nagios::objects::add_timeperiods - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

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)

- -
-
- - - -
- -
-

Examples:

- - -
cd_nagios::nagios::objects::add_timeperiods { 'example_timeperiod':
-  ng_timeperiod_name   => 'example_timeperiod',
-  ng_timeperiod_alias  => 'Example timeperiod',
-  ng_timep_monday      => '00:00-00:00',
-  ng_timep_tuesday     => '00:00-00:00',
-  ng_timep_wednesday   => '00:00-00:00',
-  ng_timep_thursday    => '00:00-00:00',
-  ng_timep_friday      => '00:00-00:00',
-  ng_timep_saturday    => '00:00-00:00',
-  ng_timep_sunday      => '00:00-00:00',
-}
- -
-

Parameters:

-
    - -
  • - - ng_timep_name - - - (Optional[String]) - - - (defaults to: undef) - - - — -
    -

    Specify the timeperiod short name.

    -
    - -
  • - -
  • - - ng_timep_alias - - - (Optional[String]) - - - (defaults to: undef) - - - — -
    -

    Specify the timeperiod alias (long name)

    -
    - -
  • - -
  • - - ng_timep_monday - - - (String) - - - (defaults to: '00:00-00:00') - - - — -
    -

    Specify the desired hours for Monday

    -
    - -
  • - -
  • - - ng_timep_tuesday - - - (String) - - - (defaults to: '00:00-00:00') - - - — -
    -

    Specify the desired hours for Tuesday

    -
    - -
  • - -
  • - - ng_timep_wednesday - - - (String) - - - (defaults to: '00:00-00:00') - - - — -
    -

    Specify the desired hours for Wednesday.

    -
    - -
  • - -
  • - - ng_timep_thursday - - - (String) - - - (defaults to: '00:00-00:00') - - - — -
    -

    Specify the desired hours for Thursday

    -
    - -
  • - -
  • - - ng_timep_friday - - - (String) - - - (defaults to: '00:00-00:00') - - - — -
    -

    Specify the desired hours for Friday

    -
    - -
  • - -
  • - - ng_timep_saturday - - - (String) - - - (defaults to: '00:00-00:00') - - - — -
    -

    Specify the desired hours for Saturday

    -
    - -
  • - -
  • - - ng_timep_sunday - - - (String) - - - (defaults to: '00:00-00:00') - - - — -
    -

    Specify the desired hours for Sunday.

    -
    - -
  • - -
- - - -
- - - - - -
-
-
-
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-
-
# File 'manifests/nagios/objects/add_timeperiods.pp', line 28
-
-define cd_nagios::nagios::objects::add_timeperiods (
-
-  Optional[String] $ng_timep_name       = undef,
-  Optional[String] $ng_timep_alias      = undef,
-  String $ng_timep_monday               = '00:00-00:00',
-  String $ng_timep_tuesday              = '00:00-00:00',
-  String $ng_timep_wednesday            = '00:00-00:00',
-  String $ng_timep_thursday             = '00:00-00:00',
-  String $ng_timep_friday               = '00:00-00:00',
-  String $ng_timep_saturday             = '00:00-00:00',
-  String $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 deleted file mode 100644 index 2f1a4cb..0000000 --- a/doc/puppet_defined_types/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Atemplates.html +++ /dev/null @@ -1,765 +0,0 @@ - - - - - - - Defined Type: cd_nagios::nagios::objects::templates - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

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) notifications. for the defined service or host.

- -
-
- - - -
-

Parameters:

-
    - -
  • - - ng_template_object - - - (Optional[String]) - - - (defaults to: undef) - - - — -
    -

    the object type for the templates. Valid options are contact, host and service.

    -
    - -
  • - -
  • - - ng_template_object_name - - - (Optional[String]) - - - (defaults to: undef) - - - — -
    -

    populates the name field, i.e. generic-contact, generic-host, generic-service.

    -
    - -
  • - -
  • - - ng_svc_notification_period - - - (String) - - - (defaults to: '24x7') - - - — -
    -

    Period in which to send out notifications for service events, i.e. 24x7.

    -
    - -
  • - -
  • - - ng_host_notification_period - - - (String) - - - (defaults to: '24x7') - - - — -
    -

    Period in which to send out notifications for host events , i.e. 24x7.

    -
    - -
  • - -
  • - - ng_service_notification_options - - - (String) - - - (defaults to: 'w,u,c,r,f,s') - - - — -
    -

    What service events to send out notifications for: w = notify on WARNING service states, u = notify on UNKNOWN service states, c = notify on CRITICAL service states, r = notify on service recoveries (OK states), f = notify when the service starts and stops flapping. n = none (the contact will not receive any type of service notifications).

    -
    - -
  • - -
  • - - ng_host_notification_options - - - (String) - - - (defaults to: 'd,u,r,f,s') - - - — -
    -

    What host events to send out notifications for: d = notify on DOWN host states, u = notify on UNREACHABLE host states, r = notify on host recoveries (UP states), f = notify when the host starts and stops flapping, s = notify when host or service scheduled downtime starts and ends. n = none (the contact will not receive any type of host notifications).

    -
    - -
  • - -
  • - - ng_service_notification_commands - - - (String) - - - (defaults to: 'notify-service-by-email') - - - — -
    -

    Command to use for service event notification. Command must be defined in commands.cfg

    -
    - -
  • - -
  • - - ng_host_notification_commands - - - (String) - - - (defaults to: 'notify-host-by-email') - - - — -
    -

    Command to use for host event notification. Command must be defined in commands.cfg.

    -
    - -
  • - -
  • - - ng_object_register - - - (String) - - - (defaults to: '0') - - - — -
    -

    Whether to register the object to Nagios. Since this is a template definition, we do not want to register those.

    -
    - -
  • - -
  • - - ng_template_object_use - - - (Optional[String]) - - - (defaults to: undef) - - - — -
    -

    Which template to use for a given host or service definition, i.e. generic-host, generic-service etc.

    -
    - -
  • - -
  • - - ng_notifications_enabled - - - (String) - - - (defaults to: '1') - - - — -
    -

    Whether notifications are enabled. Valid options are 0 and 1.

    -
    - -
  • - -
  • - - ng_event_handler_enabled - - - (String) - - - (defaults to: '1') - - - — -
    -

    Whether event handlers are enabled. Valid options are 0 and 1.

    -
    - -
  • - -
  • - - ng_flap_detection_enabled - - - (String) - - - (defaults to: '1') - - - — -
    -

    Whether flap detection is enabled. Valid options are 0 and 1.

    -
    - -
  • - -
  • - - ng_process_perf_data - - - (String) - - - (defaults to: '1') - - - — -
    -

    Whether to process performance data. Valid options are 0 and 1.

    -
    - -
  • - -
  • - - ng_retain_status_information - - - (String) - - - (defaults to: '1') - - - — -
    -

    Whether to retain status information. Valid options are 0 and 1.

    -
    - -
  • - -
  • - - ng_retain_nonstatus_information - - - (String) - - - (defaults to: '1') - - - — -
    -

    Whether to retain non-status information. Valid options are 0 and 1.

    -
    - -
  • - -
  • - - ng_notification_period - - - (String) - - - (defaults to: '24x7') - - - — -
    -

    Which period in to send out

    -
    - -
  • - -
  • - - ng_notification_interval - - - (String) - - - (defaults to: '30') - - - — -
    -

    how often (in minutes) we should resend notifications for the current status.

    -
    - -
  • - -
  • - - ng_check_period - - - (String) - - - (defaults to: '24x7') - - - — -
    -

    Which period in to run checks for the defined object.

    -
    - -
  • - -
  • - - ng_max_check_attempts - - - (String) - - - (defaults to: '10') - - - — -
    -

    how often to check the defined object maximal.

    -
    - -
  • - -
  • - - ng_notification_options - - - (Optional[String]) - - - (defaults to: undef) - - - — -
    -

    see ng_service_notification_options and ng_host_notification_options.

    -
    - -
  • - -
  • - - ng_contact_groups - - - (String) - - - (defaults to: 'admins') - - - — -
    -

    contact groups for the defined object. Specified contact group must exit in contact_groups

    -
    - -
  • - -
  • - - ng_active_checks_enabled - - - (String) - - - (defaults to: '1') - - - — -
    -

    Whether to enable active checks. Valid options are 0 and 1.

    -
    - -
  • - -
  • - - ng_passive_checks_enabled - - - (String) - - - (defaults to: '1') - - - — -
    -

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

    -
    - -
  • - -
  • - - ng_parallelize_check - - - (String) - - - (defaults to: '1') - - - — -
    -

    Whether to parallelize checks Valid options are 0 and 1.

    -
    - -
  • - -
  • - - ng_obsess_over_service - - - (String) - - - (defaults to: '1') - - - — -
    -

    Whether to obsess over the service. Valid options are 0 and 1.

    -
    - -
  • - -
  • - - ng_check_freshness - - - (String) - - - (defaults to: '0') - - - — -
    -

    Whether to check freshness. Valid options are 0 and 1.

    -
    - -
  • - -
  • - - ng_is_volatile - - - (String) - - - (defaults to: '0') - - - — -
    -

    Whether the service is volatile. Valid options are 0 and 1.

    -
    - -
  • - -
  • - - ng_check_interval - - - (String) - - - (defaults to: '5') - - - — -
    -

    How often to check the service under normal conditions.

    -
    - -
  • - -
  • - - ng_retry_interval - - - (String) - - - (defaults to: '1') - - - — -
    -

    Re-check the service every x minutes until a hard state can be determined.

    -
    - -
  • - -
  • - - ng_host_check_command - - - (String) - - - (defaults to: 'check-host-alive') - - - — -
    -

    the check command for host checks

    -
    - -
  • - -
- - - -
- - - - - -
-
-
-
-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
-
-
# File 'manifests/nagios/objects/templates.pp', line 79
-
-define cd_nagios::nagios::objects::templates (
-  Optional[String] $ng_template_object        = undef,
-  Optional[String] $ng_template_object_name   = undef,
-  String $ng_svc_notification_period          = '24x7',
-  String $ng_host_notification_period         = '24x7',
-  String $ng_service_notification_options     = 'w,u,c,r,f,s',
-  String $ng_host_notification_options        = 'd,u,r,f,s',
-  String $ng_service_notification_commands    = 'notify-service-by-email',
-  String $ng_host_notification_commands       = 'notify-host-by-email',
-  String $ng_object_register                  = '0',
-  Optional[String] $ng_template_object_use    = undef,
-  String $ng_notifications_enabled            = '1',
-  String $ng_event_handler_enabled            = '1',
-  String $ng_flap_detection_enabled           = '1',
-  String $ng_process_perf_data                = '1',
-  String $ng_retain_status_information        = '1',
-  String $ng_retain_nonstatus_information     = '1',
-  String $ng_notification_period              = '24x7',
-  String $ng_notification_interval            = '30',
-  String $ng_check_period                     = '24x7',
-  String $ng_check_interval                   = '5',
-  String $ng_retry_interval                   = '1',
-  String $ng_max_check_attempts               = '10',
-  String $ng_host_check_command               = 'check-host-alive',
-  Optional[String] $ng_notification_options   = undef,
-  String $ng_contact_groups                   = 'admins',
-  String $ng_active_checks_enabled            = '1',
-  String $ng_passive_checks_enabled           = '1',
-  String $ng_parallelize_check                = '1',
-  String $ng_obsess_over_service              = '1',
-  String $ng_check_freshness                  = '0',
-  String $ng_is_volatile                    = '0',
-
-) {
-  $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_3Anagios_3A_3Aresources_3A_3Aresource_df.html b/doc/puppet_defined_types/cd_nagios_3A_3Anagios_3A_3Aresources_3A_3Aresource_df.html deleted file mode 100644 index e2aa877..0000000 --- a/doc/puppet_defined_types/cd_nagios_3A_3Anagios_3A_3Aresources_3A_3Aresource_df.html +++ /dev/null @@ -1,227 +0,0 @@ - - - - - - - Defined Type: cd_nagios::nagios::resources::resource_df - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

Defined Type: cd_nagios::nagios::resources::resource_df

-
-
-
Defined in:
-
- manifests/nagios/resources/resource_df.pp -
-
-
- -

Summary

- define manages the resources in/etc/nagios/private/resources.cfg - -

Overview

-
-
- -

cd_nagios::nagios::resources::resource_df.pp Module name: cd_nagios Author: Arne Teuke (arne_teuke@ConfDroid.com)

- -
-
- - - -
-

Parameters:

-
    - -
  • - - ng_user_arg_name - - - (Optional[String]) - - - (defaults to: undef) - - - — -
    -

    the name of user argument i.e. $user1$

    -
    - -
  • - -
  • - - ng_user_arg_value - - - (Optional[String]) - - - (defaults to: undef) - - - — -
    -

    the value of t user argument i.e. $user1$

    -
    - -
  • - -
  • - - ng_user_arg_comment - - - (Optional[String]) - - - (defaults to: undef) - - - — -
    -

    the argument i.e. $user1$

    -
    - -
  • - -
  • - - ng_resource_rule_erb - - - (String) - - - (defaults to: 'cd_nagios/nagios/resource_cfg_rule.erb') - - - — -
    -

    resource rule #

    -
    - -
  • - -
- - - -
- - - - - -
-
-
-
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-
-
# File 'manifests/nagios/resources/resource_df.pp', line 10
-
-define cd_nagios::nagios::resources::resource_df (
-
-  Optional[String] $ng_user_arg_name     = undef,
-  Optional[String] $ng_user_arg_value    = undef,
-  Optional[String] $ng_user_arg_comment  = undef,
-  String $ng_resource_rule_erb           = 'cd_nagios/nagios/resource_cfg_rule.erb',
-
-) {
-  $ng_nagios_server = $cd_nagios::params::ng_nagios_server
-  $ng_resource_file = $cd_nagios::params::ng_resource_file
-
-  if $fqdn == $ng_nagios_server {
-    concat::fragment { "rule_${name}":
-      target  => $ng_resource_file,
-      content => template($ng_resource_rule_erb),
-      order   => '000',
-    }
-  }
-}
-
-
-
- - - -
- - \ 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 deleted file mode 100644 index 1e772f8..0000000 --- a/doc/puppet_defined_types/cd_nagios_3A_3Aserver_3A_3Aaccess.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - - Defined Type: cd_nagios::server::access - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

Defined Type: cd_nagios::server::access

-
-
-
Defined in:
-
- manifests/server/access.pp -
-
-
- -

Summary

- Define manages user- and password rules for accessing nagios. - -

Overview

-
-
- -

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

- -
-
- - - -
-

Parameters:

-
    - -
  • - - ng_htpasswd_user - - - (Optional[String]) - - - (defaults to: undef) - - - — -
    -

    user name for the /etc/nagios/passwd file

    -
    - -
  • - -
  • - - ng_htpasswd_password - - - (Optional[String]) - - - (defaults to: undef) - - - — -
    -

    the encrypted password for the /etc/nagios/passwd file.

    -
    - -
  • - -
- - - -
- - - - - -
-
-
-
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-
-
# File 'manifests/server/access.pp', line 9
-
-define cd_nagios::server::access (
-
-  Optional[String] $ng_htpasswd_user     = undef,
-  Optional[String] $ng_htpasswd_password = undef,
-
-) {
-  $ng_nagios_server = $cd_nagios::params::ng_nagios_server
-  $ng_htpasswd_file = $cd_nagios::params::ng_htpasswd_file
-  $ng_htpasswd_rule = $cd_nagios::params::ng_htpasswd_rule
-  $ng_service       = $cd_nagios::params::ng_service
-
-  if $::fqdn == $ng_nagios_server {
-    # create password rules
-
-    concat::fragment { $name:
-      target  => $ng_htpasswd_file,
-      content => template($ng_htpasswd_rule),
-    }
-  }
-}
-
-
-
- - - -
- - \ No newline at end of file diff --git a/doc/top-level-namespace.html b/doc/top-level-namespace.html deleted file mode 100644 index 5d6b54b..0000000 --- a/doc/top-level-namespace.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - Top Level Namespace - - — Documentation by YARD 0.9.36 - - - - - - - - - - - - - - - - - - - -
- - -

Top Level Namespace - - - -

-
- - - - - - - - - - - -
- - - - - - - - - - -
- - - -
- - \ No newline at end of file diff --git a/manifests/certbot/certs.pp b/manifests/certbot/certs.pp deleted file mode 100644 index 0f154cb..0000000 --- a/manifests/certbot/certs.pp +++ /dev/null @@ -1,48 +0,0 @@ -## cd_nagios::certbot::certs.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) -# @summary Class manages all configuration files required for cd_nagios. -############################################################################## -class cd_nagios::certbot::certs ( - -) inherits cd_nagios::params { - if $::fqdn == $ng_nagios_server { - if $ng_use_https == true { - if $ng_enable_certbot == true { - require cd_certbot - require cd_apache - - if $ng_include_fw == true { - require cd_nagios::firewall::iptables - } - - # create cert - - exec { 'create_cert': - command => template($ng_get_cert_erb), - cwd => '/tmp', - path => ['/bin','/usr/bin'], - provider => 'shell', - unless => template('cd_nagios/certbot/unless_get_cert.erb'), - notify => Service['httpd'], - creates => $ng_certbot_check, - } - - # renew certs - - exec { 'renew_cert': - command => 'certbot renew', - cwd => '/tmp', - path => ['/bin','/usr/bin','/opt/'], - provider => 'shell', - notify => Service['httpd'], - unless => template($ng_unless_renew_erb), - } - } - } - - else { - # do nothing as we are not using https and certbot is not required then - } - } -} diff --git a/manifests/client/target.pp b/manifests/client/target.pp deleted file mode 100644 index 1b4c652..0000000 --- a/manifests/client/target.pp +++ /dev/null @@ -1,124 +0,0 @@ -## cd_nagios::client::target.pp -# Module name: nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) -# @summary CLass manages Nagios targets for cd_nagios. -############################################################################### -class cd_nagios::client::target ( - -) inherits cd_nagios::params { - if $::fqdn != $ng_nagios_server { - if $ng_include_nrpe == true { - require cd_nagios::main::user - require cd_nrpe - - @@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 { "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', - } - - if $ng_enable_swap_check == true { - @@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 { "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 { "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 { "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', - } - } - } -} diff --git a/manifests/firewall/iptables.pp b/manifests/firewall/iptables.pp deleted file mode 100644 index 0a3523a..0000000 --- a/manifests/firewall/iptables.pp +++ /dev/null @@ -1,21 +0,0 @@ -## cd_nagios::firewall::iptables.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) -# @summary manage firewall settings through cd_firewall or puppetlabs-firewall -############################################################################### -class cd_nagios::firewall::iptables ( - -) inherits cd_nagios::params { - if $::fqdn == $ng_nagios_server { - if $ng_use_https != true { - include confdroid_infrastructure::firewall::http - - if $ng_use_https == true { - include confdroid_infrastructure::firewall::https - if $ng_http_https_fw == true { - include confdroid_infrastructure::firewall::http - } - } - } - } -} diff --git a/manifests/init.pp b/manifests/init.pp index 4bee4be..42c33e4 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -1,8 +1,8 @@ -## cd_nagios::init.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@confdroid.com) -# @summary Class initializes the cd_nagios Module. +## confdroid_nagios::init.pp +# Module name: confdroid_nagios +# Author: 12ww1160 (12ww1160@confdroid.com) +# @summary Class initializes the confdroid_nagios Module. ############################################################################## -class cd_nagios { - include cd_nagios::params +class confdroid_nagios { + include confdroid_nagios::params } diff --git a/manifests/main/config.pp b/manifests/main/config.pp deleted file mode 100644 index 8035eac..0000000 --- a/manifests/main/config.pp +++ /dev/null @@ -1,32 +0,0 @@ -## cd_nagios::main::config.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) -# @summary Class manages all aspects of configuring the module logic for -# cd_nagios. -############################################################################## -class cd_nagios::main::config ( - -) inherits cd_nagios::params { - # manage server configuration - - if $::fqdn == $ng_nagios_server { - include cd_nagios::server::service - - if $ng_include_fw == true { - include cd_nagios::firewall::iptables - } - - if $ng_use_selinux_tools == true { - include cd_nagios::selinux::config - } - - if $ng_enable_certbot == true { - require cd_nagios::certbot::certs - } - } - - if $::fqdn != $ng_nagios_server { - include cd_nagios::client::target - } - -} diff --git a/manifests/main/dirs.pp b/manifests/main/dirs.pp deleted file mode 100644 index 2d7e980..0000000 --- a/manifests/main/dirs.pp +++ /dev/null @@ -1,208 +0,0 @@ -## cd_nagios::main::dirs.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) -# @summary Class manages all directories required for cd_nagios. -############################################################################### -class cd_nagios::main::dirs ( - -) inherits cd_nagios::params { - require cd_nagios::main::user - - # main directory - - file { $ng_main_dir: - ensure => directory, - path => $ng_main_dir, - owner => 'root', - group => 'root', - mode => '0755', - selrange => s0, - selrole => object_r, - seltype => nagios_etc_t, - seluser => system_u, - } - - # /usr/lib64/nagios dir required for plugins - - file { $ng_lib_dir: - ensure => directory, - path => $ng_lib_dir, - owner => 'root', - group => 'root', - mode => '0755', - selrange => s0, - selrole => object_r, - seltype => lib_t, - seluser => system_u, - } - - # /var/spool/nagios - - file { $ng_spool_dir: - ensure => directory, - path => $ng_spool_dir, - owner => $ng_user, - group => $ng_user, - mode => '0755', - selrange => s0, - selrole => object_r, - seltype => nagios_spool_t, - seluser => system_u, - } - - if $::fqdn == $ng_nagios_server { - # /etc/nagios/conf.d - - file { $ng_conf_d_dir: - ensure => directory, - path => $ng_conf_d_dir, - owner => 'root', - group => $ng_user, - mode => '0750', - selrange => s0, - selrole => object_r, - seltype => nagios_etc_t, - seluser => system_u, - } - - # /etc/nagios/objects - - file { $ng_objects_dir: - ensure => directory, - path => $ng_objects_dir, - owner => 'root', - group => $ng_user, - mode => '0750', - selrange => s0, - selrole => object_r, - seltype => nagios_etc_t, - seluser => system_u, - } - - # /etc/nagios/private - - file { $ng_private_dir: - ensure => directory, - path => $ng_private_dir, - owner => 'root', - group => $ng_user, - mode => '0750', - selrange => s0, - selrole => object_r, - seltype => nagios_etc_t, - seluser => system_u, - } - - # include dir - - file { $ng_usr_incl: - ensure => directory, - path => $ng_usr_incl, - owner => 'root', - group => 'root', - mode => '0755', - selrange => s0, - selrole => object_r, - seltype => usr_t, - seluser => system_u, - } - - # log dir - - file { $ng_log_dir: - ensure => directory, - path => $ng_log_dir, - owner => $ng_user, - group => $ng_user, - mode => '0750', - selrange => s0, - selrole => object_r, - seltype => nagios_log_t, - seluser => system_u, - } - - # log archives - - file { $ng_log_archives: - ensure => directory, - path => $ng_log_archives, - owner => $ng_user, - group => $ng_user, - mode => '0750', - selrange => s0, - selrole => object_r, - seltype => nagios_log_t, - seluser => system_u, - } - - # /usr/share/nagios - - file { $ng_usr_share: - ensure => directory, - path => $ng_usr_share, - owner => 'root', - group => 'root', - mode => '0755', - selrange => s0, - selrole => object_r, - seltype => usr_t, - seluser => system_u, - } - - # /usr/share/nagios/html - - file { $ng_share_html: - ensure => directory, - path => $ng_share_html, - owner => 'root', - group => 'root', - mode => '0755', - selrange => s0, - selrole => object_r, - seltype => usr_t, - seluser => system_u, - } - - # run dir for pid file - - file { $ng_run_dir: - ensure => directory, - path => $ng_run_dir, - owner => 'nagios', - group => 'nagios', - mode => '0750', - selrange => s0, - selrole => object_r, - seltype => nagios_var_run_t, - seluser => system_u, - } - - # cmd dir - - file { $ng_cmd_dir: - ensure => directory, - path => $ng_cmd_dir, - owner => 'nagios', - group => 'nagios', - mode => '0775', - selrange => s0, - selrole => object_r, - seltype => nagios_spool_t, - seluser => system_u, - } - - # checkresults dir - - file { $ng_checkresults_dir: - ensure => directory, - path => $ng_checkresults_dir, - owner => 'nagios', - group => 'nagios', - mode => '0770', - selrange => s0, - selrole => object_r, - seltype => nagios_spool_t, - seluser => system_u, - } - } -} diff --git a/manifests/main/install.pp b/manifests/main/install.pp deleted file mode 100644 index ba9ce76..0000000 --- a/manifests/main/install.pp +++ /dev/null @@ -1,42 +0,0 @@ -## cd_nagios::main::install.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) -# @summary Class manage all aspects of installing binaries required for -# cd_nagios -############################################################################### -class cd_nagios::main::install ( - -) inherits cd_nagios::params { - - require cd_resources - - # if our FQDN matches the configured Nagios server FQDN, install both server- - # and client packages. - - if $::fqdn == $ng_nagios_server { - - # we'll need httpd installed - require cd_apache - - package {$reqpackages_server: - ensure => $pkg_ensure, - } - package {$reqpackages_client: - ensure => $pkg_ensure, - } - } - - # if we are not the nagios server, install client packages - - if $::fqdn != $ng_nagios_server { - package {$reqpackages_client: - ensure => $pkg_ensure, - } - - # if we want to use NRPE, install it - - if $ng_include_nrpe == true { - require cd_nrpe - } - } -} diff --git a/manifests/main/user.pp b/manifests/main/user.pp deleted file mode 100644 index 19015b9..0000000 --- a/manifests/main/user.pp +++ /dev/null @@ -1,31 +0,0 @@ -## cd_nagios::main::user.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) -# @summary Class manages service users for cd_nagios. -############################################################################# -class cd_nagios::main::user ( - -) inherits cd_nagios::params { - require cd_nagios::main::install - - 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], - } -} diff --git a/manifests/nagios/objects/add_contact.pp b/manifests/nagios/objects/add_contact.pp deleted file mode 100644 index 62ab66e..0000000 --- a/manifests/nagios/objects/add_contact.pp +++ /dev/null @@ -1,38 +0,0 @@ -## cd_nagios::nagios::objects::add_contact.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) -# @summary Define manages additional contacts known to NAGIOS through external -# Puppet rules, and populates /etc/nagios/conf.d/nagios_add_contact.cfg. -# @example -# cd_nagios::nagios::objects::add_contact { 'example_user': -# ng_contact_name => 'example_user', -# ng_contact_alias => 'Example User', -# ng_contact_groups => 'admins', -# ng_contact_email => 'example@example.net', -# } -# @param [string] ng_contact_name Specify the contact short name. -# @param [string] ng_contact_use which contact template to use -# @param [string] ng_contact_alias Specify the contact alias (long name). -# @param [string] ng_contact_email Specify the contact email address. -# @param [string] ng_contact_groups specify the contact group for the contact. -################################################################################ -define cd_nagios::nagios::objects::add_contact ( - - Optional[String] $ng_contact_name = undef, - String $ng_contact_use = 'generic-contact', - Optional[String] $ng_contact_alias = undef, - Optional[String] $ng_contact_email = undef, - Optional[String] $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), - } - } -} diff --git a/manifests/nagios/objects/add_contact_rules.pp b/manifests/nagios/objects/add_contact_rules.pp deleted file mode 100644 index e0c9d40..0000000 --- a/manifests/nagios/objects/add_contact_rules.pp +++ /dev/null @@ -1,40 +0,0 @@ -## cd_nagios::nagios::objects::add_contact_rules.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) -# @summary Class manages /etc/nagios/conf.d/nagios_add_contact.cfg through -# concat. -# @example cd_nagios::nagios::objects::add_contact { 'example_user': -# ng_contact_name => 'example_user', -# ng_contact_alias => 'Example User', -# ng_contact_groups => 'admins', -# ng_contact_email => 'example@example.net', -# } -################################################################################ -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', - } - } -} diff --git a/manifests/nagios/objects/add_contactgroups.pp b/manifests/nagios/objects/add_contactgroups.pp deleted file mode 100644 index 6f6dc2e..0000000 --- a/manifests/nagios/objects/add_contactgroups.pp +++ /dev/null @@ -1,30 +0,0 @@ -## cd_nagios::nagios::objects::add_contactgroups.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) -# @summary Define populates /etc/nagios/conf.d/nagios_add_contactgroups through -# external puppet rules. -# @param [string] ng_contactgroup_name Specify the short name of the -# contact group. -# @param [string] ng_contactgroup_alias Specify the alias (long name) of the -# contact group -# @param [string] ng_contactgroup_register Specify whether the contact group -# should be registered in Nagios. -################################################################################ -define cd_nagios::nagios::objects::add_contactgroups ( - - Optional[String] $ng_contactgroup_name = undef, - Optional[String] $ng_contactgroup_alias = undef, - String $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), - } - } -} diff --git a/manifests/nagios/objects/add_contactgroups_rules.pp b/manifests/nagios/objects/add_contactgroups_rules.pp deleted file mode 100644 index dcbb2f4..0000000 --- a/manifests/nagios/objects/add_contactgroups_rules.pp +++ /dev/null @@ -1,40 +0,0 @@ -## cd_nagios::nagios::objects::add_contactgroups_rules.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) -# @summary Class manages /etc/nagios/conf.d/nagios_add_contactgroups.cfg file -# and populates through define and external puppet rules -# @example -# cd_nagios::nagios::objects::add_contactgroups { 'example_group': -# ng_contactgroup_name => 'example_group', -# ng_contactgroup_alias => 'Example Group', -# ng_contactgroup_register => '1', -# } -################################################################################ -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', - } - } -} diff --git a/manifests/nagios/objects/add_hostgroup_rules.pp b/manifests/nagios/objects/add_hostgroup_rules.pp deleted file mode 100644 index 6cf5261..0000000 --- a/manifests/nagios/objects/add_hostgroup_rules.pp +++ /dev/null @@ -1,39 +0,0 @@ -## cd_nagios::nagios::objects::add_hostgroup_rules.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) -# @summary Class manages /etc/nagios_conf.d/nagios_hostgroups_add.cfg and -# additional hostgroups through external Puppet rules via define. -# @example -# cd_nagios::nagios::objects::add_hostgroups { 'example_hostgroup': -# ng_hostgroup_name => 'example_hostgroup', -# ng_hostgroup_alias => 'Example Hostgroup', -# } -################################################################################ -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', - } - } -} diff --git a/manifests/nagios/objects/add_hostgroups.pp b/manifests/nagios/objects/add_hostgroups.pp deleted file mode 100644 index 0f9dec1..0000000 --- a/manifests/nagios/objects/add_hostgroups.pp +++ /dev/null @@ -1,32 +0,0 @@ -## cd_nagios::nagios::objects::add_hostgroups.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) -# @summary define populates /etc/nagios/conf.d/nagios_hostgroups_add through -# external Puppet rules. -# @example -# cd_nagios::nagios::objects::add_hostgroups { 'example_hostgroup': -# ng_hostgroup_name => 'example_hostgroup', -# ng_hostgroup_alias => 'Example Hostgroup', -# } -# @param [string] ng_hostgroup_name Specify the hostgroup short name. -# @param [string] ng_hostgroup_alias Specify the hostgroup alias (long name). -# @param [string] ng_hostgroup_register Whether to register the hostgroup. -############################################################################### -define cd_nagios::nagios::objects::add_hostgroups ( - - Optional[String] $ng_hostgroup_name = undef, - Optional[String] $ng_hostgroup_alias = undef, - String $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), - } - } -} diff --git a/manifests/nagios/objects/add_servicegroup_rules.pp b/manifests/nagios/objects/add_servicegroup_rules.pp deleted file mode 100644 index 35e5c47..0000000 --- a/manifests/nagios/objects/add_servicegroup_rules.pp +++ /dev/null @@ -1,39 +0,0 @@ -## cd_nagios::nagios::objects::add_servicegroup_rules.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) -# @summary Class manages /etc/nagios_conf.d/nagios_servicegroups_add.cfg and -# additional servicegroups through external Puppet rules via define. -# @example -# cd_nagios::nagios::objects::add_servicegroups { 'example_servicegroup': -# ng_servicegroup_name => 'example_servicegroup', -# ng_servicegroup_alias => 'Example Servicegroup', -# } -################################################################################ -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', - } - } -} diff --git a/manifests/nagios/objects/add_servicegroups.pp b/manifests/nagios/objects/add_servicegroups.pp deleted file mode 100644 index db802c7..0000000 --- a/manifests/nagios/objects/add_servicegroups.pp +++ /dev/null @@ -1,35 +0,0 @@ -## cd_nagios::nagios::objects::add_servicegroups.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) -# # License: -# @summary define populates /etc/nagios/conf.d/nagios_servicegroups_add through -# external Puppet rules. -# @example -# cd_nagios::nagios::objects::add_servicegroups { 'example_servicegroup': -# ng_servicegroup_name => 'example_servicegroup', -# ng_servicegroup_alias => 'Example servicegroup', -# } -# @param [string] ng_servicegroup_name Specify the servicegroup short name -# @param [string] ng_servicegroup_alias Specify the servicegroup alias -# (long name). -# @param [string] ng_servicegroup_register Whether you want to register the -# servicegroup -############################################################################### -define cd_nagios::nagios::objects::add_servicegroups ( - - Optional[String] $ng_servicegroup_name = undef, - Optional[String] $ng_servicegroup_alias = undef, - String $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), - } - } -} diff --git a/manifests/nagios/objects/add_timeperiod_rules.pp b/manifests/nagios/objects/add_timeperiod_rules.pp deleted file mode 100644 index a2ad2d1..0000000 --- a/manifests/nagios/objects/add_timeperiod_rules.pp +++ /dev/null @@ -1,45 +0,0 @@ -# cd_nagios::nagios::objects::add_timeperiod_rules.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) -# @summary Class manages /etc/nagios_conf.d/nagios_timeperiods_add.cfg and -# add. hostgroups through external Puppet rules via define. -# @example cd_nagios::nagios::objects::add_timeperiods { 'example_timeperiod': -# ng_timep_name => 'example_timeperiod', -# ng_timep_alias => 'Example timeperiod', -# ng_timep_monday => '00:00-00:00', -# ng_timep_tuesday => '00:00-00:00', -# ng_timep_wednesday => '00:00-00:00', -# ng_timep_thursday => '00:00-00:00', -# ng_timep_friday => '00:00-00:00', -# ng_timep_saturday => '00:00-00:00', -# ng_timep_sunday => '00:00-00:00', -# } -################################################################################ -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', - } - } -} diff --git a/manifests/nagios/objects/add_timeperiods.pp b/manifests/nagios/objects/add_timeperiods.pp deleted file mode 100644 index ba67ff4..0000000 --- a/manifests/nagios/objects/add_timeperiods.pp +++ /dev/null @@ -1,51 +0,0 @@ -## cd_nagios::nagios::objects::add_timeperiods.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) -# @summary define populates /etc/nagios/conf.d/nagios_timeperiods_add through -# extermal Puppet rules. -# @example -# cd_nagios::nagios::objects::add_timeperiods { 'example_timeperiod': -# ng_timeperiod_name => 'example_timeperiod', -# ng_timeperiod_alias => 'Example timeperiod', -# ng_timep_monday => '00:00-00:00', -# ng_timep_tuesday => '00:00-00:00', -# ng_timep_wednesday => '00:00-00:00', -# ng_timep_thursday => '00:00-00:00', -# ng_timep_friday => '00:00-00:00', -# ng_timep_saturday => '00:00-00:00', -# ng_timep_sunday => '00:00-00:00', -# } -# @param [string] ng_timep_name Specify the timeperiod short name. -# @param [string] ng_timep_alias Specify the timeperiod alias (long name) -# @param [string] ng_timep_monday Specify the desired hours for Monday -# @param [string] ng_timep_tuesday Specify the desired hours for Tuesday -# @param [string] ng_timep_wednesday Specify the desired hours for Wednesday. -# @param [string] ng_timep_thursday Specify the desired hours for Thursday -# @param [string] ng_timep_friday Specify the desired hours for Friday -# @param [string] ng_timep_saturday Specify the desired hours for Saturday -# @param [string] ng_timep_sunday Specify the desired hours for Sunday. -############################################################################### -define cd_nagios::nagios::objects::add_timeperiods ( - - Optional[String] $ng_timep_name = undef, - Optional[String] $ng_timep_alias = undef, - String $ng_timep_monday = '00:00-00:00', - String $ng_timep_tuesday = '00:00-00:00', - String $ng_timep_wednesday = '00:00-00:00', - String $ng_timep_thursday = '00:00-00:00', - String $ng_timep_friday = '00:00-00:00', - String $ng_timep_saturday = '00:00-00:00', - String $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), - } - } -} diff --git a/manifests/nagios/objects/commands.pp b/manifests/nagios/objects/commands.pp deleted file mode 100644 index 5e420b9..0000000 --- a/manifests/nagios/objects/commands.pp +++ /dev/null @@ -1,222 +0,0 @@ -## cd_nagios::nagios::objects::commands.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) - -# @summary Class manages all commands known to NAGIOS through Puppet exports, -# and populates /etc/nagios/conf.d/nagios_commands.cfg. -################################################################################ -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 { '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, - } - } -} diff --git a/manifests/nagios/objects/config.pp b/manifests/nagios/objects/config.pp deleted file mode 100644 index a7ff053..0000000 --- a/manifests/nagios/objects/config.pp +++ /dev/null @@ -1,24 +0,0 @@ -## cd_nagios::server::nagios::objects::config.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) -# @summary Class manages the nagios objects definitions. -############################################################################# -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 - - } -} diff --git a/manifests/nagios/objects/contactgroups.pp b/manifests/nagios/objects/contactgroups.pp deleted file mode 100644 index c11080d..0000000 --- a/manifests/nagios/objects/contactgroups.pp +++ /dev/null @@ -1,54 +0,0 @@ -## cd_nagios::nagios::objects::contactgroups.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) -# @summary Class manages base contactgroups which always should be there. -# @example -# @@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, -# } -################################################################################ -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, - } - } -} diff --git a/manifests/nagios/objects/contacts.pp b/manifests/nagios/objects/contacts.pp deleted file mode 100644 index 0f72f22..0000000 --- a/manifests/nagios/objects/contacts.pp +++ /dev/null @@ -1,80 +0,0 @@ -## cd_nagios::nagios::objects::contacts.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) -# @summary Class manages basic contacts known to NAGIOS through Puppet exports, -# and populates /etc/nagios/conf.d/nagios_base_contacts.cfg. -# @example -# @@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 => 'root', -# group => 'nagios', -# mode => '0664', -# } -################################################################################ -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', - } - } -} diff --git a/manifests/nagios/objects/hostgroups.pp b/manifests/nagios/objects/hostgroups.pp deleted file mode 100644 index f8cb983..0000000 --- a/manifests/nagios/objects/hostgroups.pp +++ /dev/null @@ -1,208 +0,0 @@ -## cd_nagios::nagios::objects::hostgroups.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) -# @summary Class manages basic hostgroups known to NAGIOS through Puppet -# exports, and populates /etc/nagios/conf.d/nagios_base_hostgroups.cfg. -################################################################################ -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, - } - - } -} diff --git a/manifests/nagios/objects/servicegroups.pp b/manifests/nagios/objects/servicegroups.pp deleted file mode 100644 index 615f586..0000000 --- a/manifests/nagios/objects/servicegroups.pp +++ /dev/null @@ -1,50 +0,0 @@ -## cd_nagios::nagios::objects::servicegroups.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) -# @summary Class manages basic hostgroups known to NAGIOS through Puppet -# exports, and populates /etc/nagios/conf.d/nagios_base_hostgroups.cfg. -################################################################################ -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, - } - } -} diff --git a/manifests/nagios/objects/template_rules.pp b/manifests/nagios/objects/template_rules.pp deleted file mode 100644 index a6df472..0000000 --- a/manifests/nagios/objects/template_rules.pp +++ /dev/null @@ -1,82 +0,0 @@ -## cd_nagios::nagios::objects::template_rules.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) -# @summary Class manages /etc/nagios/conf.d/nagios_templates.cfg through -# concat. -# @example cd_nagios::nagios::objects::templates { 'generic contact': -# ng_template_object => 'contact', -# ng_template_object_name => 'generic-contact', -# } -################################################################################ -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', - } - } -} diff --git a/manifests/nagios/objects/templates.pp b/manifests/nagios/objects/templates.pp deleted file mode 100644 index 2ab9d77..0000000 --- a/manifests/nagios/objects/templates.pp +++ /dev/null @@ -1,123 +0,0 @@ -## cd_nagios::nagios::objects::templates.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) -# @summary Define manages populates /etc/nagios/conf.d/templates.cfg. -# @param [String] ng_template_object the object type for the templates. -# Valid options are `contact`, `host` and `service`. -# @param [String] ng_template_object_name populates the name field, -# i.e. `generic-contact`, `generic-host`, `generic-service`. -# @param [String] ng_svc_notification_period Period in which to send out -# notifications for service events, i.e. `24x7`. -# @param [String] ng_host_notification_period Period in which to send out -# notifications for host events , i.e. `24x7`. -# @param [String] ng_service_notification_options What service events to send -# out notifications for: -# w = notify on WARNING service states, -# u = notify on UNKNOWN service states, -# c = notify on CRITICAL service states, -# r = notify on service recoveries (OK states), -# f = notify when the service starts and stops flapping. -# n = none (the contact will not receive any type of service notifications). -# @param [String] ng_host_notification_options What host events to send -# out notifications for: -# d = notify on DOWN host states, -# u = notify on UNREACHABLE host states, -# r = notify on host recoveries (UP states), -# f = notify when the host starts and stops flapping, -# s = notify when host or service scheduled downtime starts and ends. -# n = none (the contact will not receive any type of host notifications). -# @param [String] ng_service_notification_commands Command to use for -# service event notification. Command must be defined in commands.cfg -# @param [String] ng_host_notification_commands Command to use for -# host event notification. Command must be defined in commands.cfg. -# @param [String] ng_object_register Whether to register the object to Nagios. -# Since this is a template definition, we do not want to register those. -# @param [String] ng_template_object_use Which template to use for a given -# host or service definition, i.e. `generic-host`, `generic-service` etc. -# @param [String] ng_notifications_enabled Whether notifications are enabled. -# Valid options are `0` and `1`. -# @param [String] ng_event_handler_enabled Whether event handlers are enabled. -# Valid options are `0` and `1`. -# @param [String] ng_flap_detection_enabled Whether flap detection is enabled. -# Valid options are `0` and `1`. -# @param [String] ng_process_perf_data Whether to process performance data. -# Valid options are `0` and `1`. -# @param [String] ng_retain_status_information Whether to retain status -# information. Valid options are `0` and `1`. -# @param [String] ng_retain_nonstatus_information Whether to retain non-status -# information. Valid options are `0` and `1`. -# @param [String] ng_notification_period Which period in to send out -# notifications. for the defined service or host. -# @param [String] ng_notification_interval how often (in minutes) we should -# resend notifications for the current status. -# @param [String] ng_check_period Which period in to run checks for the defined -# object. -# @param [String] ng_max_check_attempts how often to check the defined object -# maximal. -# @param [String] ng_notification_options see `ng_service_notification_options` -# and `ng_host_notification_options`. -# @param [String] ng_contact_groups contact groups for the defined object. -# Specified contact group must exit in contact_groups -# @param [String] ng_active_checks_enabled Whether to enable active checks. -# Valid options are `0` and `1`. -# @param [String] ng_passive_checks_enabled Whether to enable passive checks. -# Valid options are `0` and `1`. -# @param [String] ng_parallelize_check Whether to parallelize checks -# Valid options are `0` and `1`. -# @param [String] ng_obsess_over_service Whether to obsess over the service. -# Valid options are `0` and `1`. -# @param [String] ng_check_freshness Whether to check freshness. -# Valid options are `0` and `1`. -# @param [String] ng_is_volatile Whether the service is volatile. -# Valid options are `0` and `1`. -# @param [String] ng_check_interval How often to check the service -# under normal conditions. -# @param [String] ng_retry_interval Re-check the service every x minutes -# until a hard state can be determined. -# @param [String] ng_host_check_command the check command for host checks -################################################################################ -define cd_nagios::nagios::objects::templates ( - Optional[String] $ng_template_object = undef, - Optional[String] $ng_template_object_name = undef, - String $ng_svc_notification_period = '24x7', - String $ng_host_notification_period = '24x7', - String $ng_service_notification_options = 'w,u,c,r,f,s', - String $ng_host_notification_options = 'd,u,r,f,s', - String $ng_service_notification_commands = 'notify-service-by-email', - String $ng_host_notification_commands = 'notify-host-by-email', - String $ng_object_register = '0', - Optional[String] $ng_template_object_use = undef, - String $ng_notifications_enabled = '1', - String $ng_event_handler_enabled = '1', - String $ng_flap_detection_enabled = '1', - String $ng_process_perf_data = '1', - String $ng_retain_status_information = '1', - String $ng_retain_nonstatus_information = '1', - String $ng_notification_period = '24x7', - String $ng_notification_interval = '30', - String $ng_check_period = '24x7', - String $ng_check_interval = '5', - String $ng_retry_interval = '1', - String $ng_max_check_attempts = '10', - String $ng_host_check_command = 'check-host-alive', - Optional[String] $ng_notification_options = undef, - String $ng_contact_groups = 'admins', - String $ng_active_checks_enabled = '1', - String $ng_passive_checks_enabled = '1', - String $ng_parallelize_check = '1', - String $ng_obsess_over_service = '1', - String $ng_check_freshness = '0', - String $ng_is_volatile = '0', - -) { - $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), - } - } -} diff --git a/manifests/nagios/objects/timeperiods.pp b/manifests/nagios/objects/timeperiods.pp deleted file mode 100644 index bb63bfc..0000000 --- a/manifests/nagios/objects/timeperiods.pp +++ /dev/null @@ -1,76 +0,0 @@ -# cd_nagios::nagios::objects::timeperiods.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) -# @summary Class manages main timeperiods for NAGIOS through Puppet exports, -# and populates /etc/nagios/conf.d/nagios_timeperiods_base.cfg. -################################################################################ -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, - } - } -} diff --git a/manifests/nagios/resources/resource.pp b/manifests/nagios/resources/resource.pp deleted file mode 100644 index 7e14329..0000000 --- a/manifests/nagios/resources/resource.pp +++ /dev/null @@ -1,65 +0,0 @@ -## cd_nagios::nagios::resources::resource.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 . -# @summary Class manages the resource config file header. -# @example concat::fragment { "user_rule_plugins": -# ng_user_arg_name => "$user1$", -# ng_user_arg_value => '/usr/lib64/nagios/plugins', -# ng_user_arg_comment => "Sets $USER1$ to be the path to the plugins", -# } -############################################################################# -class cd_nagios::nagios::resources::resource ( - -) inherits cd_nagios::params { - if $fqdn == $ng_nagios_server { - concat { $ng_resource_file: - ensure => present, - owner => 'root', - group => $ng_user, - mode => '0640', - selrange => s0, - selrole => object_r, - seltype => nagios_etc_t, - seluser => system_u, - notify => Service[$ng_service], - } - - concat::fragment { 'header': - target => $ng_resource_file, - content => template($ng_resource_erb), - order => '000', - } - - # plugins rule - - cd_nagios::nagios::resources::resource_df { 'user_rule_plugins': - ng_user_arg_name => 'USER1', - ng_user_arg_value => '/usr/lib64/nagios/plugins/', - ng_user_arg_comment => 'Sets user1 to be the path to the plugins', - } - - # eventhandlers rule - cd_nagios::nagios::resources::resource_df { 'user_rule_eventhandlers': - ng_user_arg_name => 'USER2', - ng_user_arg_value => '/usr/lib64/nagios/plugins/eventhandlers/', - ng_user_arg_comment => 'Sets user2 to be the path to the eventhandlers', - } - } -} diff --git a/manifests/nagios/resources/resource_df.pp b/manifests/nagios/resources/resource_df.pp deleted file mode 100644 index 607f4da..0000000 --- a/manifests/nagios/resources/resource_df.pp +++ /dev/null @@ -1,28 +0,0 @@ -## cd_nagios::nagios::resources::resource_df.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) -# @summary define manages the resources in/etc/nagios/private/resources.cfg -# @param [String] ng_user_arg_name the name of user argument i.e. $user1$ -# @param [String] ng_user_arg_value the value of t user argument i.e. $user1$ -# @param [String] ng_user_arg_comment the argument i.e. $user1$ -# @param [String] ng_resource_rule_erb resource rule # -############################################################################# -define cd_nagios::nagios::resources::resource_df ( - - Optional[String] $ng_user_arg_name = undef, - Optional[String] $ng_user_arg_value = undef, - Optional[String] $ng_user_arg_comment = undef, - String $ng_resource_rule_erb = 'cd_nagios/nagios/resource_cfg_rule.erb', - -) { - $ng_nagios_server = $cd_nagios::params::ng_nagios_server - $ng_resource_file = $cd_nagios::params::ng_resource_file - - if $fqdn == $ng_nagios_server { - concat::fragment { "rule_${name}": - target => $ng_resource_file, - content => template($ng_resource_rule_erb), - order => '000', - } - } -} diff --git a/manifests/params.pp b/manifests/params.pp index d4d059e..aa35859 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -1,988 +1,18 @@ -## cd_nagios::params.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) -# @summary Class holds all parameters for the cd_nagios module and is +## confdroid_nagios::params.pp +# Module name: confdroid_nagios +# Author: 12ww1160 (12ww1160@confdroid.com) +# @summary Class holds all parameters for the confdroid_nagios module and is # inherited by all classes except defines. -# @see https://confdroid.com/2017/07/nagios-cgi-cfg/ -# @param [String] pkg_ensure -# which [package type](https://confdroid.com/2017/05/puppet-type-package/) -# to choose, i.e. `latest` or `present`. -# @param [String] ng_nagios_server Specify the FQDN of the nagios server host. -# Must be a proper A-name, no CNAME i.e. on Loadbalancer. When the FQDN -# matches the configured value, Nagios server components will be installed -# and the clients will allow to be connected by that host. Impacts also -# firewall ports (optional). -# @param [String] ng_nagios_ext_ip Specify the IP address of the -# nagios server. Required for NRPE configuration to allow the Nagios server -# to connect to NRPE, which as of now does not trust DNS names. Must be the -# public interface in case of NAT environments. -# @param [Boolean] ng_include_nrpe Whether to include NRPE to allow -# Nagios to connect to clients -# @param [String] ng_ping_warn Default value for ping warning check. Can be -# overridden on host level. -# @param [String] ng_ping_crit Default value for ping critical check. Can be -# overridden on host level. -# @param [Boolean] ng_ping_ensure Whether to include or exclude the check. -# Can be overridden on host level. -# @param [String] ng_disk_warn Default value for disk space warning check. -# Can be overridden on host level. -# @param [String] ng_disk_crit Default value for disk space critical check -# Can be overridden on host level. -# @param [Boolean] ng_disk_ensure Whether to include or exclude the check. -# Can be overridden on host level. -# @param [String] ng_swap_warn Default value for swap space warning check. -# Can be overridden on host level. -# @param [String] ng_swap_crit Default value for swap space critical check. -# Can be overridden on host level. -# @param [Boolean] ng_swap_ensure Whether to include or exclude the check. -# Can be overridden on host level. -# @param [String] ng_users_warn Default value for user logins warning check. -# Can be overridden on host level. -# @param [String] ng_users_crit Default value for user logins critical check -# Can be overridden on host level. -# @param [Boolean] ng_users_ensure Whether to include or exclude the check. -# Can be overridden on host level. -# @param [String] ng_procs_tot_warn Default warning for the total processes -# warning check. Can be overridden on host level. -# @param [String] ng_procs_tot_crit Default warning for the total processes -# critical check. Can be overridden on host level. -# @param [String] ng_procs_tot_param Default value for the process flags to be -# checked. Can be overridden on host level. -# @param [Boolean] ng_procs_tot_ens Whether to include or exclude the check. -# Can be overridden on host level. -# @param [String] ng_procs_z_warn Default value for the zombie processes -# warning check. Can be overridden on host level. -# @param [String] ng_procs_z_crit Default value for the zombie processes -# critical check. Can be overridden on host level. -# @param [String] ng_procs_z_param Default value for the zombie processes flag. -# Can be overridden on host level. -# @param [Boolean] ng_procs_z_ensure Whether to include or exclude the check. -# Can be overridden on host level. -# @param [String] ng_load_warn Default value for the load warning check. -# Can be overridden on host level. -# @param [String] ng_load_crit Default value for the load critical check. -# Can be overridden on host level. -# @param [Boolean] ng_load_ensure Whether to include or exclude the load check. -# Can be overridden on host level. -# @param [Boolean] ng_include_fw Whether to include firewall management. -# requires cd_firewall or puppetlabs-firewall module. -# @param [String] ng_fw_order Prefix for the port number to establish proper -# firewall rule ordering. -# @param [Boolean] ng_use_https Whether to use https. -# @param [Boolean] ng_http_https_fw Whether we want to forward http to https. -# only active if `ng_use_https` is set to `true`. -# @param [String] ng_http_port Specify the port to use for httpd. Used in -# templates and for firewall (Optional) -# @param [String] ng_https_port Specify the port to use for httpd. Used in -# templates and for firewall (Optional) -# @param [String] ng_user The name of the Nagios service user. -# @param [String] ng_user_home The home directory for the Nagios service user -# @param [String] ng_user_shell The shell for the Nagios service user, which -# never should be allowed to login. -# @param [String] ng_u_comment The comment for the Nagios service user for -# /etc/passwd. Shows up in email notifications from the Nagios daemon. -# @param [String] ng_u_uid The UID for the Nagios service user. Important when -# using shared environments like NFS. -# @param [String] ng_u_groups The secondary groups for the Nagios service user. -# Must not contain the primary group. -# @param [String] ng_context_help whether or not a context-sensitive -# help icon will be displayed for most of the CGIs. -# @param [String] ng_pending_state what states should be displayed in the web -# interface for hosts/services that have not yet been checked -# @param [String] ng_use_auth whether or not the CGIs will use any -# authentication when displaying host and service information, as -# well as committing commands to Nagios for processing. This should -# **__not__** be set to 0. -# @param [String] ng_use_ssl_auth allows you to use x509 cert (SSL) -# authentication in the CGIs. This is an advanced option and should -# not be enabled unless you know what you're doing. -# @param [Boolean] ng_enable_def_user Whether to enable a default user -# (**__not recommended__**). -# @param [String] ng_def_user_name default user name that can -# access pages without authentication. This allows people within a -# secure domain (i.e., behind a firewall) to see the current status -# without authenticating. Only active if `ng_enable_def_user` is set to `true` -# @param [String] ng_nagios_admin Specify the name of a nagios administration -# user here. Value will be used in cgi.cfg for all authorized commands and -# info,i.e. nagiosadmin. however, its strongly suggested to use a different -# name. Can be overridden per host / hostgroups to allow flexibility and -# increased security. You can also add a comma-separated list of people in -# here instead, which then would function like a group instead a single user. -# @param [String] ng_sysinfo_auth comma-delimited list of all usernames that -# have access to viewing the Nagios process information as -# provided by the Extended Information CGI (extinfo.cgi). -# @param [String] ng_confinfo_auth comma-delimited list of all usernames that -# can view ALL configuration information (hosts, commands, etc). -# @param [String] ng_command_auth comma-delimited list of all usernames that -# can issue shutdown and restart commands to Nagios via the -# command CGI (cmd.cgi). -# @param [String] ng_hostview_auth comma-delimited lists of all usernames that -# can view information for all hosts -# @param [String] ng_serviceview_auth comma-delimited lists of all usernames -# that can view information for all services. -# @param [String] ng_host_cmd_auth comma-delimited lists of all usernames that -# can issue host related commands. -# @param [String] ng_svc_cmd_auth comma-delimited lists of all usernames that -# can issue service related commands. -# @param [String] ng_readonly_auth comma-delimited list of usernames that have -# read-only rights in the CGIs. -# @param [String] ng_statusmap_img specify an image to be used as a -# background in the statusmap CGI. -# @param [Boolean] ng_use_colormap Whether to set values of background colors. -# @param [String] ng_colormap_red value for the `red` area of the color map. -# @param [String] ng_colormap_green value for the `green` area of the color map -# @param [String] ng_colormap_blue value for the `blue` area of the color map. -# @param [String] ng_statusmap_layout Value for the default statusmap layout. -# @param [String] ng_wrl_layout Value for the default statuswrl layout. -# @param [Boolean] ng_incl_own_wrl Whether to include your own objects in the -# generated VRML world. -# @param [String] ng_statuswrl_include Specify your own wrl object to be -# included in the generated VRML world. Only active if `ng_incl_own_wrl` -# is set to `true`. -# @param [String] ng_ping_syntax what syntax should be used when -# attempting to ping a host from the WAP interface -# @param [String] ng_refresh_rate specify the refresh rate in seconds -# of various CGIs -# @param [String] ng_result_limit specify the default number of results -# displayed on the status.cgi. -# @param [String] ng_escape_html whether HTML tags in host and service -# status output is escaped in the web interface. If enabled, -# your plugin output will not be able to contain clickable links. -# @param [Boolean] ng_use_sound whether to enable sound usage. -# @param [String] ng_host_unreachable sound file for `host unreachable` -# Only active if `ng_use_sound` is set to `true`. -# @param [String] ng_host_down sound file for `host down` -# Only active if `ng_use_sound` is set to `true`. -# @param [String] ng_svc_critical sound file for `service critical`. -# Only active if `ng_use_sound` is set to `true`. -# @param [String] ng_svc_warn sound file for `service warning` -# Only active if `ng_use_sound` is set to `true`. -# @param [String] ng_svc_unknown sound file for `service unknown` -# Only active if `ng_use_sound` is set to `true`. -# @param [String] ng_normal_sound sound file for `normal` -# Only active if `ng_use_sound` is set to `true`. -# @param [String] ng_action_url_target Specify target frames in which -# action URLs will open -# @param [String] ng_notes_url_target Specify target frames in which -# notes URLs will open -# @param [String] ng_lock_author_names whether users can change the author -# name when submitting comments, scheduling downtime. -# @param [Boolean] ng_enable_splunk Whether to enable splunk integration. -# @param [String] ng_splunk_url the URL for your Splunk URL -# @param [String] ng_navbar_addresses allow navbar search queries IP addresses -# @param [String] ng_navbar_aliases allow navbar search for aliases -# @param [String] ng_ack_no_sticky Enabling ack_no_sticky will default the -# "Sticky Acknowledgement" to be unchecked. -# @param [String] ng_ack_no_send Enabling ack_no_send will default the -# "Send Notification" to be unchecked. -# @param [Boolean] ng_use_selinux_tools Whether to enable selinux tools and -# policies. only effective if selinux is enabled. -# @param [String] ng_required_hosts String of **__FQDNs__** for hosts which -# should be allowed/required. Requires format -# 'host1.example.com host2.example.com'. If you want no restriction, chose -# 'all'. -# @param [String] ng_required_ips String of **__Ip addresses __** for hosts -# which should be allowed/required. Requires format 'ipaddress ip address -# range'. If you want no restriction, choose '0.0.0.0/0'. -# @param [Boolean] ng_enable_certbot Whether to use certbot for automated TLS -# certificate management -# @param [String] ng_certbot_webroot the path for certbot to place -# challenges for the certification process. -# @param [String] ng_mail_user email address to receive administrative mail. -# used for nagios itself as well as for certbot. Mail environment must be -# configured separately, i.e. through `cd_postfix`. -# @param [String] ng_page_user pager address to be used by Nagios for -# notifications. Paging environment must be configured separately. -# @param [Boolean] ng_enable_index Whether to create an index file to allow -# httpd checks with nagios on the nagios server. -# @param [String] ng_webserver_name the name of the web server nagios should -# listen to, i.e. 'nagios.example.net'. Unlike `ng_nagios_server`, this -# should not be the FQDN of the nagios host, but a web server domain name. -# required for certbot and used in the web templates. -# @param [String] ng_log_file main log file where service- and host events -# are logged. -# @param [String] ng_max_check_attempts maximum amount of checks done by nagios -# @param [String] ng_object_cache_file determines where object definitions are -# cached when # Nagios starts/restarts. -# @param [String] ng_precached_obj_file determines the location of the -# precached object file. -# @param [String] ng_resource_file resource file that contains $USERx$ macro -# definitions. -# @param [String] ng_status_file where the current status of all monitored -# services and hosts is stored. -# @param [String] ng_status_upd_interval status file update interval. -# determines the frequency (in seconds) that # Nagios will periodically dump -# program, host, and # service status data. -# @param [String] ng_check_ext_commands allows you to specify whether or not -# Nagios should check # for external commands in the command file specified -# by `ng_command_file`. -# @param [String] ng_command_file file that Nagios checks for external command -# requests. It is also where the command CGI will write commands that are -# submitted # by users, so it must be writeable by the user that the web -# server is running as. -# @param [Boolean] ng_enable_query_handler Whether to enable the query handler -# for running nagios in cluster mode. -# @param [String] ng_query_socket the socket for the query handler -# @param [String] ng_lock_file lockfile that Nagios will use to store its PID -# number in when it is running in daemon mode. -# @param [String] ng_temp_file temporary file that is used as scratch space -# when Nagios # updates the status log, cleans the comment file, etc. -# @param [String] ng_temp_path path where Nagios can create temp files for -# service and # host check results, etc. -# @param [String] ng_event_broker_options Controls what (if any) data gets sent -# to the event broker. -# @param [String] ng_event_broker_module specify an event broker -# (including full path) module that should # by loaded by Nagios at startup. -# Specify multiple modules as array ['path/to/module1','/path/to/module2'] -# @param [String] ng_log_rotation_method Valid options: -# n = None - don't rotate the log -# h = Hourly rotation (top of the hour) -# d = Daily rotation (midnight every day) -# w = Weekly rotation (midnight on Saturday evening) -# m = Monthly rotation (midnight last day of month) -# @param [String] ng_log_archive_path directory where archived (rotated) -# log files should be # placed (assuming you've chosen to do log rotation). -# @param [String] ng_use_syslog whether to log messages to the syslog -# facility, as well as the Nagios log file. Valid options are `0` and `1`. -# @param [String] ng_log_notifications Whether to log notifications in addition -# to regular messages. Valid options are `0` and `1`. -# @param [String] ng_log_service_retries Whether to log service retries. -# Valid options are `0` and `1`. -# @param [String] ng_log_host_retries Whether to log host retries. -# Valid options are `0` and `1`. -# @param [String] ng_log_event_handlers Whether to log host and service event -# handlers. Valid options are `0` and `1`. -# @param [String] ng_log_initial_states Whether to log initial states. -# Valid options are `0` and `1`. -# @param [String] ng_log_current_states Whether to log all current host and -# service states to the main log file after log has been rotated. -# Valid options are `0` and `1`. -# @param [String] ng_log_external_commands Whether to log external commands. -# Valid options are `0` and `1`. -# @param [String] ng_log_passive_checks Whether to log passive checks. -# Valid options are `0` and `1`. -# @param [String] ng_glob_host_evt_handler Specify a global host event -# handler # command that is to be run for every host or service state change. -# The global event handler is executed immediately prior to the event -# handler that you have optionally specified in each host or # service -# definition. The command argument is the short name of a # command definition -# that you define in your host configuration file. -# @param [String] ng_glob_svc_evt_handler Specify a global service event -# handler # command that is to be run for every host or service state change. -# The global event handler is executed immediately prior to the event -# handler that you have optionally specified in each host or # service -# definition. The command argument is the short name of a # command definition -# that you define in your host configuration file. -# @param [String] ng_svc_int_check_delay method that Nagios should use when -# initially "spreading out" service checks when it starts monitoring. -# Valid options: -# n = None - don't use any delay between checks -# d = Use a "dumb" delay of 1 second between checks -# s = Use "smart" inter-check delay calculation -# x.xx = Use an inter-check delay of x.xx seconds -# @param [String] ng_max_svc_check_spread timeframe (in minutes) from the -# program start time that an initial check of all services should be completed -# @param [String] ng_svc_interleave_factor determines how service checks are -# interleaved. Valid options: s = Use "smart" interleave factor calculation -# x = Use an interleave factor of x, where x is greater than or equal to 1. -# @param [String] ng_host_int_check_delay method that Nagios should use when -# initially "spreading out" host checks when it starts monitoring. -# Valid options: -# n = None - don't use any delay between checks -# d = Use a "dumb" delay of 1 second between checks -# s = Use "smart" inter-check delay calculation -# x.xx = Use an inter-check delay of x.xx seconds -# @param [String] ng_max_host_check_spread timeframe (in minutes) from the -# program start time that an initial check of all hosts should # be completed. -# @param [String] ng_max_concurrent_checks specify the maximum number of -# service checks that can be run in parallel at any given time. A value of 0 -# will not restrict the number of concurrent checks that are being executed. -# @param [String] ng_check_res_reaper_freq frequency (in seconds!) in which -# Nagios will process the results of host and service checks. -# @param [String] ng_max_check_res_reap_time max amount of time (in seconds) -# that a single # check result reaper event will be allowed to run before -# returning control back to Nagios so it can perform other duties. -# @param [String] ng_check_result_path directory where Nagios stores the -# results of host and service checks that have not yet been processed. -# @param [String] ng_max_check_res_file_age maximum age (in seconds) which -# check result files are considered to be valid. -# @param [String] ng_cached_h_check_horizon maximum amount of time (in seconds) -# that the state of a previous host check is considered current. -# Cached host states (from host checks that were performed more recently -# that the timeframe specified by this value) can immensely improve -# performance in regards to the host check logic. Too high of a value for -# this option may result in inaccurate host states being used by Nagios, -# while a lower value may result in a performance hit for host checks. -# Use a value of 0 to disable host check caching. -# @param [String] ng_cached_s_check_horizon maximum amount of time (in seconds) -# that the state of a previous service check is considered current. -# Cached service states (from service checks that were performed more recently -# that the timeframe specified by this value) can immensely improve -# performance in regards to the service check logic. Too high of a value for -# this option may result in inaccurate service states being used by Nagios, -# while a lower value may result in a performance hit for service checks. -# Use a value of 0 to disable service check caching. -# @param [String] ng_pred_host_dep_checks Whether Nagios will attempt to -# execute checks of hosts when it predicts that future dependency logic test -# may be needed. Valid options are `0` and `1`. -# @param [String] ng_pred_svc_dep_checks Whether Nagios will attempt to execute -# checks of services when it predicts that future dependency logic test may be -# needed. Valid options are `0` and `1`. -# @param [String] ng_soft_state_dependencies Whether or not Nagios will use -# soft state information when checking host and service dependencies. -# Valid options are `0` and `1`. -# @param [String] ng_time_change_threshold when Nagios will react to detected -# changes in system time (either forward or backwards). -# @param [String] ng_auto_reschedule_checks Whether Nagios will attempt to -# automatically reschedule active host and service checks to -# "smooth" them out over time. Experimental feature. -# Valid options are `0` and `1`. -# @param [String] ng_auto_reschedule_intval how often (in seconds) Nagios will -# attempt to automatically reschedule checks. only has an effect if -# `ng_auto_reschedule_checks` is set to `1`. -# @param [String] ng_auto_reschedule_window determines the "window" of time -# (in seconds) that # Nagios will look at when automatically rescheduling -# checks. Only host and service checks that occur in the next X seconds -# (determined by this variable) will be rescheduled. -# @param [String] ng_service_check_timeout how much time Nagios will allow -# service check commands to execute before killing them off. -# @param [String] ng_host_check_timeout how much time Nagios will allow -# host check commands to execute before killing them off. -# @param [String] ng_event_handler_timeout how much time Nagios will allow -# event handler commands to execute before killing them off. -# @param [String] ng_notification_timeout how much time Nagios will allow -# notification commands to execute before killing them off. -# @param [String] ng_ocsp_timeout how much time Nagios will allow -# ocsp commands to execute before killing them off. -# @param [String] ng_perfdata_timeout how much time Nagios will allow -# performance data commands to execute before killing them off. -# @param [String] ng_retain_state_inf Whether Nagios will save state -# information for services and hosts before it shuts down. Upon -# startup Nagios will reload all saved service and host state information -# before starting to monitor. Valid options are `0` and `1`. -# @param [String] ng_state_retention_file Where Nagios should use to store -# host and # service state information before it shuts down. The state -# information in this file is also read immediately prior to starting to -# monitor the network when Nagios is restarted. This file is used only if -# the `ng_retain_state_inf` variable is set to 1. -# @param [String] ng_retention_update_intval how often (in minutes) that -# Nagios # will automatically save retention data during normal operation. -# If you set this value to 0, Nagios will not save retention data at regular -# interval, but it will still save retention data before shutting down or -# restarting. If you have disabled state retention, this option has no effect. -# @param [String] ng_use_ret_program_state Whether Nagios will set -# program status variables based on the values saved in the retention file. -# Valid options are `0` and `1`. -# @param [String] ng_use_ret_scheduling_info Whether Nagios will retain -# the scheduling info (next check time) for hosts and services based on the -# values saved in the retention file. Valid options are `0` and `1`. -# @param [String] ng_ret_host_attr_mask mask determines what host -# attributes are not retained -# @param [String] ng_ret_service_attr_mask mask determines what service -# attributes are not retained -# @param [String] ng_ret_proc_host_attr_mask what host process attributes -# are not retained. -# @param [String] ng_ret_proc_svc_attr_mask what service process attributes -# are not retained -# @param [String] ng_ret_contact_h_attr_mask what host contact attributes are -# not retained. -# @param [String] ng_ret_contact_s_attr_mask what service contact attributes -# are not retained. -# @param [String] ng_interval_length seconds per unit interval as used in the -# host/contact/service configuration files. -# @param [String] ng_check_for_updates whether Nagios will automatically check -# to see if new updates (releases) are available. Effectively, setting -# `$pkg_ensure` to `latest` will have Puppet take care for that automatically -# though through the packages available in the yum repos. -# Valid options are `0` and `1`. -# @param [String] ng_bare_update_check what data Nagios will send to -# api.nagios.org when it checks for updates. Valid options are `0` and `1`. -# @param [String] ng_use_aggr_host_checking Whether to enable aggressive host -# checking. Read Nagios documentation for more infos aggressive host checking. -# @param [String] ng_execute_service_checks Whether Nagios will actively -# execute service checks when it initially starts. -# Valid options are `0` and `1`. -# @param [String] ng_accept_pass_svc_checks Whether or not Nagios will accept -# passive # service checks results when it initially (re)starts. -# Valid options are `0` and `1`. -# @param [String] ng_execute_host_checks whether or not Nagios will actively -# execute host checks when it initially starts. -# Valid options are `0` and `1`. -# @param [String] ng_accept_pass_host_checks Whether or not Nagios will accept -# passive # host checks results when it initially (re)starts. -# Valid options are `0` and `1`. -# @param [String] ng_enable_notifications Whether Nagios will sent out any host -# or service notifications when it is initially (re)started. -# Valid options are `0` and `1`. -# @param [String] ng_enable_event_handlers Whether Nagios will run any host or -# service event handlers when it is initially (re)started. -# Valid options are `0` and `1`. -# @param [String] ng_process_perf_data Whether Nagios will process performance -# data returned from service and host checks. -# Valid options are `0` and `1`. -# @param [String] ng_host_perfdata_command Short name of a command definition -# defined in your host configuration file. Only active if -# `ng_process_perf_data` is set to `1` -# @param [String] ng_svc_perfdata_command Short name of a command definition -# defined in your service configuration file. Only active if -# `ng_process_perf_data` is set to `1` -# @param [String] ng_host_perfdata_file used to store host performance data. -# Only active if `ng_process_perf_data` is set to `1` -# @param [String] ng_service_perfdata_file used to store service performance -# data. Only active if `ng_process_perf_data` is set to `1` -# @param [String] ng_host_perfdata_template What data is written (and how) -# to the performance data files. The templates may contain macros, special -# characters (\t for tab, \r for carriage return, \n for newline) -# and plain text. Only active if `ng_process_perf_data` is set to `1` -# @param [String] ng_svc_perfdata_template What data is written (and how) -# to the performance data files. The templates may contain macros, special -# characters (\t for tab, \r for carriage return, \n for newline) -# and plain text. Only active if `ng_process_perf_data` is set to `1` -# @param [String] ng_host_perfdata_file_mode Whether the host performance data -# files are opened in write ("w"), append ("a") or named pipe ("p") mode. -# Only active if `ng_process_perf_data` is set to `1`. -# @param [String] ng_svc_perfdata_file_mode Whether the service performance -# data files are opened in write ("w"), append ("a") or named pipe ("p") mode. -# Only active if `ng_process_perf_data` is set to `1`. -# @param [String] ng_h_perfdata_proc_intval How often (in seconds) the host -# performance data files are processed using the commands defined below. -# `0` indicates that the files should not be periodically processed. -# Only active if `ng_process_perf_data` is set to `1`. -# @param [String] ng_s_perfdata_proc_intval How often (in seconds) the service -# performance data files are processed using the commands defined below. -# `0` indicates that the files should not be periodically processed. -# Only active if `ng_process_perf_data` is set to `1`. -# @param [String] ng_h_perfdata_proc_cmd Commands used to periodically process -# the host performance data files. -# Only active if `ng_process_perf_data` is set to `1`. -# @param [String] ng_s_perfdata_proc_cmd Commands used to periodically process -# the service performance data files. -# Only active if `ng_process_perf_data` is set to `1`. -# @param [String] ng_h_perfdata_proc_e_res Whether the core will process empty -# host perfdata results. Valid options are `0` and `1`. -# Only active if `ng_process_perf_data` is set to `1`. -# @param [String] ng_s_perfdata_proc_e_res Whether the core will process empty -# service perfdata results. Valid options are `0` and `1`. -# Only active if `ng_process_perf_data` is set to `1`. -# @param [String] ng_obsess_over_services Whether Nagios will obsess over -# service checks and run the ocsp_command defined. Unless you are -# planning on implementing distributed monitoring, do not enable this option. -# @param [String] ng_ocsp_command Command that is run for every service check -# that is processed by Nagios. This command is executed only if the -# `ng_obsess_over_services` option is set to 1. The command argument is the -# short name of a command definition defined in your service configuration -# file. Read the HTML docs for # more information on implementing distributed -# monitoring. -# @param [String] ng_obsess_over_hosts Whether Nagios will obsess over -# host checks and run the ocsp_command defined. Unless you are -# planning on implementing distributed monitoring, do not enable this option. -# @param [String] ng_ochp_command Command that is run for every service check -# that is processed by Nagios. This command is executed only if the -# `ng_obsess_over_hosts` option is set to 1. The command argument is the -# short name of a command definition defined in your host configuration file. -# Read the HTML docs for # more information on implementing distributed -# monitoring. -# @param [String] ng_translate_pass_h_checks Whether or not Nagios will -# translate # DOWN/UNREACHABLE passive host check results into their proper -# state for this instance of Nagios. This option is useful only if you have -# distributed or failover monitoring setup. Valid options are `0` and `1`. -# @param [String] ng_pass_h_checks_are_soft Whether Nagios will treat passive -# host checks as being HARD or SOFT. Valid options are `0` and `1`. -# @param [String] ng_check_orphaned_svc Whether Nagios will periodically check -# for orphaned service checks.Valid options are `0` and `1`. -# @param [String] ng_check_orphaned_hosts Whether Nagios will periodically -# check for orphaned host checks.Valid options are `0` and `1`. -# @param [String] ng_check_service_freshness Whether Nagios will periodically -# check the "freshness" of service results. Valid options are `0` and `1`. -# @param [String] ng_svc_fresh_check_intval how often (in seconds) Nagios will -# check the "freshness" of service check results. Only active if -# `ng_check_service_freshness` is set to `1`. -# @param [String] ng_svc_check_timeout_state The state Nagios will report when -# a service check times out - that is does not respond within -# `ng_service_check_timeout` seconds. Valid settings are: -# c - Critical (default) -# u - Unknown -# w - Warning -# o - OK -# @param [String] ng_check_host_freshness Whether Nagios will periodically -# check the "freshness" of host check results. Valid options are `0` and `1`. -# @param [String] ng_host_fresh_check_intval how often (in seconds) Nagios -# will check the "freshness" of host check results. Only active if -# `ng_check_service_freshness` is set to `1`. -# @param [String] ng_add_freshness_latency number of seconds that Nagios will -# add to any host and service freshness thresholds that it calculates -# (those not explicitly specified by the user). -# @param [String] ng_enable_flap_detection Whether or not Nagios will try -# and detect hosts and services that are "flapping". Flapping occurs when a -# host or service changes between # states too frequently. When Nagios -# detects that a # host or service is flapping, it will temporarily suppress -# notifications for that host/service until it stops flapping. -# @param [String] ng_low_svc_flap_threshold Low threshold for service flapping. -# only active if `ng_enable_flap_detection` is set to `1`. -# @param [String] ng_high_svc_flap_threshold High threshold for service -# flapping. Only active if `ng_enable_flap_detection` is set to `1`. -# @param [String] ng_low_h_flap_threshold Low threshold for host flapping. -# only active if `ng_enable_flap_detection` is set to `1`. -# @param [String] ng_high_h_flap_threshold High threshold for host -# flapping. Only active if `ng_enable_flap_detection` is set to `1`. -# @param [String] ng_date_format How short dates are displayed. -# Valid options include: -# us (MM-DD-YYYY HH:MM:SS) -# euro (DD-MM-YYYY HH:MM:SS) -# iso8601 (YYYY-MM-DD HH:MM:SS) -# strict-iso8601 (YYYY-MM-DDTHH:MM:SS) -# @param [Boolean] ng_use_timezone_offset Whether to use timezone offsets. -# if set to `false`, the system configured timezone will be used. -# @param [String] ng_use_timezone used to override the default timezone that -# this # instance of Nagios runs in. If not specified, Nagios will use the -# system configured timezone. NOTE: In order to display the correct timezone -# in the CGIs, you # will also need to alter the Apache directives for the -# CGI path # to include your timezone. It is highly recommended to configure -# the timezone correctly at system level anyway. Only active if -# `ng_use_timezone_offset` is set to `true`. -# @param [String] ng_illegal_obj_name_chars specify illegal characters that -# cannot # be used in host names, service descriptions, or names of other -# object types. -# @param [String] ng_ill_macro_output_chars Specify illegal characters that -# are stripped from macros before being used in notifications, event handlers, -# etc. This DOES NOT affect macros used in service or host check commands. -# The following macros are stripped of the characters you specify: -# $HOSTOUTPUT$ -# $HOSTPERFDATA$ -# $HOSTACKAUTHOR$ -# $HOSTACKCOMMENT$ -# $SERVICEOUTPUT$ -# $SERVICEPERFDATA$ -# $SERVICEACKAUTHOR$ -# $SERVICEACKCOMMENT$ -# @param [String] ng_use_regexp_matching Whether regular expression -# matching takes place in the object config files. Regular expression -# matching is used to match host, hostgroup, service, and service group -# names/descriptions in some fields of various object types. -# Valid options are `0` and `1`. -# @param [String] ng_true_regexp_matching Whether or not "true" regular -# expression # matching takes place in the object config files. Only active if -# `ng_use_regexp_matching` is set to true. -# @param [String] ng_daemon_dumps_core Whether Nagios is allowed to create -# a core dump when it runs as a daemon. -# @param [String] ng_use_large_inst_tweaks Whether or not Nagios will take some -# shortcuts # which can save on memory and CPU usage in large Nagios -# installations. Valid options are `0` or `1`. -# @param [String] ng_enable_env_macros Whether Nagios will make all standard -# macros available as environment variables when host/service checks and -# system commands (event handlers, notifications, etc.) are executed. Can -# cause performance problems in large installations if enabled. -# Valid options are `0` or `1`. -# @param [String] ng_free_child_process_mem Whether Nagios should free up -# memory on child processes. Valid options are `0` and `1`. -# @param [String] ng_child_proc_fork_twice ow Nagios will fork child processes. -# Valid options are `0` or `1`. -# @param [String] ng_debug_level how much (if any) debugging information will -# be written to the debug file. Valid options are: -# -1 = Everything -# 0 = Nothing -# 1 = Functions -# 2 = Configuration -# 4 = Process information -# 8 = Scheduled events -# 16 = Host/service checks -# 32 = Notifications -# 64 = Event broker -# 128 = External commands -# 256 = Commands -# 512 = Scheduled downtime -# 1024 = Comments -# 2048 = Macros -# @param [String] ng_debug_verbosity How verbose the debug log out will be. -# Valid options: -# 0 = Brief output -# 1 = More detailed -# 2 = Very detailed -# @param [String] ng_debug_file FQDN where Nagios should write debug -# information. -# @param [String] ng_max_debug_file_size Maximum size (in bytes) of the debug -# file. If the file grows larger than this size, it will be renamed with -# a .old # extension. If a file already exists with a .old extension it will -# automatically be deleted. -# @param [String] ng_allow_empty_hostgroups Should we allow hostgroups to have -# no hosts, we default this to off since that was the old behavior. -# @param [String] ng_check_workers Normally worker count is dynamically -# allocated based on 1.5 * number of cpu's with a minimum of 4 workers. -# This value will override the defaults. -# @param [String] ng_host_down_svc_checks This option will disable all service -# checks if the host is not in an UP state. While desirable in some -# environments, enabling this value can distort report values as the expected -# quantity of checks will not have been performed. Valid options are `0` and -# `1`. -# @param [Boolean] ng_enable_load_ctl_options Whether to enable loadctl_options -# To get current defaults based on your system issue a command to -# the query handler. Experimental feature and not recommended for production. -# @param [String] ng_loadctl_options load controlling options -# jobs_max - The maximum amount of jobs to run at one time -# jobs_min - The minimum amount of jobs to run at one time -# jobs_limit - The maximum amount of jobs the current load lets us run -# backoff_limit - The minimum backoff_change -# backoff_change - # of jobs to remove from jobs_limit when backing off -# rampup_limit - Minimum rampup_change -# rampup_change - # of jobs to add to jobs_limit when ramping up -# @param [String] ng_nrpe_port the port for NRPE. used by firewall and in -# configuration file. -# @param [Boolean] ng_enable_swap_check Whether to enable the declaration of -# the swap check. Disabling this makes sense when you use the `cd_swap` -# Puppet module and have enabled the check declaration from there, so the -# Nagios check is properly aligned to the Puppet module controlling the -# particular item. -# @param [Array] reqpackages_server the packages for the server -# @param [Array] reqpackages_client the packages for the clients ############################################################################### -class cd_nagios::params ( - - String $pkg_ensure = 'latest', - - String $ng_nagios_server = "nagios.${::domain}", - String $ng_nagios_ext_ip = undef, - String $ng_mail_user = "admin@${::domain}", - String $ng_page_user = "pageadmin@${::domain}", - - Boolean $ng_include_nrpe = true, - -# firewall - Boolean $ng_include_fw = true, - Boolean $ng_use_https = true, - Boolean $ng_http_https_fw = true, - String $ng_fw_order = '50', - String $ng_http_port = '80', - String $ng_https_port = '443', - String $ng_nrpe_port = '5666', - -# check command parameters -## ping - String $ng_ping_warn = '100.0,20%', - String $ng_ping_crit = '500.0,60%', - String $ng_ping_ensure = 'present', -## disk - String $ng_disk_warn = '20%', - String $ng_disk_crit = '10%' , - String $ng_disk_ensure = 'present', -# swap - String $ng_swap_warn = '20', - String $ng_swap_crit = '10', - String $ng_swap_ensure = 'present', -# users - String $ng_users_warn = '20', - String $ng_users_crit = '50', - String $ng_users_ensure = 'present', -#total procs - String $ng_procs_tot_warn = '330', - String $ng_procs_tot_crit = '400', - String $ng_procs_tot_param = 'RDST', - String $ng_procs_tot_ens = 'present', -# zombie procs - String $ng_procs_z_warn = '10', - String $ng_procs_z_crit = '30', - String $ng_procs_z_param = 'Z', - String $ng_procs_z_ensure = 'present', -# load - String $ng_load_warn = '5.00,4.00,3.00', - String $ng_load_crit = '10.00,6.00,4.00', - String $ng_load_ensure = 'present', - -# user settings - String $ng_user = 'nagios', - String $ng_u_comment = 'Nagios service user', - String $ng_u_uid = '1004', - String $ng_user_home = '/var/spool/nagios', - Optional[String] $ng_u_groups = undef, - String $ng_user_shell = '/bin/bash', - -# cgi settings - String $ng_context_help = '1', - String $ng_pending_state = '1', - String $ng_use_auth = '1', - String $ng_use_ssl_auth = '0', - Boolean $ng_enable_def_user = false, - String $ng_def_user_name = 'nagios_insecure', - String $ng_nagios_admin = 'nagios_sec_adm', - String $ng_sysinfo_auth = '', - String $ng_confinfo_auth = '', - String $ng_command_auth = '', - String $ng_hostview_auth = '', - String $ng_serviceview_auth = '', - String $ng_host_cmd_auth = '', - String $ng_svc_cmd_auth = '', - String $ng_readonly_auth = '' , - String $ng_statusmap_img = 'smbackground.gd2', - Boolean $ng_use_colormap = false, - String $ng_colormap_red = '255', - String $ng_colormap_green = '255', - String $ng_colormap_blue = '255', - String $ng_statusmap_layout = '6', - String $ng_wrl_layout = '4', - Boolean $ng_incl_own_wrl = false, - String $ng_statuswrl_include = '', - String $ng_ping_syntax = '/bin/ping -n -U -c 5 $HOSTADDRESS$', - String $ng_refresh_rate = '90', - String $ng_result_limit = '100', - String $ng_escape_html = '1', - Boolean $ng_use_sound = false, - String $ng_host_unreachable = 'hostdown.wav', - String $ng_host_down = 'hostdown.wav', - String $ng_svc_critical = 'critical.wav', - String $ng_svc_warn = 'warning.wav', - String $ng_svc_unknown = 'warning.wav', - String $ng_normal_sound = 'noproblem.wav', - String $ng_action_url_target = '_blank', - String $ng_notes_url_target = '_blank', - String $ng_lock_author_names = '1', - Boolean $ng_enable_splunk = false, - String $ng_splunk_url = 'http://127.0.0.1:8000/', - String $ng_navbar_addresses = '1', - String $ng_navbar_aliases = '1', - String $ng_ack_no_sticky = '0', - String $ng_ack_no_send = '0', - -# selinux - Boolean $ng_use_selinux_tools = true, - -# httpd - String $ng_required_hosts = '', - String $ng_required_ips = '127.0.0.0/8', - Boolean $ng_enable_index = true, - -# certbot - Boolean $ng_enable_certbot = true, - String $ng_certbot_webroot = '/var/www/html', - String $ng_webserver_name = "nagios.${::domain}", - -# main settings - String $ng_log_file = '/var/log/nagios/nagios.log', - String $ng_max_check_attempts = '10', - String $ng_object_cache_file = '/var/spool/nagios/objects.cache', - String $ng_precached_obj_file = '/var/spool/nagios/objects.precache', - String $ng_resource_file = '/etc/nagios/private/resource.cfg', - String $ng_status_file = '/var/log/nagios/status.dat', - String $ng_status_upd_interval = '10', - String $ng_check_ext_commands = '1', - String $ng_command_file = '/var/spool/nagios/cmd/nagios.cmd', - Boolean $ng_enable_query_handler = false, - String $ng_query_socket = '/var/spool/nagios/cmd/nagios.qh', - String $ng_lock_file = '/var/run/nagios/nagios.pid', - String $ng_temp_file = '/var/spool/nagios/nagios.tmp', - String $ng_temp_path = '/tmp', - String $ng_event_broker_options = '-1', - String $ng_event_broker_module = '', - String $ng_log_rotation_method = 'h', - String $ng_log_archive_path = '/var/log/nagios/archives', - String $ng_use_syslog = '1', - String $ng_log_notifications = '1', - String $ng_log_service_retries = '1', - String $ng_log_host_retries = '1', - String $ng_log_event_handlers = '1', - String $ng_log_initial_states = '0', - String $ng_log_current_states = '1', - String $ng_log_external_commands = '1', - String $ng_log_passive_checks = '1', - String $ng_glob_host_evt_handler = '', - String $ng_glob_svc_evt_handler = '', - String $ng_svc_int_check_delay = 's', - String $ng_max_svc_check_spread = '30', - String $ng_svc_interleave_factor = 's', - String $ng_host_int_check_delay = 's', - String $ng_max_host_check_spread = '30', - String $ng_max_concurrent_checks = '0', - String $ng_check_res_reaper_freq = '10', - String $ng_max_check_res_reap_time = '30', - String $ng_check_result_path = '/var/spool/nagios/checkresults', - String $ng_max_check_res_file_age = '3600', - String $ng_cached_h_check_horizon = '15', - String $ng_cached_s_check_horizon = '15', - String $ng_pred_host_dep_checks = '1', - String $ng_pred_svc_dep_checks = '1', - String $ng_soft_state_dependencies = '0', - String $ng_time_change_threshold = '900', - String $ng_auto_reschedule_checks = '0', - String $ng_auto_reschedule_intval = '30', - String $ng_auto_reschedule_window = '180', - String $ng_service_check_timeout = '60', - String $ng_host_check_timeout = '30', - String $ng_event_handler_timeout = '30', - String $ng_notification_timeout = '30', - String $ng_ocsp_timeout = '5', - String $ng_perfdata_timeout = '5', - String $ng_retain_state_inf = '1', - String $ng_state_retention_file = '/var/spool/nagios/retention.dat', - String $ng_retention_update_intval = '60', - String $ng_use_ret_program_state = '1', - String $ng_use_ret_scheduling_info = '1', - String $ng_ret_host_attr_mask = '0', - String $ng_ret_service_attr_mask = '0', - String $ng_ret_proc_host_attr_mask = '0', - String $ng_ret_proc_svc_attr_mask = '0', - String $ng_ret_contact_h_attr_mask = '0', - String $ng_ret_contact_s_attr_mask = '0', - String $ng_interval_length = '60', - String $ng_check_for_updates = '1', - String $ng_bare_update_check = '0', - String $ng_use_aggr_host_checking = '0', - String $ng_execute_service_checks = '1', - String $ng_accept_pass_svc_checks = '1', - String $ng_execute_host_checks = '1', - String $ng_accept_pass_host_checks = '1', - String $ng_enable_notifications = '1', - String $ng_enable_event_handlers = '1', - String $ng_process_perf_data = '0', - String $ng_host_perfdata_command = 'process-host-perfdata', - String $ng_svc_perfdata_command = 'process-service-perfdata', - String $ng_host_perfdata_file = '/var/spool/nagios/host-perfdata', - String $ng_service_perfdata_file = '/var/spool/nagios/service-perfdata', - String $ng_host_perfdata_template = '[HOSTPERFDATA]\t$TIMET$\t$HOSTNAME$\t$HOSTEXECUTIONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$', - String $ng_svc_perfdata_template = '[SERVICEPERFDATA]\t$TIMET$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$', - String $ng_host_perfdata_file_mode = 'a', - String $ng_svc_perfdata_file_mode = 'a', - String $ng_h_perfdata_proc_intval = '0', - String $ng_s_perfdata_proc_intval = '0', - String $ng_h_perfdata_proc_cmd = 'process-host-perfdata-file', - String $ng_s_perfdata_proc_cmd = 'process-service-perfdata-file', - String $ng_h_perfdata_proc_e_res = '1', - String $ng_s_perfdata_proc_e_res = '1', - String $ng_obsess_over_services = '0', - String $ng_ocsp_command = '', - String $ng_obsess_over_hosts = '0', - String $ng_ochp_command = '', - String $ng_translate_pass_h_checks = '0', - String $ng_pass_h_checks_are_soft = '0', - String $ng_check_orphaned_svc = '1', - String $ng_check_orphaned_hosts = '1', - String $ng_check_service_freshness = '1', - String $ng_svc_fresh_check_intval = '60', - String $ng_svc_check_timeout_state = 'c', - String $ng_check_host_freshness = '0', - String $ng_host_fresh_check_intval = '60', - String $ng_add_freshness_latency = '15', - String $ng_enable_flap_detection = '1', - String $ng_low_svc_flap_threshold = '5.0', - String $ng_high_svc_flap_threshold = '20.0', - String $ng_low_h_flap_threshold = '5.0', - String $ng_high_h_flap_threshold = '20.0', - String $ng_date_format = 'us', - Boolean $ng_use_timezone_offset = false, - String $ng_use_timezone = '', - String $ng_illegal_obj_name_chars = '`~!$%^&*|\'"<>?,()=', - String $ng_ill_macro_output_chars = '`~$&|\'"<>', - String $ng_use_regexp_matching = '0', - String $ng_true_regexp_matching = '0', - String $ng_daemon_dumps_core = '0', - String $ng_use_large_inst_tweaks = '0', - String $ng_enable_env_macros = '0', - String $ng_free_child_process_mem = '1', - String $ng_child_proc_fork_twice = '1', - String $ng_debug_level = '0', - String $ng_debug_verbosity = '1', - String $ng_debug_file = '/var/spool/nagios/nagios.debug', - String $ng_max_debug_file_size = '1000000', - String $ng_allow_empty_hostgroups = '0', - String $ng_check_workers = '', - String $ng_host_down_svc_checks = '0', - Boolean $ng_enable_load_ctl_options = false, - String $ng_loadctl_options = 'jobs_max=100;backoff_limit=10;rampup_change=5', - -# single nagios checks - Boolean $ng_enable_swap_check = true, - -# installation - Array $reqpackages_server = ['nagios','nagios-devel'], - Array $reqpackages_client = ['net-snmp-utils','nagios-plugins','nagios-plugins-all','nagios-plugins-nrpe','nagios-common'], +class confdroid_nagios::params ( ) { -# service - $ng_service = 'nagios' - $ae_service = 'httpd' - -# directories - $ng_main_dir = '/etc/nagios' - $ng_conf_d_dir = "${ng_main_dir}/conf.d" - $ng_objects_dir = "${ng_main_dir}/objects" - $ng_private_dir = "${ng_main_dir}/private" - $ng_usr_incl = '/usr/include/nagios' - $ng_lib_dir = '/usr/lib64/nagios' - $ng_log_dir = '/var/log/nagios' - $ng_log_archives = "${ng_log_dir}/archives" - $ng_spool_dir = '/var/spool/nagios' - $ng_usr_share = '/usr/share/nagios' - $ng_share_html = "${ng_usr_share}/html" - $ng_run_dir = '/var/run/nagios' - $ng_cmd_dir = "${ng_spool_dir}/cmd" - $ng_checkresults_dir = "${ng_spool_dir}/checkresults" - -# 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_statdat_erb = 'cd_nagios/selinux/statusdat.erb' - $ng_checknrpe_erb = 'cd_nagios/selinux/checknrpe.erb' - $ng_checknagios_erb = 'cd_nagios/selinux/checknagios.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_resource_erb = 'cd_nagios/nagios/resource_cfg.erb' - $ng_grep_erb = 'cd_nagios/selinux/grep.erb' - -# certbot - $ng_certbot_main_dir = '/etc/letsencrypt' - $ng_certbot_archive = "${ng_certbot_main_dir}/archive" - $ng_certbot_check = "${ng_certbot_archive}/${ng_webserver_name}/cert1.pem" - $ng_certbot_live = "${ng_certbot_main_dir}/live" - -# nagios - $ng_target_templates = "${ng_conf_d_dir}/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' +# Default facts + $fqdn = $facts['networking']['fqdn'] + $domain = $facts['networking']['domain'] + $os_name = $facts['os']['name'] + $os_release = $facts['os']['release']['major'] # includes must be last - include cd_nagios::main::config + include confdroid_nagios::main::config } diff --git a/manifests/selinux/config.pp b/manifests/selinux/config.pp deleted file mode 100644 index 3c12317..0000000 --- a/manifests/selinux/config.pp +++ /dev/null @@ -1,141 +0,0 @@ -## cd_nagios::selinux::config.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) -# @summary Class manages all aspects of selinux for cd_nagios. -############################################################################## -class cd_nagios::selinux::config ( - -) inherits cd_nagios::params { - if $ng_use_selinux_tools == true { - require cd_selinux - - # it appears that selinux behaves differently across different nodes, - # so all we can do for now is to create a list of the AVC alerts and come up - # with a solution on that later. - - exec { 'create_avc_list': - command => 'sealert -a /var/log/audit/audit.log > avc_alerts', - cwd => $ng_user_home, - path => ['/usr/bin'], - creates => "${ng_user_home}/avc_alerts", - } - - # sealert tac-cgi -# exec { 'create_policy_taccgi': -# command => template($ng_taccgi_erb), -# path => ['/usr/bin','/usr/sbin'], -# user => $ng_user, -# cwd => $ng_user_home, -# creates => "${ng_user_home}/my-taccgi.pp", -# notify => Exec['semodule_taccgi'], -# } - -# exec { 'semodule_taccgi': -# command => "semodule -i ${ng_user_home}/my-taccgi.pp", -# path => ['/usr/bin','/usr/sbin'], -# user => $ng_user, -# cwd => $ng_user_home, -# require => Exec['create_policy_taccgi'], -# refreshonly => true, -# } - - # sealert status.cgi - -# exec { 'create_policy_statuscgi': -# command => template($ng_statcgi_erb), -# path => ['/usr/bin','/usr/sbin'], -# cwd => $ng_user_home, -# creates => "${ng_user_home}/my-statuscgi.pp", -# notify => Exec['semodule_statuscgi'], -# } - -# exec { 'semodule_statuscgi': -# command => 'semodule -i my-statuscgi.pp', -# path => ['/usr/bin','/usr/sbin'], -# cwd => $ng_user_home, -# require => Exec['create_policy_statuscgi'], -# refreshonly => true, -# notify => Service[$ng_service], -# } - - # sealert check_nrpe - -# exec { 'create_policy_checknrpe': -# command => template($ng_checknrpe_erb), -# path => ['/usr/bin','/usr/sbin'], -# cwd => $ng_user_home, -# creates => "${ng_user_home}/my-checknrpe.pp", -# notify => Exec['semodule_checknrpe'], -# } - -# exec { 'semodule_checknrpe': -# command => 'semodule -i my-checknrpe.pp', -# path => ['/usr/bin','/usr/sbin'], -# cwd => $ng_user_home, -# require => Exec['create_policy_checknrpe'], -# refreshonly => true, -# notify => Service[$ng_service], -# } - - # sealert check_nagios - -# exec { 'create_policy_checknagios': -# command => template($ng_checknagios_erb), -# path => ['/usr/bin','/usr/sbin'], -# cwd => $ng_user_home, -# creates => "${ng_user_home}/my-checknagios.pp", -# notify => Exec['semodule_checknagios'], -# } - -# exec { 'semodule_checknagios': -# command => 'semodule -i my-checknagios.pp', -# path => ['/usr/bin','/usr/sbin'], -# cwd => $ng_user_home, -# require => Exec['create_policy_checknagios'], -# refreshonly => true, -# notify => Service[$ng_service], -# } - - # sealert status.dat - - exec { 'create_policy_statusdat': - command => template($ng_statdat_erb), - path => ['/usr/bin','/usr/sbin'], - user => $ng_user, - cwd => $ng_user_home, - creates => "${ng_user_home}/my-http.pp", - notify => Exec['semodule_statusdat'], - } - - exec { 'semodule_statusdat': - command => "semodule -i ${ng_user_home}/my-httpd.pp", - path => ['/usr/bin','/usr/sbin'], - user => $ng_user, - cwd => $ng_user_home, - require => Exec['create_policy_statusdat'], - refreshonly => true, - notify => Service[$ng_service], - } - - # sealert grep - - exec { 'create_policy_grep': - command => template($ng_grep_erb), - path => ['/usr/bin','/usr/sbin'], - user => $ng_user, - cwd => $ng_user_home, - creates => "${ng_user_home}/my-grep.pp", - notify => Exec['semodule_statusdat'], - } - - exec { 'semodule_grep': - command => "semodule -i ${ng_user_home}/my-grep.pp", - path => ['/usr/bin','/usr/sbin'], - user => $ng_user, - cwd => $ng_user_home, - require => Exec['create_policy_grep'], - refreshonly => true, - notify => Service[$ng_service], - } - } -} diff --git a/manifests/server/access.pp b/manifests/server/access.pp deleted file mode 100644 index 252d0bd..0000000 --- a/manifests/server/access.pp +++ /dev/null @@ -1,28 +0,0 @@ -## cd_nagios::server::access.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) -# @summary Define manages user- and password rules for accessing nagios. -# @param [string] ng_htpasswd_user user name for the /etc/nagios/passwd file -# @param [string] ng_htpasswd_password the encrypted password for the -# /etc/nagios/passwd file. -############################################################################## -define cd_nagios::server::access ( - - Optional[String] $ng_htpasswd_user = undef, - Optional[String] $ng_htpasswd_password = undef, - -) { - $ng_nagios_server = $cd_nagios::params::ng_nagios_server - $ng_htpasswd_file = $cd_nagios::params::ng_htpasswd_file - $ng_htpasswd_rule = $cd_nagios::params::ng_htpasswd_rule - $ng_service = $cd_nagios::params::ng_service - - if $::fqdn == $ng_nagios_server { - # create password rules - - concat::fragment { $name: - target => $ng_htpasswd_file, - content => template($ng_htpasswd_rule), - } - } -} diff --git a/manifests/server/access_rules.pp b/manifests/server/access_rules.pp deleted file mode 100644 index f77e0dc..0000000 --- a/manifests/server/access_rules.pp +++ /dev/null @@ -1,30 +0,0 @@ -## cd_nagios::server::access_rules.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) -# @summary Class manages presence of /etc/nagios/phtpasswd file. -# @example -# cd_nagios::server::access { 'example': -# ng_htpasswd_user => 'example_user', -# ng_htpasswd_password => 'example_password_encrypted', -# } -############################################################################## -class cd_nagios::server::access_rules ( - -) inherits cd_nagios::params { - if $::fqdn == $ng_nagios_server { - # manage /etc/nagios/htpasswd file - - concat { $ng_htpasswd_file: - ensure => present, - path => $ng_htpasswd_file, - owner => 'root', - group => 'apache', - mode => '0640', - selrange => s0, - selrole => object_r, - seltype => nagios_etc_t, - seluser => system_u, - notify => Service[$ng_service], - } - } -} diff --git a/manifests/server/files.pp b/manifests/server/files.pp deleted file mode 100644 index b60e28d..0000000 --- a/manifests/server/files.pp +++ /dev/null @@ -1,98 +0,0 @@ -## cd_nagios::server::files.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) -# @summary Class manages all configuration files required for cd_nagios. -############################################################################## -class cd_nagios::server::files ( - -) inherits cd_nagios::params { - if $::fqdn == $ng_nagios_server { - if $ng_use_https == true { - if $ng_enable_certbot == true { - require cd_nagios::certbot::certs - } - } - - require cd_nagios::main::dirs - - # manage nagios.cfg - - file { $ng_nagios_cfg_file: - ensure => file, - path => $ng_nagios_cfg_file, - owner => 'root', - group => 'root', - mode => '0644', - selrange => s0, - selrole => object_r, - seltype => nagios_etc_t, - seluser => system_u, - content => template($ng_nagios_cfg_erb), - notify => Service[$ng_service], - } - - # manage cgi.cfg - - file { $ng_cgi_cfg_file: - ensure => file, - path => $ng_cgi_cfg_file, - owner => 'root', - group => 'root', - mode => '0644', - selrange => s0, - selrole => object_r, - seltype => nagios_etc_t, - seluser => system_u, - content => template($ng_cgi_cfg_erb), - notify => Service[$ng_service], - } - - ## Apache files - # since we use vhost files, we do not want the regular file to appear - # after upgrades to avoid conflicts - - file { $ng_nagios_conf: - ensure => absent, - } - - file { $ng_forward_conf: - ensure => file, - path => $ng_forward_conf, - owner => 'root', - group => 'root', - mode => '0644', - selrange => s0, - selrole => object_r, - seltype => httpd_config_t, - seluser => system_u, - content => template($ng_forward_conf_erb), - notify => Service[$ae_service], - } - - if $ng_use_https == true { - # create ssl vhost - - file { $ng_ssl_vhost_file: - ensure => file, - path => $ng_ssl_vhost_file, - owner => 'root', - group => 'root', - mode => '0644', - selrange => s0, - selrole => object_r, - seltype => httpd_config_t, - seluser => system_u, - content => template($ng_ssl_vhost_erb), - notify => Service[$ae_service], - } - } - - if $ng_use_https != true { - # remove ssl_vhost - - file { $ng_ssl_vhost_file: - ensure => absent, - } - } - } -} diff --git a/manifests/server/service.pp b/manifests/server/service.pp deleted file mode 100644 index 1a970dd..0000000 --- a/manifests/server/service.pp +++ /dev/null @@ -1,198 +0,0 @@ -## cd_nagios::server::service.pp -# Module name: cd_nagios -# Author: Arne Teuke (arne_teuke@ConfDroid.com) -# @summary Class manages the service(s) for cd_nagios. -############################################################################# -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 - require cd_nagios::nagios::resources::resource - - service { $ng_service: - ensure => running, - hasstatus => true, - hasrestart => true, - enable => true, - } - - @@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 => 'localhost', - notification_period => '24x7', - service_description => 'localhost_nagios_service', - target => $ng_target_service, - owner => $ng_user, - group => $ng_user, - mode => '0640', - contacts => 'ops', - } - - @@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 { "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', - } - - if $ng_enable_swap_check == true { - @@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 { "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 { "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 { "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', - } - - resources { ['nagios_host', - 'nagios_hostgroup', - 'nagios_hostdependency', - 'nagios_hostescalation', - 'nagios_hostextinfo', - 'nagios_service', - 'nagios_servicegroup', - 'nagios_servicedependency', - 'nagios_serviceescalation', - 'nagios_serviceextinfo', - 'nagios_contact', - 'nagios_contactgroup', - 'nagios_command', - 'nagios_timeperiod']: - purge => true, - } - - # collect resources and populate /etc/nagios/conf.d/nagios_*.cfg - Nagios_host <<||>> { notify => Service['nagios'] } - Nagios_hostgroup <<||>> { notify => Service['nagios'] } - Nagios_hostdependency <<||>> { notify => Service['nagios'] } - Nagios_hostescalation <<||>> { notify => Service['nagios'] } - Nagios_hostextinfo <<||>> { notify => Service['nagios'] } - Nagios_service <<||>> { notify => Service['nagios'] } - Nagios_servicegroup <<||>> { notify => Service['nagios'] } - Nagios_servicedependency <<||>> { notify => Service['nagios'] } - Nagios_serviceescalation <<||>> { notify => Service['nagios'] } - Nagios_serviceextinfo <<||>> { notify => Service['nagios'] } - Nagios_contact <<||>> { notify => Service['nagios'] } - Nagios_contactgroup <<||>> { notify => Service['nagios'] } - Nagios_command <<||>> { notify => Service['nagios'] } - Nagios_timeperiod <<||>> { notify => Service['nagios'] } - } -} diff --git a/templates/certbot/get_cert.erb b/templates/certbot/get_cert.erb deleted file mode 100644 index 1936aa4..0000000 --- a/templates/certbot/get_cert.erb +++ /dev/null @@ -1 +0,0 @@ -certbot certonly -t -n --agree-tos --webroot -w <%= @ng_certbot_webroot %>/ -d <%= @ng_webserver_name %> --email <%= @ng_mail_user %> diff --git a/templates/certbot/unless_get_cert.erb b/templates/certbot/unless_get_cert.erb deleted file mode 100644 index bc8ce29..0000000 --- a/templates/certbot/unless_get_cert.erb +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -<% if @ng_enable_certbot == true %> -test -d /etc/letsencrypt/archive/<%= @ng_nagios_server %> -<% end %> diff --git a/templates/certbot/unless_renew_cert.erb b/templates/certbot/unless_renew_cert.erb deleted file mode 100644 index 6ebb22d..0000000 --- a/templates/certbot/unless_renew_cert.erb +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -<% if @ng_enable_certbot == true %> -case `find /etc/letsencrypt/renewal -type f -name "<%= @ng_nagios_server %>.conf" -mtime +80` in - '') echo 'No filename found' exit 0 ;; - *) echo 'Found filename' exit 1 ;; -esac -<% end %> diff --git a/templates/httpd/forward_conf.erb b/templates/httpd/forward_conf.erb deleted file mode 100644 index db5ffc6..0000000 --- a/templates/httpd/forward_conf.erb +++ /dev/null @@ -1,96 +0,0 @@ -> - ServerAdmin root@localhost - DocumentRoot /var/www/html - ServerName www.<%= @ng_webserver_name %>/nagios - ServerAlias <%= @ng_webserver_name %> -<% if @ng_use_https == true -%> - Redirect permanent / https://<%= @ng_webserver_name %>/ -<% end -%> -<% if @ng_use_https != true -%> - -ScriptAlias /nagios/cgi-bin/ "/usr/lib64/nagios/cgi-bin/" - - -<% if @ng_use_https == true -%> - SSLRequireSSL -<% else -%> -# SSLRequireSSL -<% end -%> - Options ExecCGI - AllowOverride None - = 2.3> - - Require all granted -<% unless @ng_required_hosts.empty? -%> - Require host <%= @ng_required_hosts %> -<% end -%> -<% unless @ng_required_ips.empty? -%> - Require ip <%= @ng_required_ips %> -<% end -%> - AuthName "Nagios Access" - AuthType Basic - AuthUserFile /etc/nagios/passwd - Require valid-user - - - - Order allow,deny -<% unless @ng_required_hosts.empty? -%> - Allow from <%= @ng_required_hosts %> -<% end -%> -<% unless @ng_required_ips.empty? -%> - Allow from <%= @ng_required_ips %> -<% end -%> - AuthName "Nagios Access" - AuthType Basic - AuthUserFile /etc/nagios/passwd - Require valid-user - - - -Alias /nagios "/usr/share/nagios/html" - - -<% if @ng_use_https == true -%> - SSLRequireSSL -<% else -%> -# SSLRequireSSL -<% end -%> - Options None - AllowOverride None - = 2.3> - - Require all granted -<% unless @ng_required_hosts.empty? -%> - Require host <%= @ng_required_hosts %> -<% end -%> -<% unless @ng_required_ips.empty? -%> - Require ip <%= @ng_required_ips %> -<% end -%> - AuthName "Nagios Access" - AuthType Basic - AuthUserFile /etc/nagios/passwd - Require valid-user - - - - Order allow,deny -<% unless @ng_required_hosts.empty? -%> - Allow from <%= @ng_required_hosts %> -<% end -%> -<% unless @ng_required_ips.empty? -%> - Allow from <%= @ng_required_ips %> -<% end -%> - AuthName "Nagios Access" - AuthType Basic - AuthUserFile /etc/nagios/passwd - Require valid-user - - -<% end -%> - - AllowOverride All - - ErrorLog /var/log/httpd/<%= @ng_webserver_name %>-error_log - CustomLog /var/log/httpd/<%= @ng_webserver_name %>-access_log common - diff --git a/templates/httpd/index_html.erb b/templates/httpd/index_html.erb deleted file mode 100644 index e69de29..0000000 diff --git a/templates/httpd/nagios_ssl_vhost.erb b/templates/httpd/nagios_ssl_vhost.erb deleted file mode 100644 index 9adab84..0000000 --- a/templates/httpd/nagios_ssl_vhost.erb +++ /dev/null @@ -1,126 +0,0 @@ -############################################################################### -##### virtual_host file created by puppet, changes will be overwritten ###### -############################################################################### - -> - - ServerAdmin root@localhost - DocumentRoot /var/www/html - ServerName <%= @ng_webserver_name %> - ServerAlias <%= @ng_webserver_name %> - ErrorLog /var/log/httpd/nagios_ssl_error_log -# ErrorLog syslog:local1 - TransferLog /var/log/httpd/nagios_ssl_transfer_log - LogLevel warn - - SSLEngine on - SSLProtocol all -SSLv2 -SSLv3 - SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4" - -<% if @ng_enable_certbot == true -%> - SSLCertificateFile <%= @ng_certbot_live %>/<%= @ng_webserver_name %>/cert.pem - SSLCertificateKeyFile <%= @ng_certbot_live %>/<%= @ng_webserver_name %>/privkey.pem - SSLCACertificateFile <%= @ng_certbot_live %>/<%= @ng_webserver_name %>/fullchain.pem -<% elsif @ng_enable_certbot != true -%> - SSLCertificateFile /etc/pki/tls/certs/localhost.crt - SSLCertificateKeyFile /etc/pki/tls/private/localhost.key - #SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt -<% end -%> - - SSLOptions +StdEnvVars - - - SSLOptions +StdEnvVars - - -ScriptAlias /nagios/cgi-bin/ "/usr/lib64/nagios/cgi-bin/" - - -<% if @ng_use_https == true -%> - SSLRequireSSL -<% else -%> -# SSLRequireSSL -<% end -%> - Options ExecCGI - AllowOverride None - = 2.3> - - Require all granted -<% unless @ng_required_hosts.empty? -%> - Require host <%= @ng_required_hosts %> -<% end -%> -<% unless @source_range.empty? -%> - Require ip <%= @source_range %> -<% end -%> - AuthName "Nagios Access" - AuthType Basic - AuthUserFile /etc/nagios/passwd - Require valid-user - - - - Order allow,deny -<% unless @ng_required_hosts.empty? -%> - Allow from <%= @ng_required_hosts %> -<% end -%> -<% unless @source_range.empty? -%> - Allow from <%= @source_range %> -<% end -%> - AuthName "Nagios Access" - AuthType Basic - AuthUserFile /etc/nagios/passwd - Require valid-user - - - -Alias /nagios "/usr/share/nagios/html" - - -<% if @ng_use_https == true -%> - SSLRequireSSL -<% else -%> -# SSLRequireSSL -<% end -%> - Options None - AllowOverride None - = 2.3> - - Require all granted -<% unless @ng_required_hosts.empty? -%> - Require host <%= @ng_required_hosts %> -<% end -%> -<% unless @source_range.empty? -%> - Require ip <%= @source_range %> -<% end -%> - AuthName "Nagios Access" - AuthType Basic - AuthUserFile /etc/nagios/passwd - Require valid-user - - - - Order allow,deny -<% unless @ng_required_hosts.empty? -%> - Allow from <%= @ng_required_hosts %> -<% end -%> -<% unless @source_range.empty? -%> - Allow from <%= @source_range %> -<% end -%> - AuthName "Nagios Access" - AuthType Basic - AuthUserFile /etc/nagios/passwd - Require valid-user - - - -RedirectMatch ^/$ https://<%= @ng_webserver_name %>/nagios - - SetEnvIf User-Agent ".*MSIE.*" \ - nokeepalive ssl-unclean-shutdown \ - downgrade-1.0 force-response-1.0 - - - CustomLog logs/ssl_request_log \ - "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" - - diff --git a/templates/nagios/cgi_cfg.erb b/templates/nagios/cgi_cfg.erb deleted file mode 100644 index 99865ea..0000000 --- a/templates/nagios/cgi_cfg.erb +++ /dev/null @@ -1,90 +0,0 @@ -############################################################################### -########## parameterized cgi.cfg created by Puppet ########## -########## manual changes will be overwritten !!! ########## -############################################################################### - -main_config_file=<%= @ng_main_config %> -physical_html_path=<%= @ng_share_html %> - -url_html_path=/nagios - -show_context_help=<%= @ng_context_help %> -use_pending_states=<%= @ng_pending_state %> -use_authentication=<%= @ng_use_auth %> -use_ssl_authentication=<%= @ng_use_ssl_auth %> - -<% if @ng_enable_def_user == true -%> -default_user_name=<%= @ng_def_user_name %> -<% else -%> -#default_user_name=guest -<% end -%> - -authorized_for_system_information=<%= @ng_nagios_admin %>,<%= @ng_sysinfo_auth %> -authorized_for_configuration_information=<%= @ng_nagios_admin %>,<%= @ng_confinfo_auth %> -authorized_for_system_commands=<%= @ng_nagios_admin %>,<%= @ng_command_auth %> -authorized_for_all_services=<%= @ng_nagios_admin %>,<%= @ng_serviceview_auth %> -authorized_for_all_hosts=<%= @ng_nagios_admin %>,<%= @ng_hostview_auth %> -authorized_for_all_service_commands=<%= @ng_nagios_admin %>,<%= @ng_svc_cmd_auth %> -authorized_for_all_host_commands=<%= @ng_nagios_admin %>,<%= @ng_host_cmd_auth %> -authorized_for_read_only=<%= @ng_readonly_auth %> - -statusmap_background_image=<%= @ng_statusmap_img %> - -<% if @ng_use_colormap == true -%> -color_transparency_index_r=<%= @ng_colormap_red %> -color_transparency_index_g=<%= @ng_colormap_green %> -color_transparency_index_b=<%= @ng_colormap_blue %> -<% else -%> -#color_transparency_index_r=255 -#color_transparency_index_g=255 -#color_transparency_index_b=255 -<% end -%> - -default_statusmap_layout=<%= @ng_statusmap_layout%> -default_statuswrl_layout=<%= @ng_wrl_layout %> - -<% if @ng_incl_own_wrl == true -%> -statuswrl_include=<%= @ng_statuswrl_include %> -<% else -%> -#statuswrl_include=myworld.wrl -<% end -%> - -ping_syntax=<%= @ng_ping_syntax %> -refresh_rate=<%= @ng_refresh_rate %> -result_limit=1<%= @ng_result_limit %> -escape_html_tags=<%= @ng_escape_html %> - -<% if @ng_use_sound == true -%> -host_unreachable_sound=<%= @ng_host_unreachable %> -host_down_sound=<%= @ng_host_down %> -service_critical_sound=<%= @ng_svc_critical %> -service_warning_sound=<%= @ng_svc_warn %> -service_unknown_sound=<%= @ng_svc_unknown %> -normal_sound=<%= @ng_normal_sound %> -<% else -%> -#host_unreachable_sound=hostdown.wav -#host_down_sound=hostdown.wav -#service_critical_sound=critical.wav -#service_warning_sound=warning.wav -#service_unknown_sound=warning.wav -#normal_sound=noproblem.wav -<% end -%> - -action_url_target=<%= @ng_action_url_target %> -notes_url_target=<%= @ng_notes_url_target %> - -lock_author_names=<%= @ng_lock_author_names %> - -<% if @ng_enable_splunk -%> -enable_splunk_integration=1 -splunk_url=<%= @ng_splunk_url %> -<% else -%> -enable_splunk_integration=0 -#splunk_url=http://127.0.0.1:8000/ -<% end -%> - -navbar_search_for_addresses=<%= @ng_navbar_addresses %> -navbar_search_for_aliases=<%= @ng_navbar_aliases %> - -ack_no_sticky=<%= @ng_ack_no_sticky %> -ack_no_send=<%= @ng_ack_no_send %> diff --git a/templates/nagios/contactgroups_cfg_head.erb b/templates/nagios/contactgroups_cfg_head.erb deleted file mode 100644 index a6e304f..0000000 --- a/templates/nagios/contactgroups_cfg_head.erb +++ /dev/null @@ -1,6 +0,0 @@ -############################################################################### -########## nagios_add_contactgroups.cfg created by Puppet ########## -########## manual changes are overwritten! ########## -############################################################################### - -# rules are created below by external puppet rules. diff --git a/templates/nagios/contactgroups_cfg_rule.erb b/templates/nagios/contactgroups_cfg_rule.erb deleted file mode 100644 index a3c7d4c..0000000 --- a/templates/nagios/contactgroups_cfg_rule.erb +++ /dev/null @@ -1,6 +0,0 @@ - -define contactgroup { - contactgroup_name <%= @ng_contactgroup_name %> - alias <%= @ng_contactgroup_alias %> - register <%= @ng_contactgroup_register %> - } diff --git a/templates/nagios/contacts_cfg_head.erb b/templates/nagios/contacts_cfg_head.erb deleted file mode 100644 index c357ffc..0000000 --- a/templates/nagios/contacts_cfg_head.erb +++ /dev/null @@ -1,8 +0,0 @@ -############################################################################### -########## nagios_add_contact.cfg created by Puppet ########## -########## manual changes are overwritten! ########## -############################################################################### -########## Full reference file available at ########## -########## https://confdroid.com/2017/07/nagios-contacts-cfg/ ########## -############################################################################### -# rules are created below by external puppet rules. diff --git a/templates/nagios/contacts_cfg_rule.erb b/templates/nagios/contacts_cfg_rule.erb deleted file mode 100644 index 356fa67..0000000 --- a/templates/nagios/contacts_cfg_rule.erb +++ /dev/null @@ -1,8 +0,0 @@ - -define contact { - contact_name <%= @ng_contact_name %> - use <%= @ng_contact_use %> - alias <%= @ng_contact_alias %> - email <%= @ng_contact_email %> - contactgroups <%= @ng_contact_groups %> - } diff --git a/templates/nagios/hostgroups_cfg_head.erb b/templates/nagios/hostgroups_cfg_head.erb deleted file mode 100644 index acfbb87..0000000 --- a/templates/nagios/hostgroups_cfg_head.erb +++ /dev/null @@ -1,5 +0,0 @@ -############################################################################### -########## nagios_hostgroups_add.cfg created by Puppet ########## -########## manual changes are overwritten! ########## -############################################################################### -# rules are created below by external puppet rules. diff --git a/templates/nagios/hostgroups_cfg_rule.erb b/templates/nagios/hostgroups_cfg_rule.erb deleted file mode 100644 index 70b27e3..0000000 --- a/templates/nagios/hostgroups_cfg_rule.erb +++ /dev/null @@ -1,6 +0,0 @@ - -define hostgroup { - hostgroup_name <%= @ng_hostgroup_name %> - alias <%= @ng_hostgroup_alias %> - register <%= @ng_hostgroup_register %> - } diff --git a/templates/nagios/htpasswd_rule.erb b/templates/nagios/htpasswd_rule.erb deleted file mode 100644 index a7e7d87..0000000 --- a/templates/nagios/htpasswd_rule.erb +++ /dev/null @@ -1 +0,0 @@ -<%= @ng_htpasswd_user %>:<%= @ng_htpasswd_password %> diff --git a/templates/nagios/nagios_cfg.erb b/templates/nagios/nagios_cfg.erb deleted file mode 100644 index 3e671c0..0000000 --- a/templates/nagios/nagios_cfg.erb +++ /dev/null @@ -1,214 +0,0 @@ -################################################################################ -##### nagios.cfg created by Puppet | manual changes will be overwritten ##### -################################################################################ - -log_file=<%= @ng_log_file %> - -cfg_dir=<%= @ng_conf_d_dir %> - -object_cache_file=<%= @ng_object_cache_file %> - -precached_object_file=<%= @ng_precached_obj_file %> - -resource_file=<%= @ng_resource_file %> - -status_file=<%= @ng_status_file %> - -status_update_interval=<%= @ng_status_upd_interval %> - -nagios_user=<%= @ng_user %> -nagios_group=<%= @ng_user %> - -check_external_commands=<%= @ng_check_ext_commands %> -command_file=<%= @ng_command_file %> - -<% if @ng_enable_query_handler == true -%> -query_socket=<%= @ng_query_socket %> -<% end -%> - -lock_file=<%= @ng_lock_file %> -temp_file=<%= @ng_temp_file %> -temp_path=<%= @ng_temp_path %> - -event_broker_options=<%= @ng_event_broker_options %> - -<% unless @ng_event_broker_module.empty? -%> -<% @ng_event_broker_module.each do |broker_module| -%> -broker_module=<%= broker_module %> -<% end end -%> - -log_rotation_method=<%= @ng_log_rotation_method %> -log_archive_path=<%= @ng_log_archive_path %> -use_syslog=<%= @ng_use_syslog %> -log_notifications=<%= @ng_log_notifications %> -log_service_retries=<%= @ng_log_service_retries %> -log_host_retries=<%= @ng_log_host_retries %> -log_event_handlers=<%= @ng_log_event_handlers %> -log_initial_states=<%= @ng_log_initial_states %> -log_current_states=<%= @ng_log_current_states %> -log_external_commands=<%= @ng_log_external_commands %> -log_passive_checks=<%= @ng_log_passive_checks %> - -<% unless @ng_glob_host_evt_handler.empty? -%> -<% @ng_glob_host_evt_handler.each do |global_host_event_handler| -%> -global_host_event_handler=<%= @ng_glob_host_evt_handler %> -<% end end -%> -<% unless @ng_glob_svc_evt_handler.empty? -%> -<% @ng_glob_svc_evt_handler.each do |global_service_event_handler| -%> -global_service_event_handler=<%= @ng_glob_svc_evt_handler %> -<% end end -%> - -service_inter_check_delay_method=<%= @ng_svc_int_check_delay %> -max_service_check_spread=<%= @ng_max_svc_check_spread %> -service_interleave_factor=<%= @ng_svc_interleave_factor %> - -host_inter_check_delay_method=<%= @ng_host_int_check_delay %> -max_host_check_spread=<%= @ng_max_host_check_spread %> - -max_concurrent_checks=<%= @ng_max_concurrent_checks %> -check_result_reaper_frequency=<%= @ng_check_res_reaper_freq %> -max_check_result_reaper_time=<%= @ng_max_check_res_reap_time %> - -check_result_path=<%= @ng_check_result_path %> -max_check_result_file_age=<%= @ng_max_check_res_file_age %> -cached_host_check_horizon=<%= @ng_cached_h_check_horizon %> -cached_service_check_horizon=<%= @ng_cached_s_check_horizon %> - -enable_predictive_host_dependency_checks=<%= @ng_pred_host_dep_checks %> -enable_predictive_service_dependency_checks=<%= @ng_pred_svc_dep_checks %> - -soft_state_dependencies=<%= @ng_soft_state_dependencies %> - -time_change_threshold=<%= @ng_time_change_threshold %> - -auto_reschedule_checks=<%= @ng_auto_reschedule_checks %> -auto_rescheduling_interval=<%= @ng_auto_reschedule_intval %> -auto_rescheduling_window=<%= @ng_auto_reschedule_window %> - -service_check_timeout=<%= @ng_service_check_timeout %> -host_check_timeout=<%= @ng_host_check_timeout %> -event_handler_timeout=<%= @ng_event_handler_timeout %> -notification_timeout=<%= @ng_notification_timeout %> -ocsp_timeout=<%= @ng_ocsp_timeout %> -perfdata_timeout=<%= @ng_perfdata_timeout %> - -retain_state_information=<%= @ng_retain_state_inf %> -state_retention_file=<%= @ng_state_retention_file %> -retention_update_interval=<%= @ng_retention_update_intval %> -use_retained_program_state=<%= @ng_use_ret_program_state %> -use_retained_scheduling_info=<%= @ng_use_ret_scheduling_info %> -retained_host_attribute_mask=<%= @ng_ret_host_attr_mask %> -retained_service_attribute_mask=<%= @ng_ret_service_attr_mask %> -retained_process_host_attribute_mask=<%= @ng_ret_proc_host_attr_mask %> -retained_process_service_attribute_mask=<%= @ng_ret_proc_svc_attr_mask %> -retained_contact_host_attribute_mask=<%= @ng_ret_contact_h_attr_mask %> -retained_contact_service_attribute_mask=<%= @ng_ret_contact_s_attr_mask %> - -interval_length=<%= @ng_interval_length %> -check_for_updates=<%= @ng_check_for_updates %> -bare_update_check=<%= @ng_bare_update_check %> - -use_aggressive_host_checking=<%= @ng_use_aggr_host_checking %> -execute_service_checks=<%= @ng_execute_service_checks %> -accept_passive_service_checks=<%= @ng_accept_pass_svc_checks %> -execute_host_checks=<%= @ng_execute_host_checks %> -accept_passive_host_checks=<%= @ng_accept_pass_host_checks %> - -enable_notifications=<%= @ng_enable_notifications %> -enable_event_handlers=<%= @ng_enable_event_handlers %> -process_performance_data=<%= @ng_process_perf_data %> - -<% if @ng_process_perf_data == '1' -%> -host_perfdata_command=<%= @ng_host_perfdata_command %> -service_perfdata_command=<%= @ng_svc_perfdata_command %> -host_perfdata_file=<%= @ng_host_perfdata_file %> -service_perfdata_file=<%= @ng_service_perfdata_file %> -host_perfdata_file_template=<%= @ng_host_perfdata_template %> -service_perfdata_file_template=<%= @ng_svc_perfdata_template %> -host_perfdata_file_mode=<%= @ng_host_perfdata_file_mode %> -service_perfdata_file_mode=<%= @ng_svc_perfdata_file_mode %> -host_perfdata_file_processing_interval=<%= @ng_h_perfdata_proc_intval %> -service_perfdata_file_processing_interval=<%= @ng_s_perfdata_proc_intval %> -host_perfdata_file_processing_command=<%= @ng_h_perfdata_proc_cmd %> -service_perfdata_file_processing_command=<%= @ng_s_perfdata_proc_cmd %> -host_perfdata_process_empty_results=<%= @ng_h_perfdata_proc_e_res %> -service_perfdata_process_empty_results=<%= @ng_s_perfdata_proc_e_res %> -<% end -%> - -obsess_over_services=<%= @ng_obsess_over_services %> -<% if @ng_obsess_over_services == '1' -%> -ocsp_command=<%= @ng_ocsp_command %> -<% end -%> - -obsess_over_hosts=<%= @ng_obsess_over_hosts %> -<% if @ng_obsess_over_hosts == '1' -%> -ochp_command=<%= @ng_ochp_command %> -<% end -%> - -translate_passive_host_checks=<%= @ng_translate_pass_h_checks %> - -passive_host_checks_are_soft=<%= @ng_pass_h_checks_are_soft %> - -check_for_orphaned_services=<%= @ng_check_orphaned_svc %> -check_for_orphaned_hosts=<%= @ng_check_orphaned_hosts %> - -check_service_freshness=<%= @ng_check_service_freshness %> -<% if @ng_check_service_freshness == '1' -%> -service_freshness_check_interval=<%= @ng_svc_fresh_check_intval %> -<% end -%> - -service_check_timeout_state=<%= @ng_svc_check_timeout_state %> - -check_host_freshness=<%= @ng_check_host_freshness %> -<% if @ng_check_host_freshness == '1' -%> -host_freshness_check_interval=<%= @ng_host_fresh_check_intval %> -<% end -%> - -additional_freshness_latency=<%= @ng_add_freshness_latency %> - -enable_flap_detection=<%= @ng_enable_flap_detection %> -<% if @ng_enable_flap_detection == '1' -%> -low_service_flap_threshold=<%= @ng_low_svc_flap_threshold %> -high_service_flap_threshold=<%= @ng_high_svc_flap_threshold %> -low_host_flap_threshold=<%= @ng_low_h_flap_threshold %> -high_host_flap_threshold=<%= @ng_high_h_flap_threshold %> -<% end -%> - -date_format=<%= @ng_date_format %> - -<% if @ng_use_timezone_offset == true -%> -use_timezone=<%= @ng_use_timezone %> -<% end -%> - -illegal_object_name_chars=<%= @ng_illegal_obj_name_chars %> -illegal_macro_output_chars=<%= @ng_ill_macro_output_chars %> - -use_regexp_matching=<%= @ng_use_regexp_matching %> -use_true_regexp_matching=<%= @ng_true_regexp_matching %> - -admin_email=<%= @ng_mail_user %> -admin_pager=<%= @ng_page_user %> - -daemon_dumps_core=<%= @ng_daemon_dumps_core %> - -use_large_installation_tweaks=<%= @ng_use_large_inst_tweaks %> -enable_environment_macros=<%= @ng_enable_env_macros %> - -free_child_process_memory=<%= @ng_free_child_process_mem %> -child_processes_fork_twice=<%= @ng_child_proc_fork_twice %> - -debug_level=<%= @ng_debug_level %> -debug_verbosity=<%= @ng_debug_verbosity %> -debug_file=<%= @ng_debug_file %> -max_debug_file_size=<%= @ng_max_debug_file_size %> - -allow_empty_hostgroup_assignment=<%= @ng_allow_empty_hostgroups %> -<% unless @ng_check_workers.empty? -%> -check_workers=<%= @ng_check_workers %> -<% end -%> - -host_down_disable_service_checks=<%= @ng_host_down_svc_checks %> - -<% if @ng_enable_load_ctl_options == true -%> -loadctl_options=<%= @ng_loadctl_options %> -<% end -%> diff --git a/templates/nagios/resource_cfg.erb b/templates/nagios/resource_cfg.erb deleted file mode 100755 index cc1a6f6..0000000 --- a/templates/nagios/resource_cfg.erb +++ /dev/null @@ -1,5 +0,0 @@ -################################################################################ -##### resource.cfg created by Puppet | manual changes will be overwritten ##### -################################################################################ - -# $user$ arguments are created below through defines. diff --git a/templates/nagios/resource_cfg_rule.erb b/templates/nagios/resource_cfg_rule.erb deleted file mode 100644 index f7e1363..0000000 --- a/templates/nagios/resource_cfg_rule.erb +++ /dev/null @@ -1,3 +0,0 @@ - -# <%= @ng_user_arg_comment %> -$<%= @ng_user_arg_name %>$=<%= @ng_user_arg_value %> diff --git a/templates/nagios/svcgroups_cfg_head.erb b/templates/nagios/svcgroups_cfg_head.erb deleted file mode 100644 index 7612129..0000000 --- a/templates/nagios/svcgroups_cfg_head.erb +++ /dev/null @@ -1,5 +0,0 @@ -############################################################################### -########## nagios_servicegroups_add.cfg created by Puppet ########## -########## manual changes are overwritten! ########## -############################################################################### -# rules are created below by external puppet rules. diff --git a/templates/nagios/svcgroups_cfg_rule.erb b/templates/nagios/svcgroups_cfg_rule.erb deleted file mode 100644 index 4d5e62b..0000000 --- a/templates/nagios/svcgroups_cfg_rule.erb +++ /dev/null @@ -1,6 +0,0 @@ - -define servicegroup { - servicegroup_name <%= @ng_servicegroup_name %> - alias <%= @ng_servicegroup_alias %> - register <%= @ng_servicegroup_register %> - } diff --git a/templates/nagios/templates_cfg_head.erb b/templates/nagios/templates_cfg_head.erb deleted file mode 100644 index 1f8dfc3..0000000 --- a/templates/nagios/templates_cfg_head.erb +++ /dev/null @@ -1,5 +0,0 @@ -############################################################################### -### nagios_templates.cfg created by Puppet | manual changes are overwritten!### -############################################################################### - -# rules are created below by external puppet rules. diff --git a/templates/nagios/templates_cfg_rule.erb b/templates/nagios/templates_cfg_rule.erb deleted file mode 100644 index 7daa9ef..0000000 --- a/templates/nagios/templates_cfg_rule.erb +++ /dev/null @@ -1,133 +0,0 @@ - -<% if @ng_template_object == 'contact' -%> -define <%= @ng_template_object %>{ - name <%= @ng_template_object_name %> - service_notification_period <%= @ng_svc_notification_period %> - host_notification_period <%= @ng_host_notification_period %> - service_notification_options <%= @ng_service_notification_options %> - host_notification_options <%= @ng_host_notification_options %> - service_notification_commands <%= @ng_service_notification_commands %> - host_notification_commands <%= @ng_host_notification_commands %> - register <%= @ng_object_register %> - } -<% elsif @ng_template_object == 'host' -%> -<% if @ng_template_object_name == 'generic-host' -%> -define <%= @ng_template_object %>{ - name <%= @ng_template_object_name %> - notifications_enabled <%= @ng_notifications_enabled %> - event_handler_enabled <%= @ng_event_handler_enabled %> - flap_detection_enabled <%= @ng_flap_detection_enabled %> - process_perf_data <%= @ng_process_perf_data %> - retain_status_information <%= @ng_retain_status_information %> - retain_nonstatus_information <%= @ng_retain_nonstatus_information %> - notification_period <%= @ng_notification_period %> - notification_options <%= @ng_host_notification_options %> - register <%= @ng_object_register %> - } -<% end -%> -<% if @ng_template_object_name == 'linux-server' -%> -define <%= @ng_template_object %>{ - name <%= @ng_template_object_name %> - use <%= @ng_template_object_use %> - check_period <%= @ng_check_period %> - check_interval <%= @ng_check_interval %> - retry_interval <%= @ng_retry_interval %> - max_check_attempts <%= @ng_ng_max_check_attempts %> - check_command <%= @ng_host_check_command %> - notification_period <%= @ng_notification_period %> - notification_interval <%= @ng_notification_interval %> - notification_options <%= @ng_notification_options %> - contact_groups <%= @ng_contact_groups %> - hostgroups linux-servers - register <%= @ng_object_register %> - } -<% end -%> -<% if @ng_template_object_name == 'windows-server' -%> -define <%= @ng_template_object %>{ - name <%= @ng_template_object_name %> - use <%= @ng_template_object_use %> - check_period <%= @ng_check_period %> - check_interval <%= @ng_check_interval %> - retry_interval <%= @ng_retry_interval %> - max_check_attempts <%= @ng_max_check_attempts %> - check_command <%= @ng_host_check_command %> - notification_period <%= @ng_notification_period %> - notification_interval <%= @ng_notification_interval %> - notification_options <%= @ng_notification_options %> - contact_groups <%= @ng_contact_groups %> - hostgroups windows-servers - register <%= @ng_object_register %> - } -<% end -%> -<% if @ng_template_object_name == 'generic_printer' -%> -define <%= @ng_template_object %>{ - name <%= @ng_template_object_name %> - use <%= @ng_template_object_use %> - check_period <%= @ng_check_period %> - check_interval <%= @ng_check_interval %> - retry_interval <%= @ng_retry_interval %> - max_check_attempts <%= @ng_max_check_attempts %> - check_command <%= @ng_host_check_command %> - notification_period <%= @ng_notification_period %> - notification_interval <%= @ng_notification_interval %> - notification_options <%= @ng_notification_options %> - contact_groups <%= @ng_contact_groups %> - statusmap_image printer.png - register <%= @ng_object_register %> - } -<% end -%> -<% if @ng_template_object_name == 'generic_switch' -%> -define <%= @ng_template_object %>{ - name <%= @ng_template_object_name %> - use <%= @ng_template_object_use %> - check_period <%= @ng_check_period %> - check_interval <%= @ng_check_interval %> - retry_interval <%= @ng_retry_interval %> - max_check_attempts <%= @ng_max_check_attempts %> - check_command <%= @ng_host_check_command %> - notification_period <%= @ng_notification_period %> - notification_interval <%= @ng_notification_interval %> - notification_options <%= @ng_notification_options %> - contact_groups <%= @ng_contact_groups %> - statusmap_image switch.png - register <%= @ng_object_register %> - } -<% end -%> -<% elsif @ng_template_object == 'service' -%> -<% if @ng_template_object_name == 'generic-service' -%> -define <%= @ng_template_object %>{ - name <%= @ng_template_object_name %> - active_checks_enabled <%= @ng_active_checks_enabled %> - passive_checks_enabled <%= @ng_passive_checks_enabled %> - parallelize_check <%= @ng_parallelize_check %> - obsess_over_service <%= @ng_obsess_over_service %> - check_freshness <%= @ng_check_freshness %> - notifications_enabled <%= @ng_notifications_enabled %> - event_handler_enabled <%= @ng_event_handler_enabled %> - flap_detection_enabled <%= @ng_flap_detection_enabled %> - process_perf_data <%= @ng_process_perf_data %> - retain_status_information <%= @ng_retain_status_information %> - retain_nonstatus_information <%= @ng_retain_nonstatus_information %> - is_volatile <%= @ng_is_volatile %> - check_period <%= @ng_check_period %> - max_check_attempts <%= @ng_max_check_attempts %> - check_interval <%= @ng_check_interval %> - retry_interval <%= @ng_retry_interval %> - contact_groups <%= @ng_contact_groups %> - notification_options <%= @ng_service_notification_options %> - notification_interval <%= @ng_notification_interval %> - notification_period <%= @ng_notification_period %> - register <%= @ng_object_register %> - } -<% end -%> -<% if @ng_template_object_name == 'local-service' -%> -define <%= @ng_template_object %>{ - name <%= @ng_template_object_name %> - use <%= @ng_template_object_use %> - max_check_attempts <%= @ng_max_check_attempts %> - check_interval <%= @ng_check_interval %> - retry_interval <%= @ng_retry_interval %> - register <%= @ng_object_register %> - } -<% end -%> -<% end -%> diff --git a/templates/nagios/timeperiods_cfg_head.erb b/templates/nagios/timeperiods_cfg_head.erb deleted file mode 100644 index 133d7f3..0000000 --- a/templates/nagios/timeperiods_cfg_head.erb +++ /dev/null @@ -1,5 +0,0 @@ -############################################################################### -########## nagios_timeperiods_add.cfg created by Puppet ########## -########## manual changes are overwritten! ########## -############################################################################### -# rules are created below by external puppet rules. diff --git a/templates/nagios/timeperiods_cfg_rule.erb b/templates/nagios/timeperiods_cfg_rule.erb deleted file mode 100644 index 53e5830..0000000 --- a/templates/nagios/timeperiods_cfg_rule.erb +++ /dev/null @@ -1,12 +0,0 @@ - -define timeperiod { - timeperiod_name <%= @ng_timep_name %> - alias <%= @ng_timep_alias %> - monday <%= @ng_timep_monday %> - tuesday <%= @ng_timep_tuesday %> - wednesday <%= @ng_timep_wednesday %> - thursday <%= @ng_timep_thursday %> - friday <%= @ng_timep_friday %> - saturday <%= @ng_timep_saturday %> - sunday <%= @ng_timep_sunday %> - } diff --git a/templates/selinux/checknagios.erb b/templates/selinux/checknagios.erb deleted file mode 100644 index d974f95..0000000 --- a/templates/selinux/checknagios.erb +++ /dev/null @@ -1 +0,0 @@ -ausearch -c 'check_nagios' --raw | audit2allow -M my-checknagios diff --git a/templates/selinux/checknrpe.erb b/templates/selinux/checknrpe.erb deleted file mode 100644 index 9c0670f..0000000 --- a/templates/selinux/checknrpe.erb +++ /dev/null @@ -1 +0,0 @@ -ausearch -c 'check_nrpe' --raw | audit2allow -M my-checknrpe diff --git a/templates/selinux/grep.erb b/templates/selinux/grep.erb deleted file mode 100644 index 22117a4..0000000 --- a/templates/selinux/grep.erb +++ /dev/null @@ -1 +0,0 @@ -ausearch -c 'grep' --raw | audit2allow -M my-grep diff --git a/templates/selinux/statuscgi.erb b/templates/selinux/statuscgi.erb deleted file mode 100644 index aad984f..0000000 --- a/templates/selinux/statuscgi.erb +++ /dev/null @@ -1 +0,0 @@ -ausearch -c 'status.cgi' --raw | audit2allow -M my-statuscgi diff --git a/templates/selinux/statusdat.erb b/templates/selinux/statusdat.erb deleted file mode 100644 index 7ecd4c0..0000000 --- a/templates/selinux/statusdat.erb +++ /dev/null @@ -1 +0,0 @@ -ausearch -c 'httpd' --raw | audit2allow -M my-httpd diff --git a/templates/selinux/taccgi.erb b/templates/selinux/taccgi.erb deleted file mode 100644 index 13657ad..0000000 --- a/templates/selinux/taccgi.erb +++ /dev/null @@ -1 +0,0 @@ -ausearch -c 'tac.cgi' --raw | audit2allow -M my-taccgi