]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/munin-node/manifests/init.pp
does that work?
[dsa-puppet.git] / modules / munin-node / manifests / init.pp
index 523d6b9722679561d91515ae6c7ec61c4bfa489c..9b40cf965cf648320682e9a6cd0af85f377d3e74 100644 (file)
@@ -1,24 +1,88 @@
-define activate_munin_check() {
-       file { "/etc/munin/plugins/$name":
-                ensure => "/usr/share/munin/plugins/$name",
-                notify => Exec["munin-node restart"];
+define activate_munin_check($ensure=present, $script=$name) {
+    case $script {
+        "": { $base = $name }
+        default: { $base = $script }
+    }
+
+    case $ensure {
+        present: {
+            file { "/etc/munin/plugins/$name":
+                     ensure => "/usr/share/munin/plugins/$base",
+                     notify => Exec["munin-node restart"];
+            }
         }
+        default: {
+            file { "/etc/munin/plugins/$name":
+                     ensure => $ensure,
+                     notify => Exec["munin-node restart"];
+            }
+        }
+    }
 }
 
 class munin-node {
 
     package { munin-node: ensure => installed }
 
-    file { "/etc/munin/munin-node.conf":
-        source  => [ "puppet:///munin-node/per-host/$fqdn/munin-node.conf",
-                     "puppet:///munin-node/common/munin-node.conf" ],
-        require => Package["munin-node"],
-        notify  => Exec["munin-node restart"],
+    activate_munin_check {
+        "cpu":;
+        "df":;
+        "df_abs":;
+        "df_inode":;
+        "entropy":;
+        "forks":;
+        "interrupts":;
+        "iostat":;
+        "irqstats":;
+        "load":;
+        "memory":;
+        "ntp_offset":;
+        "ntp_states":;
+        "open_files":;
+        "open_inodes":;
+        "processes":;
+        "swap":;
+        "uptime":;
+        "vmstat":;
+    }
+
+    case $spamd {
+        "true": {
+              activate_munin_check { "spamassassin":; }
+        }
+    }
+
+    case $vsftpd {
+        "true": {
+              include munin-node::vsftpd
+        }
+    }
+
+    file {
+        "/etc/munin/munin-node.conf":
+            source  => [ "puppet:///munin-node/per-host/$fqdn/munin-node.conf",
+                         "puppet:///munin-node/common/munin-node.conf" ],
+            require => Package["munin-node"],
+            notify  => Exec["munin-node restart"];
+
+        "/etc/munin/plugin-conf.d/munin-node":
+            content => template("munin-node/munin-node.plugin.conf.erb"),
+            require => Package["munin-node"],
+            notify  => Exec["munin-node restart"];
     }
 
     exec { "munin-node restart":
         path        => "/etc/init.d:/usr/bin:/usr/sbin:/bin:/sbin",
         refreshonly => true,
     }
+    case $ferm {
+       "true": {
+           ferm::rule { "dsa-munin":
+               description     => "Allow munin-node from spohr.debian.org",
+               rule            => 'proto tcp dport 4949 saddr $HOST_MUNIN ACCEPT',
+               prio            => "02"
+          }
+       }
+   }
 }