]> git.immae.eu Git - perso/Immae/Projets/Puppet.git/blobdiff - modules/profile/manifests/monitoring.pp
Add monitoring
[perso/Immae/Projets/Puppet.git] / modules / profile / manifests / monitoring.pp
diff --git a/modules/profile/manifests/monitoring.pp b/modules/profile/manifests/monitoring.pp
new file mode 100644 (file)
index 0000000..beabe70
--- /dev/null
@@ -0,0 +1,51 @@
+class profile::monitoring (
+  Optional[String] $naemon_url   = undef,
+  Optional[String] $naemon_token = undef,
+) {
+  ensure_packages(["naemon", "cnagios"])
+
+  file { "/etc/naemon":
+    ensure  => "directory",
+    recurse => true,
+    purge   => true,
+    force   => true,
+    require => Package["naemon"],
+  }
+  ->
+  file { "/etc/naemon/resource.cfg":
+    ensure  => "file",
+    owner   => "naemon",
+    group   => "naemon",
+    mode    => "0600",
+    content => template("profile/monitoring/resource.cfg.erb"),
+  }
+  ->
+  file { "/etc/naemon/naemon.cfg":
+    ensure  => "file",
+    owner   => "naemon",
+    group   => "naemon",
+    mode    => "0644",
+    content => template("profile/monitoring/naemon.cfg.erb"),
+  }
+  ->
+  service { "naemon":
+    ensure => "running",
+    enable => true,
+  }
+
+  unless ($naemon_url == undef or empty($naemon_url)) {
+    file { "/etc/naemon/send_nrdp.sh":
+      ensure  => "file",
+      owner   => "naemon",
+      group   => "naemon",
+      mode    => "0700",
+      content => template("profile/monitoring/send_nrdp.sh.erb"),
+    }
+  }
+
+  include "profile::monitoring::hosts"
+  include "profile::monitoring::services"
+  include "profile::monitoring::commands"
+  include "profile::monitoring::times"
+  include "profile::monitoring::contacts"
+}