diff options
Diffstat (limited to 'manifests')
-rw-r--r-- | manifests/client/debian.pp | 4 | ||||
-rw-r--r-- | manifests/client/openbsd.pp | 52 | ||||
-rw-r--r-- | manifests/host.pp | 10 | ||||
-rw-r--r-- | manifests/host/cgi.pp | 10 | ||||
-rw-r--r-- | manifests/plugin.pp | 2 | ||||
-rw-r--r-- | manifests/plugin/deploy.pp | 2 | ||||
-rw-r--r-- | manifests/plugin/scriptpaths.pp | 5 | ||||
-rw-r--r-- | manifests/plugins/apache.pp | 8 | ||||
-rw-r--r-- | manifests/plugins/base.pp | 63 | ||||
-rw-r--r-- | manifests/plugins/debian.pp | 3 | ||||
-rw-r--r-- | manifests/plugins/djbdns.pp | 2 | ||||
-rw-r--r-- | manifests/plugins/dom0.pp | 14 | ||||
-rw-r--r-- | manifests/plugins/gentoo.pp | 6 | ||||
-rw-r--r-- | manifests/plugins/interfaces.pp | 32 | ||||
-rw-r--r-- | manifests/plugins/linux.pp | 16 | ||||
-rw-r--r-- | manifests/plugins/muninhost.pp | 5 | ||||
-rw-r--r-- | manifests/plugins/openbsd.pp | 17 | ||||
-rw-r--r-- | manifests/plugins/physical.pp | 8 | ||||
-rw-r--r-- | manifests/plugins/selinux.pp | 5 | ||||
-rw-r--r-- | manifests/plugins/setup.pp | 27 | ||||
-rw-r--r-- | manifests/plugins/vserver.pp | 10 | ||||
-rw-r--r-- | manifests/register/snmp.pp | 2 | ||||
-rw-r--r-- | manifests/snmp_collector.pp | 2 |
23 files changed, 158 insertions, 147 deletions
diff --git a/manifests/client/debian.pp b/manifests/client/debian.pp index 97f5fbf..9cc16db 100644 --- a/manifests/client/debian.pp +++ b/manifests/client/debian.pp @@ -1,6 +1,8 @@ class munin::client::debian inherits munin::client::package { # the plugin will need that - package { "iproute": ensure => installed } + if !defined(Package['iproute']) { + package { "iproute": ensure => installed } + } Service["munin-node"]{ # sarge's munin-node init script has no status diff --git a/manifests/client/openbsd.pp b/manifests/client/openbsd.pp index c10a474..7012c00 100644 --- a/manifests/client/openbsd.pp +++ b/manifests/client/openbsd.pp @@ -1,39 +1,55 @@ # currently we install munin on openbsd by targz # :( class munin::client::openbsd inherits munin::client::base { - file{'/usr/src/munin_openbsd.tar.gz': - source => "puppet://$server/modules/munin/openbsd/package/munin_openbsd.tar.gz", + if $operatingsystemrelease == '4.3' { + file{'/usr/src/munin_openbsd.tar.gz': + source => "puppet:///modules/munin/openbsd/package/munin_openbsd.tar.gz", owner => root, group => 0, mode => 0600; - } - package{ [ 'p5-Compress-Zlib', 'p5-Crypt-SSLeay', 'p5-HTML-Parser', - 'p5-HTML-Tagset', 'p5-HTTP-GHTTP', 'p5-LWP-UserAgent-Determined', - 'p5-Net-SSLeay', 'p5-Net-Server', 'p5-URI', 'p5-libwww', 'pcre', 'curl' ]: - ensure => installed, - before => File['/var/run/munin'], - } - exec{'extract_openbsd': + } + exec{'extract_openbsd': command => 'cd /;tar xzf /usr/src/munin_openbsd.tar.gz', unless => 'test -d /opt/munin', require => File['/usr/src/munin_openbsd.tar.gz'], + before => File['/var/run/munin'], + } + package{'p5-Compress-Zlib': + ensure => installed, + before => File['/var/run/munin'], + } + } else { + package{'munin-node': + ensure => installed, + } + } + package{ [ 'p5-Crypt-SSLeay', 'p5-HTML-Parser', 'p5-HTML-Tagset', 'p5-HTTP-GHTTP', + 'p5-LWP-UserAgent-Determined', 'p5-Net-SSLeay', 'p5-Net-Server', + 'p5-URI', 'p5-libwww', 'pcre', 'curl' ]: + ensure => installed, + before => File['/var/run/munin'], } file{[ '/var/run/munin', '/var/log/munin' ]: - ensure => directory, - require => Exec['extract_openbsd'], - owner => root, group => 0, mode => 0755; + ensure => directory, + owner => root, group => 0, mode => 0755; } openbsd::rc_local{'munin-node': - binary => '/opt/munin/sbin/munin-node', + binary => $operatingsystemrelease ? { + '4.3' => '/opt/munin/sbin/munin-node', + default => '/usr/local/sbin/munin-node' + }, require => File['/var/run/munin'], } Service['munin-node']{ restart => '/bin/kill -HUP `/bin/cat /var/run/munin/munin-node.pid`', stop => '/bin/kill `/bin/cat /var/run/munin/munin-node.pid`', - start => '/opt/munin/sbin/munin-node', - hasstatus => false, - hasrestart => false, + start => $operatingsystemrelease ? { + '4.3' => '/opt/munin/sbin/munin-node', + default => '/usr/local/sbin/munin-node' + }, + status => 'test -e /var/run/munin/munin-node.pid && (ps ax | egrep -q "^$(cat /var/run/munin/munin-node.pid).*munin-node")', + hasstatus => true, + hasrestart => true, require => [ File['/var/run/munin'], File['/var/log/munin'] ], } - cron{'clean_munin_logfile': command => 'rm /var/log/munin/munin-node.log; kill -HUP `cat /var/run/munin/munin-node.pid`', minute => 0, diff --git a/manifests/host.pp b/manifests/host.pp index 87d3255..e038fd7 100644 --- a/manifests/host.pp +++ b/manifests/host.pp @@ -9,11 +9,11 @@ class munin::host inherits munin File <<| tag == 'munin' |>> file{'/etc/munin/munin.conf.header': - source => [ "puppet://$server/modules/site-munin/config/host/${fqdn}/munin.conf.header", - "puppet://$server/modules/site-munin/config/host/munin.conf.header.$operatingsystem", - "puppet://$server/modules/site-munin/config/host/munin.conf.header", - "puppet://$server/modules/munin/config/host/munin.conf.header.$operatingsystem", - "puppet://$server/modules/munin/config/host/munin.conf.header" ], + source => [ "puppet:///modules/site-munin/config/host/${fqdn}/munin.conf.header", + "puppet:///modules/site-munin/config/host/munin.conf.header.$operatingsystem", + "puppet:///modules/site-munin/config/host/munin.conf.header", + "puppet:///modules/munin/config/host/munin.conf.header.$operatingsystem", + "puppet:///modules/munin/config/host/munin.conf.header" ], notify => Exec['concat_/etc/munin/munin.conf'], owner => root, group => 0, mode => 0644; } diff --git a/manifests/host/cgi.pp b/manifests/host/cgi.pp index aeb0cdf..6fd50df 100644 --- a/manifests/host/cgi.pp +++ b/manifests/host/cgi.pp @@ -6,11 +6,11 @@ class munin::host::cgi { } file{'/etc/logrotate.d/munin': - source => [ "puppet://$server/modules/site-munin/config/host/${fqdn}/logrotate", - "puppet://$server/modules/site-munin/config/host/logrotate.$operatingsystem", - "puppet://$server/modules/site-munin/config/host/logrotate", - "puppet://$server/modules/munin/config/host/logrotate.$operatingsystem", - "puppet://$server/modules/munin/config/host/logrotate" ], + source => [ "puppet:///modules/site-munin/config/host/${fqdn}/logrotate", + "puppet:///modules/site-munin/config/host/logrotate.$operatingsystem", + "puppet:///modules/site-munin/config/host/logrotate", + "puppet:///modules/munin/config/host/logrotate.$operatingsystem", + "puppet:///modules/munin/config/host/logrotate" ], owner => root, group => 0, mode => 0644; } } diff --git a/manifests/plugin.pp b/manifests/plugin.pp index cdaa17d..52c77c2 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -16,6 +16,8 @@ define munin::plugin ( $plugin_src = $ensure ? { "present" => $name, default => $ensure } $plugin = "/etc/munin/plugins/$name" $plugin_conf = "/etc/munin/plugin-conf.d/$name.conf" + + include munin::plugins::setup case $ensure { "absent": { file { $plugin: ensure => absent, } diff --git a/manifests/plugin/deploy.pp b/manifests/plugin/deploy.pp index 846a873..67cbfb8 100644 --- a/manifests/plugin/deploy.pp +++ b/manifests/plugin/deploy.pp @@ -11,7 +11,7 @@ define munin::plugin::deploy($source = '', $ensure = 'present', $config = '') { include munin::plugin::scriptpaths file { "munin_plugin_${name}": path => "$munin::plugin::scriptpaths::script_path/${name}", - source => "puppet://$server/modules/$real_source", + source => "puppet:///modules/$real_source", mode => 0755, owner => root, group => 0; } diff --git a/manifests/plugin/scriptpaths.pp b/manifests/plugin/scriptpaths.pp index ce27384..164a17e 100644 --- a/manifests/plugin/scriptpaths.pp +++ b/manifests/plugin/scriptpaths.pp @@ -3,7 +3,10 @@ class munin::plugin::scriptpaths { gentoo: { $script_path = "/usr/libexec/munin/plugins" } debian: { $script_path = "/usr/share/munin/plugins" } centos: { $script_path = "/usr/share/munin/plugins" } - openbsd: { $script_path = "/opt/munin/lib/plugins/" } + openbsd: { $script_path = $operatingsystemrelease ? { + '4.3' => '/opt/munin/lib/plugins/', + default => '/usr/local/libexec/munin/plugins/' + } } default: { $script_path = "/usr/share/munin/plugins" } } } diff --git a/manifests/plugins/apache.pp b/manifests/plugins/apache.pp index ee90de8..b3e7634 100644 --- a/manifests/plugins/apache.pp +++ b/manifests/plugins/apache.pp @@ -1,6 +1,4 @@ -class munin::plugins::apache inherits munin::plugins::base { - munin::plugin{ "apache_accesses": } - munin::plugin{ "apache_processes": } - munin::plugin{ "apache_volume": } - munin::plugin::deploy { "apache_activity": } +class munin::plugins::apache { + munin::plugin{ [ 'apache_accesses', 'apache_processes',' apache_volume' ]: } + munin::plugin::deploy { "apache_activity": } } diff --git a/manifests/plugins/base.pp b/manifests/plugins/base.pp index 4658acc..bfccae5 100644 --- a/manifests/plugins/base.pp +++ b/manifests/plugins/base.pp @@ -1,50 +1,25 @@ class munin::plugins::base { - file { - [ '/etc/munin/plugins', '/etc/munin/plugin-conf.d' ]: - source => "puppet://$server/modules/common/empty", - ignore => [ '\.ignore', 'snmp_*' ], - ensure => directory, checksum => mtime, - recurse => true, purge => true, force => true, - mode => 0755, owner => root, group => 0, - notify => Service['munin-node']; - '/etc/munin/plugin-conf.d/munin-node': - ensure => present, - mode => 0644, owner => root, group => 0, - notify => Service['munin-node'], - } - munin::plugin { - [ df, cpu, interrupts, load, memory, netstat, open_files, - processes, swap, uptime, users, vmstat - ]: + # setup basic plugins + munin::plugin { + [ df, cpu, interrupts, load, memory, netstat, open_files, + processes, swap, uptime, users, vmstat ]: ensure => present, - } - include munin::plugins::interfaces + } + include munin::plugins::interfaces - case $kernel { - openbsd: { - File['/etc/munin/plugin-conf.d/munin-node']{ - before => File['/var/run/munin'], - } - } - default: { - File['/etc/munin/plugin-conf.d/munin-node']{ - before => Package['munin-node'], - } - } - } - case $kernel { - linux: { - case $vserver { - guest: { include munin::plugins::vserver } - default: { - include munin::plugins::linux - } - } - } - } - case $virtual { - physical: { include munin::plugins::physical } - xen0: { include munin::plugins::dom0 } + case $kernel { + openbsd: { include munin::plugins::openbsd } + linux: { + case $vserver { + guest: { include munin::plugins::vserver } + default: { include munin::plugins::linux } + } } + } + + case $virtual { + physical: { include munin::plugins::physical } + xen0: { include munin::plugins::dom0 } + } } diff --git a/manifests/plugins/debian.pp b/manifests/plugins/debian.pp index 6d2faef..f756150 100644 --- a/manifests/plugins/debian.pp +++ b/manifests/plugins/debian.pp @@ -1,2 +1 @@ -class munin::plugins::debian inherits munin::plugins::base { -} +class munin::plugins::debian { } diff --git a/manifests/plugins/djbdns.pp b/manifests/plugins/djbdns.pp index 37d8ed6..c0a5163 100644 --- a/manifests/plugins/djbdns.pp +++ b/manifests/plugins/djbdns.pp @@ -1,3 +1,3 @@ -class munin::plugins::djbdns inherits munin::plugins::base { +class munin::plugins::djbdns { munin::plugin::deploy { "tinydns": } } diff --git a/manifests/plugins/dom0.pp b/manifests/plugins/dom0.pp index 8d919c3..ed4f62c 100644 --- a/manifests/plugins/dom0.pp +++ b/manifests/plugins/dom0.pp @@ -1,9 +1,7 @@ -class munin::plugins::dom0 inherits munin::plugins::physical { - munin::plugin::deploy { "xen": config => "user root"} - munin::plugin::deploy { "xen-cpu": config => "user root"} - munin::plugin::deploy { "xen_memory": config => "user root"} - munin::plugin::deploy { "xen_mem": config => "user root"} - munin::plugin::deploy { "xen_vm": config => "user root"} - munin::plugin::deploy { "xen_vbd": config => "user root"} - munin::plugin::deploy { "xen_traffic_all": config => "user root"} +class munin::plugins::dom0 { + munin::plugin::deploy { + [ 'xen', 'xen-cpu', 'xen_memory', 'xen_mem', + 'xen_vm', 'xen_vbd', 'xen_traffic_all' ]: + config => 'user root'; + } } diff --git a/manifests/plugins/gentoo.pp b/manifests/plugins/gentoo.pp index 81d0e6b..25c1626 100644 --- a/manifests/plugins/gentoo.pp +++ b/manifests/plugins/gentoo.pp @@ -1,3 +1,5 @@ -class munin::plugins::gentoo inherits munin::plugins::base { - munin::plugin::deploy { "gentoo_lastupdated": config => "user portage\nenv.logfile /var/log/emerge.log\nenv.tail /usr/bin/tail\nenv.grep /bin/grep"} +class munin::plugins::gentoo { + munin::plugin::deploy { 'gentoo_lastupdated': + config => "user portage\nenv.logfile /var/log/emerge.log\nenv.tail /usr/bin/tail\nenv.grep /bin/grep" + } } diff --git a/manifests/plugins/interfaces.pp b/manifests/plugins/interfaces.pp index df0828c..18a713b 100644 --- a/manifests/plugins/interfaces.pp +++ b/manifests/plugins/interfaces.pp @@ -1,22 +1,22 @@ # handle if_ and if_err_ plugins -class munin::plugins::interfaces inherits munin::plugins::base { +class munin::plugins::interfaces { - $ifs = gsub(split($interfaces, " |,"), "(.+)", "if_\\1") - munin::plugin { + $ifs = regsubst(split($interfaces, " |,"), "(.+)", "if_\\1") + munin::plugin { $ifs: ensure => "if_"; + } + case $operatingsystem { + openbsd: { + $if_errs = regsubst(split($interfaces, " |,"), "(.+)", "if_errcoll_\\1") + munin::plugin{ + $if_errs: ensure => "if_errcoll_"; + } } - case $operatingsystem { - openbsd: { - $if_errs = gsub(split($interfaces, " |,"), "(.+)", "if_errcoll_\\1") - munin::plugin{ - $if_errs: ensure => "if_errcoll_"; - } - } - default: { - $if_errs = gsub(split($interfaces, " |,"), "(.+)", "if_err_\\1") - munin::plugin{ - $if_errs: ensure => "if_err_"; - } - } + default: { + $if_errs = regsubst(split($interfaces, " |,"), "(.+)", "if_err_\\1") + munin::plugin{ + $if_errs: ensure => "if_err_"; + } } + } } diff --git a/manifests/plugins/linux.pp b/manifests/plugins/linux.pp index 86696cc..30e0af6 100644 --- a/manifests/plugins/linux.pp +++ b/manifests/plugins/linux.pp @@ -1,10 +1,8 @@ -class munin::plugins::linux inherits munin::plugins::base { - munin::plugin { - [ df_abs, forks, df_inode, irqstats, entropy, open_inodes ]: - ensure => present; - acpi: - ensure => $acpi_available; - } - - include munin::plugins::interfaces +class munin::plugins::linux { + munin::plugin { + [ df_abs, forks, df_inode, irqstats, entropy, open_inodes ]: + ensure => present; + acpi: + ensure => $acpi_available; + } } diff --git a/manifests/plugins/muninhost.pp b/manifests/plugins/muninhost.pp index 2af4897..e4fb87d 100644 --- a/manifests/plugins/muninhost.pp +++ b/manifests/plugins/muninhost.pp @@ -1,4 +1,3 @@ -class munin::plugins::muninhost inherits munin::plugins::base { - munin::plugin { munin_update: } - munin::plugin { munin_graph: } +class munin::plugins::muninhost { + munin::plugin { ['munin_update', 'munin_graph']: } } diff --git a/manifests/plugins/openbsd.pp b/manifests/plugins/openbsd.pp index 67cf32d..b549994 100644 --- a/manifests/plugins/openbsd.pp +++ b/manifests/plugins/openbsd.pp @@ -1,13 +1,6 @@ -class munin::plugins::openbsd inherits munin::plugins::base { - munin::plugin { - [ df, cpu, interrupts, load, memory, netstat, open_files, - processes, swap, users, vmstat - ]: - ensure => present, - } - munin::plugin { - [ memory_pools, memory_types ]: - ensure => present, - } - +class munin::plugins::openbsd { + munin::plugin { + [ memory_pools, memory_types ]: + ensure => present, + } } diff --git a/manifests/plugins/physical.pp b/manifests/plugins/physical.pp index 6706711..ac050a5 100644 --- a/manifests/plugins/physical.pp +++ b/manifests/plugins/physical.pp @@ -1,5 +1,5 @@ -class munin::plugins::physical inherits munin::plugins::base { - case $kernel { - linux: { munin::plugin { iostat: } } - } +class munin::plugins::physical { + case $kernel { + linux: { munin::plugin { iostat: } } + } } diff --git a/manifests/plugins/selinux.pp b/manifests/plugins/selinux.pp index 6affc86..faf610a 100644 --- a/manifests/plugins/selinux.pp +++ b/manifests/plugins/selinux.pp @@ -1,4 +1,3 @@ -class munin::plugins::selinux inherits munin::plugins::base { - munin::plugin::deploy { "selinuxenforced": } - munin::plugin::deploy { "selinux_avcstats": } +class munin::plugins::selinux { + munin::plugin::deploy { [ 'selinuxenforced', 'selinux_avcstats' ]: } } diff --git a/manifests/plugins/setup.pp b/manifests/plugins/setup.pp new file mode 100644 index 0000000..c2c5ed3 --- /dev/null +++ b/manifests/plugins/setup.pp @@ -0,0 +1,27 @@ +class munin::plugins::setup { + file { + [ '/etc/munin/plugins', '/etc/munin/plugin-conf.d' ]: + source => "puppet:///modules/common/empty", + ignore => [ '.ignore', 'snmp_*' ], + ensure => directory, checksum => mtime, + recurse => true, purge => true, force => true, + mode => 0755, owner => root, group => 0, + notify => Service['munin-node']; + '/etc/munin/plugin-conf.d/munin-node': + ensure => present, + mode => 0644, owner => root, group => 0, + notify => Service['munin-node'], + } + case $kernel { + openbsd: { + File['/etc/munin/plugin-conf.d/munin-node']{ + before => File['/var/run/munin'], + } + } + default: { + File['/etc/munin/plugin-conf.d/munin-node']{ + before => Package['munin-node'], + } + } + } +} diff --git a/manifests/plugins/vserver.pp b/manifests/plugins/vserver.pp index f24af07..e3eec05 100644 --- a/manifests/plugins/vserver.pp +++ b/manifests/plugins/vserver.pp @@ -1,7 +1,7 @@ -class munin::plugins::vserver inherits munin::plugins::base { - munin::plugin { - [ netstat, processes ]: - ensure => present; - } +class munin::plugins::vserver { + munin::plugin { + [ netstat, processes ]: + ensure => present; + } } diff --git a/manifests/register/snmp.pp b/manifests/register/snmp.pp index c0d9279..0c3ac5c 100644 --- a/manifests/register/snmp.pp +++ b/manifests/register/snmp.pp @@ -9,7 +9,7 @@ define munin::register::snmp ( $config = [ 'use_node_name no' ] exec { "munin_register_snmp_${fhost}": - command => "munin-node-configure --snmp ${fhost} --snmpcommunity ${community} | sh", + command => "munin-node-configure --snmp ${fhost} --snmpcommunity ${community} --shell | sh", unless => "ls /etc/munin/plugins/snmp_${fhost}_* &> /dev/null", } diff --git a/manifests/snmp_collector.pp b/manifests/snmp_collector.pp index 6f3fe34..7bd8bba 100644 --- a/manifests/snmp_collector.pp +++ b/manifests/snmp_collector.pp @@ -1,7 +1,7 @@ class munin::snmp_collector{ file { "/var/lib/puppet/modules/munin/create_snmp_links": - source => "puppet://$server/modules/munin/create_snmp_links.sh", + source => "puppet:///modules/munin/create_snmp_links.sh", mode => 755, owner => root, group => 0; } |