]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/munin-node/manifests/init.pp
(www) Add redirections for some old Refresh hacks
[dsa-puppet.git] / modules / munin-node / manifests / init.pp
index f0fff2aaec92f8dda37d2c7f866d9dc2861bbcb1..72dbce1cbde6b398f5befb26faacb6412a71860e 100644 (file)
+define activate_munin_check($ensure=present, $script = none) {
+    case $script {
+        none: { $link = $name }
+        default: { $link = $script }
+    }
+
+    case $ensure {
+        present: {
+            file { "/etc/munin/plugins/$name":
+                     ensure => "/usr/share/munin/plugins/$link",
+                     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 => latest }
+    package { munin-node: ensure => installed }
+
+    activate_munin_check {
+        "cpu":;
+        "entropy":;
+        "forks":;
+        "interrupts":;
+        "iostat":;
+        "irqstats":;
+        "load":;
+        "memory":;
+        "ntp_offset":;
+        "ntp_states":;
+        "open_files":;
+        "open_inodes":;
+        "processes":;
+        "swap":;
+        "uptime":;
+        "vmstat":;
+    }
 
-    file { "/etc/munin/munin-node.conf":
-        owner   => root,
-        group   => root,
-        mode    => 664,
-        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"],
+    case $spamd {
+        "true": {
+              activate_munin_check { "spamassassin":; }
+        }
+    }
+
+    case $vsftpd {
+        "true": {
+              package { 
+                      "logtail": ensure => installed;
+              }
+              activate_munin_check {
+                      "vsftpd":;
+                      "ps_vsftpd": script => "ps_";
+              }
+        }
+    }
+
+    file {
+        "/etc/munin/munin-node.conf":
+            content => template("munin-node/munin-node.conf.erb"),
+            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"];
+
+        "/etc/munin/plugins/df":
+            source  => "puppet:///modules/munin-node/df-wrap",
+            mode    => 555,
+            require => Package["munin-node"],
+            notify  => Exec["munin-node restart"]
+            ;
+        "/etc/munin/plugins/df_abs":
+            source  => "puppet:///modules/munin-node/df-wrap",
+            mode    => 555,
+            require => Package["munin-node"],
+            notify  => Exec["munin-node restart"]
+            ;
+        "/etc/munin/plugins/df_inode":
+            source  => "puppet:///modules/munin-node/df-wrap",
+            mode    => 555,
+            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,
     }
+    @ferm::rule { "dsa-munin-v4":
+            description     => "Allow munin from munin master",
+            rule            => "proto tcp mod state state (NEW) dport (munin) @subchain 'munin' { saddr (\$HOST_MUNIN_V4 \$HOST_NAGIOS_V4) ACCEPT; }",
+            notarule        => true,
+    }
+    @ferm::rule { "dsa-munin-v6":
+            description     => "Allow munin from munin master",
+            domain          => "ip6",
+            rule            => "proto tcp mod state state (NEW) dport (munin) @subchain 'munin' { saddr (\$HOST_MUNIN_V6 \$HOST_NAGIOS_V6) ACCEPT; }",
+            notarule        => true,
+    }
 }
 
+# vim:set et:
+# vim:set sts=4 ts=4:
+# vim:set shiftwidth=4: