summaryrefslogtreecommitdiff
path: root/manifests/service/http.pp
diff options
context:
space:
mode:
authorMicah <micah@riseup.net>2015-12-09 19:32:51 +0000
committerMicah <micah@riseup.net>2015-12-09 19:32:51 +0000
commitd1321c39001ebd445b37fd551fbfd324b6ab6ae0 (patch)
tree6c3a56aac66bf1cdce128d89550151a11cdb21c2 /manifests/service/http.pp
parent993b624bd14dc5ef88847b11abc06d2b708c23b6 (diff)
parent6cd3270ccfd806bcc8097be4f6982c6dccc6a4aa (diff)
Merge branch 'immerda_changes' into 'master'
Merge in immerda changes - purging of resources and lots of nice additional checks Sorry for the big amount of changes, but I think I merged everything nicely with what we have been working. Ok, so what do you get here: * Purging of unmanaged resources, for that I had to move everything to the default paths of the puppet types, BUT now as soon as a node won't export anymore a resource it will get purged from nagios. No more cleaning up of decomissioned nodes, just remove them from puppet (puppet node clean oldnode.example.com) and they will also disappear from nagios. * slight changes to the http checks. ** naming the checks consistently, so it's easier to change what they are looking for. ** Also accept 301 & 302 as a good value per default. ** make it possible to define accepted return codes per http & https * add gpgkey checks, so you won't miss any expiring gpg keys anymore * add imap login checks, so you can check whether ppl can actually login to your mailserver * add horde login checks, so you can check whether login to horde still works * linting wherever I touched something. See merge request !15
Diffstat (limited to 'manifests/service/http.pp')
-rw-r--r--manifests/service/http.pp76
1 files changed, 42 insertions, 34 deletions
diff --git a/manifests/service/http.pp b/manifests/service/http.pp
index ef63abb..b80c140 100644
--- a/manifests/service/http.pp
+++ b/manifests/service/http.pp
@@ -4,43 +4,51 @@
# - force: http is permanent redirect to https
# - only: check only https
define nagios::service::http(
- $ensure = present,
- $check_domain = 'absent',
- $port = '80',
- $check_url = '/',
- $check_code = 'OK',
- $use = 'generic-service',
- $ssl_mode = false
+ $ensure = present,
+ $check_domain = 'absent',
+ $port = '80',
+ $check_url = '/',
+ $check_code = '200,301,302',
+ $use = 'generic-service',
+ $ssl_mode = false
){
- $real_check_domain = $check_domain ? {
- 'absent' => $name,
- default => $check_domain
+ $real_check_domain = $check_domain ? {
+ 'absent' => $name,
+ default => $check_domain
+ }
+ if is_hash($check_code) {
+ $check_code_hash = $check_code
+ } else {
+ $check_code_hash = {
+ http => $check_code,
+ https => $check_code,
}
- case $ssl_mode {
- 'force',true,'only': {
- nagios::service{"https_${name}_${check_code}":
- ensure => $ensure,
- use => $use,
- check_command => "check_https_url_regex!${real_check_domain}!${check_url}!'${check_code}'",
- }
- case $ssl_mode {
- 'force': {
- nagios::service{"httprd_${name}":
- ensure => $ensure,
- use => $use,
- check_command => "check_http_url_regex!${real_check_domain}!${port}!${check_url}!'301'",
- }
- }
- }
+ }
+ case $ssl_mode {
+ 'force',true,'only': {
+ nagios::service{"https_${name}":
+ ensure => $ensure,
+ use => $use,
+ check_command => "check_https_url_regex!${real_check_domain}!${check_url}!'${check_code_hash[https]}'",
+ }
+ case $ssl_mode {
+ 'force': {
+ nagios::service{"http_${name}":
+ ensure => $ensure,
+ use => $use,
+ check_command => "check_http_url_regex!${real_check_domain}!${port}!${check_url}!'301'",
+ }
}
+ }
}
- case $ssl_mode {
- false,true: {
- nagios::service{"http_${name}_${check_code}":
- ensure => $ensure,
- use => $use,
- check_command => "check_http_url_regex!${real_check_domain}!${port}!${check_url}!'${check_code}'",
- }
- }
+ }
+ case $ssl_mode {
+ false,true: {
+ nagios::service{"http_${name}":
+ ensure => $ensure,
+ use => $use,
+ check_command => "check_http_url_regex!${real_check_domain}!${port}!${check_url}!'${check_code_hash[http]}'",
+ }
}
+ }
}