From 51e43cf0233e87ca2e473a85397795cbcd1b1052 Mon Sep 17 00:00:00 2001 From: david Date: Tue, 7 Aug 2007 11:42:33 +0000 Subject: fix "fail on no ntp_ plugins" bug git-svn-id: http://club.black.co.at:82/svn/manifests/trunk@176 f03ff2f1-f02d-0410-970d-b9634babeaa1 --- manifests/client.pp | 111 ++++++++++++++++++++++++ manifests/host.pp | 33 ++++++++ manifests/init.pp | 15 ++++ manifests/munin.pp | 236 ++++++++++++++++++++++++++++++++++++++++++++++++++++ manifests/plugin.pp | 129 ++++++++++++++++++++++++++++ 5 files changed, 524 insertions(+) create mode 100644 manifests/client.pp create mode 100644 manifests/host.pp create mode 100644 manifests/init.pp create mode 100644 manifests/munin.pp create mode 100644 manifests/plugin.pp diff --git a/manifests/client.pp b/manifests/client.pp new file mode 100644 index 0000000..f52af9f --- /dev/null +++ b/manifests/client.pp @@ -0,0 +1,111 @@ +# client.pp - configure a munin node +# Copyright (C) 2007 David Schmitt +# See LICENSE for the full license granted to you. + +class munin::client { + + $munin_port_real = $munin_port ? { '' => 4949, default => $munin_port } + $munin_host_real = $munin_host ? { + '' => $fqdn, + 'fqdn' => $fqdn, + default => $munin_host + } + + case $operatingsystem { + darwin: { include munin::client::darwin } + debian: { + include munin::client::debian + include munin::plugins::debian + } + ubuntu: { + info ( "Trying to configure Ubuntu's munin with Debian class" ) + include munin::client::debian + include munin::plugins::debian + } + default: { fail ("Don't know how to handle munin on $operatingsystem") } + } + + case $kernel { + linux: { + case $vserver { + guest: { include munin::plugins::vserver } + default: { + include munin::plugins::linux + case $virtual { + xen0: { include munin::plugins::xen } + } + } + } + } + default: { + err( "Don't know which munin plugins to install for $kernel" ) + } + } + +} + +define munin::register() +{ + @@file { "munin_node_${name}": path => "${NODESDIR}/$name", + ensure => present, + content => template("munin/defaultclient.erb"), + } +} + +define munin::register_snmp() +{ + @@file { "munin_snmp_${name}": path => "${NODESDIR}/$name", + ensure => present, + content => template("munin/snmpclient.erb"), + } +} + +class munin::client::darwin +{ + file { "/usr/share/snmp/snmpd.conf": + mode => 744, + content => template("munin/darwin_snmpd.conf.erb"), + group => staff, + owner => root, + } + delete_matching_line{"startsnmpdno": + file => "/etc/hostconfig", + pattern => "SNMPSERVER=-NO-", + } + append_if_no_such_line{"startsnmpdyes": + file => "/etc/hostconfig", + line => "SNMPSERVER=-YES-", + notify => Exec["/sbin/SystemStarter start SNMP"], + } + exec{"/sbin/SystemStarter start SNMP": + noop => false, + } + munin::register_snmp { $fqdn: } +} + +class munin::client::debian +{ + err("munin port: $munin_port_real" ) + err("munin host: $munin_host_real" ) + + package { "munin-node": ensure => installed } + + file { + "/etc/munin/munin-node.conf": + content => template("munin/munin-node.conf.${operatingsystem}.${lsbdistcodename}"), + mode => 0644, owner => root, group => root, + require => Package["munin-node"], + notify => Service["munin-node"], + } + + service { "munin-node": + ensure => running, + hasstatus => true, + } + + munin::register { $munin_host_real: } + + # workaround bug in munin_node_configure + plugin { "postfix_mailvolume": ensure => absent } +} + diff --git a/manifests/host.pp b/manifests/host.pp new file mode 100644 index 0000000..d790b4a --- /dev/null +++ b/manifests/host.pp @@ -0,0 +1,33 @@ +# host.pp - the master host of the munin installation +# Copyright (C) 2007 David Schmitt +# See LICENSE for the full license granted to you. + +class munin::host +{ + package { [ "munin", "nmap"]: ensure => installed, } + + File <<||>> + + concatenated_file { "/etc/munin/munin.conf": + dir => "/var/lib/puppet/modules/munin/nodes/", + header => "/etc/munin/munin.conf.header", + } + +} + +class munin::snmp_collector +{ + + file { + "/var/lib/puppet/modules/munin/create_snmp_links": + source => "puppet://$servername/munin/create_snmp_links.sh", + mode => 755, owner => root, group => root; + } + + exec { "create_snmp_links": + command => "/var/lib/puppet/modules/munin/create_snmp_links $NODESDIR", + require => File["snmp_links"], + timeout => "2048", + schedule => daily + } +} diff --git a/manifests/init.pp b/manifests/init.pp new file mode 100644 index 0000000..dc646e7 --- /dev/null +++ b/manifests/init.pp @@ -0,0 +1,15 @@ +# munin.pp - everything a sitewide munin installation needs +# Copyright (C) 2007 David Schmitt +# See LICENSE for the full license granted to you. + +# the port is a parameter so vservers can share IP addresses and still be happy + +# Define where the individual nodes' configs are stored +$NODESDIR="/var/lib/puppet/modules/munin/nodes" + +modules_dir { [ "munin", "munin/nodes" ]: } + +import "host.pp" +import "client.pp" +import "plugin.pp" + diff --git a/manifests/munin.pp b/manifests/munin.pp new file mode 100644 index 0000000..a19a26f --- /dev/null +++ b/manifests/munin.pp @@ -0,0 +1,236 @@ +# munin.pp - everything a sitewide munin installation needs +# Copyright (C) 2007 David Schmitt +# See LICENSE for the full license granted to you. + +# the port is a parameter so vservers can share IP addresses and still be happy + +# Define where the individual nodes' configs are stored +$NODESDIR="/var/local/puppet/munin-nodes" + +class munin { + +class default_client { munin::client { default_munin_node: } } +class default_vserver_client { munin::vserver_client { vserver_munin_node: } } + +define client ($port = 4949, $bindhost = "fqdn") +{ + munin::plugin { + apt: ensure => absent; + # needs patch for xen-hosts + iostat: script_path => "/usr/local/bin"; + # others + [ apt_all, df_abs ]: ; + } + + munin::base { base: + port => $port, + bindhost => $bindhost, + } +} + +define vserver_client ($port = 4950, $bindhost = "fqdn") +{ + munin::plugin { + [ + apt, cpu, df, df_abs, df_inode, entropy, forks, interrupts, iostat, + irqstats, load, memory, open_files, open_inodes, swap + ]: + ensure => absent; + [ apt_all, netstat, processes]: ; + } + + munin::base { base: + port => $port, + bindhost => $bindhost, + } +} + +define base ($port = 4949, $bindhost = "fqdn") +{ + package { "munin-node": + ensure => installed, + require => [ User[munin], Group[munin] ] + } + + user { munin: + uid => 203, + gid => 203, + home => "/var/lib/munin", + shell => "/bin/false", + allowdupe => false, + } + + group { munin: + gid => 203, + allowdupe => false, + } + + file { + ["/var/lib/munin", "/var/lib/munin/plugin-state" ]: + ensure => directory, + owner => munin, group => munin; + "/var/run/munin": + ensure => directory, + owner => munin; + "/var/log/munin": + ensure => directory, + owner => munin, group => adm; + } + + replace { set_munin_node_port: + file => "/etc/munin/munin-node.conf", + pattern => "^port (?!$port)[0-9]*.*", + replacement => "port $port", + notify => Service[munin-node], + require => Package[munin-node], + } + + $real_bindhost = $bindhost ? { + "fqdn" => $fqdn, + default => $bindhost + } + debug("Using bindhost $real_bindhost for $fqdn") + + replace { set_munin_node_bindhost: + file => "/etc/munin/munin-node.conf", + pattern => "^host (?!$real_bindhost).*", + replacement => "host $real_bindhost", + notify => Service[munin-node], + require => Package[munin-node], + } + + line { allow_munin_host: + file => "/etc/munin/munin-node.conf", + line => "allow ^$munin_host$", + ensure => present, + notify => Service[munin-node], + require => Package[munin-node], + } + + line { set_fqdn: + file => "/etc/munin/munin-node.conf", + line => "host_name $fqdn", + ensure => present, + notify => Service[munin-node], + require => Package[munin-node], + } + + @@file { "munin_def_${real_bindhost}_$port": path => "${NODESDIR}/$fqdn", + ensure => present, + content => "[$fqdn]\n\taddress $real_bindhost\n\tport $port\n\texim_mailstats.graph_period minute\n\n", + } + + # TODO: das funktioniert noch nicht g'scheit + file { + [ "/etc/munin/plugins", "/etc/munin/plugin-conf.d"] : + checksum => mtime, ensure => directory, + require => Package[munin-node], + notify => Service[munin-node]; + "/etc/munin/munin-node.conf": + checksum => md5, + require => Package[munin-node], + } + + service { munin-node: + ensure => running, + subscribe => [ Package["munin-node"], + File["/etc/munin/munin-node.conf"], + Exec[exec_set_munin_node_bindhost], + Exec[exec_set_munin_node_port], + User[munin], Group[munin] ], + } + + # workaround bug in munin_node_configure + munin::plugin { postfix_mailvolume: ensure => absent } +} + + +class host { + err("$fqdn: include inetd") + package { [munin, micro-httpd]: + ensure => installed + } + append_if_no_such_line { micro-httpd: + file => "/etc/inetd.conf", + line => "micro_http_munin stream tcp nowait.800 nobody /usr/sbin/micro_httpd micro_httpd_munin /var/www/munin/", + require => Package[micro-httpd], + } + append_if_no_such_line { micro-http-munin-port: + file => "/etc/services", + line => "micro_http_munin 81/tcp", + } + + File <<||>> + + # monitor this file for updates + $munin_includes = "$splice_dir/munin_conf_includes" + file { $munin_includes: checksum => md5, } + + exec { create_munin_includes: + command => "/bin/sh -c '/bin/cat $NODESDIR/* > $munin_includes'", + subscribe => File[$NODESDIR] + } + + # create munin.conf + file_splice { munin_conf_includes: + file => "/etc/munin/munin.conf", + input_file => "$splice_dir/munin_conf_includes", + require => Exec[create_munin_includes], + subscribe => File[$munin_includes], + } + + +} + +define plugin ($ensure = "present", $script_path = "/usr/share/munin/plugins", $config = '') { + debug ( "munin_plugin: name=$name, ensure=$ensure, script_path=$script_path" ) + $plugin = "/etc/munin/plugins/$name" + $plugin_conf = "/etc/munin/plugin-conf.d/$name" + case $ensure { + "absent": { + debug ( "munin_plugin: suppressing $plugin" ) + } + "present": { + debug ( "munin_plugin: making $plugin using default $name" ) + file { + $plugin: + ensure => "$script_path/$name", + require => Package[munin-node], + notify => Service[munin-node], + } + } + default: { + debug ( "munin_plugin: making $plugin using $ensure" ) + file { + $plugin: + ensure => "$script_path/$ensure", + require => Package[munin-node], + notify => Service[munin-node], + } + } + } + case $config { + '': { + debug("no config for $name") + file { $plugin_conf: ensure => absent } + } + default: { + case $ensure { + absent: { + debug("removing config for $name") + file { $plugin_conf: ensure => absent } + } + default: { + debug("creating $plugin_conf") + file { $plugin_conf: + content => "[${name}]\n$config\n", + mode => 0644, owner => root, group => root, + } + } + } + } + } +} + + +} diff --git a/manifests/plugin.pp b/manifests/plugin.pp new file mode 100644 index 0000000..8b85e63 --- /dev/null +++ b/manifests/plugin.pp @@ -0,0 +1,129 @@ +# plugin.pp - configure a specific munin plugin +# Copyright (C) 2007 David Schmitt +# See LICENSE for the full license granted to you. + +define munin::plugin ( + $ensure = "present", + $script_path = "/usr/share/munin/plugins", + $config = '') +{ + debug ( "munin_plugin: name=$name, ensure=$ensure, script_path=$script_path" ) + $plugin = "/etc/munin/plugins/$name" + $plugin_conf = "/etc/munin/plugin-conf.d/$name.conf" + case $ensure { + "absent": { + debug ( "munin_plugin: suppressing $plugin" ) + file { $plugin: ensure => absent, } + } + default: { + $plugin_src = $ensure ? { "present" => $name, default => $ensure } + debug ( "munin_plugin: making $plugin using src: $plugin_src" ) + file { $plugin: + ensure => "$script_path/${plugin_src}", + require => Package["munin-node"], + notify => Service["munin-node"], + } + } + } + case $config { + '': { + debug("no config for $name") + file { $plugin_conf: ensure => absent } + } + default: { + case $ensure { + absent: { + debug("removing config for $name") + file { $plugin_conf: ensure => absent } + } + default: { + debug("creating $plugin_conf") + file { $plugin_conf: + content => "[${name}]\n$config\n", + mode => 0644, owner => root, group => root, + } + } + } + } + } +} + +define munin::remoteplugin($ensure = "present", $source, $config = '') { + case $ensure { + "absent": { munin::plugin{ $name: ensure => absent } } + default: { + file { + "/var/lib/puppet/modules/munin/plugins/${name}": + source => $source, + mode => 0755, owner => root, group => root; + } + munin::plugin { $name: + ensure => $ensure, + config => $config, + script_path => "/var/lib/puppet/modules/munin/plugins", + } + } + } +} + +class munin::plugins::base { + + file { + [ "/etc/munin/plugins", "/etc/munin/plugin-conf.d" ]: + source => "puppet://$servername/munin/empty", + ensure => directory, checksum => mtime, + recurse => true, purge => true, force => true, + mode => 0755, owner => root, group => root, + notify => Service[munin-node]; + "/etc/munin/plugin-conf.d/munin-node": + ensure => present, + mode => 0644, owner => root, group => root, + notify => Service[munin-node]; + } + + puppet::fact{ interfaces: + source => "puppet://$servername/munin/facter/interfaces.rb", + require => Package[iproute], + } +} + +# handle if_ and if_err_ plugins +class munin::plugins::interfaces inherits munin::plugins::base { + + $ifs = gsub(split($interfaces, " "), "(.+)", "if_\\1") + $if_errs = gsub(split($interfaces, " "), "(.+)", "if_err_\\1") + plugin { + $ifs: ensure => "if_"; + $if_errs: ensure => "if_err_"; + } + + +} + +class munin::plugins::linux inherits munin::plugins::base { + + plugin { + [ df_abs, forks, iostat, memory, processes, cpu, df_inode, irqstats, + netstat, open_files, swap, df, entropy, interrupts, load, open_inodes, + vmstat + ]: + ensure => present; + } + + include munin::plugins::interfaces +} + +class munin::plugins::debian inherits munin::plugins::base { + + plugin { apt_all: ensure => present; } + +} + +class munin::plugins::vserver inherits munin::plugins::base { + + plugin { + [ netstat, processes, vmstat ]: + ensure => present; + } + +} -- cgit v1.2.3 From 0e61c02b2b7a460f26867f91051660fe6124517d Mon Sep 17 00:00:00 2001 From: david Date: Tue, 7 Aug 2007 11:43:21 +0000 Subject: commit second half of wrong commit of r176 git-svn-id: http://club.black.co.at:82/svn/manifests/trunk@177 f03ff2f1-f02d-0410-970d-b9634babeaa1 --- files/facter/interfaces.rb | 13 ++++++++++++ templates/defaultclient.erb | 14 +++++++++++++ templates/munin-node.conf.Debian.etch | 37 +++++++++++++++++++++++++++++++++++ 3 files changed, 64 insertions(+) create mode 100755 files/facter/interfaces.rb create mode 100644 templates/defaultclient.erb create mode 100644 templates/munin-node.conf.Debian.etch diff --git a/files/facter/interfaces.rb b/files/facter/interfaces.rb new file mode 100755 index 0000000..dc9e37c --- /dev/null +++ b/files/facter/interfaces.rb @@ -0,0 +1,13 @@ +# return the set of active interfaces as an array +Facter.add("interfaces") do + setcode do + `ip -o link show`.split(/\n/).collect do |line| + value = nil + matches = line.match(/^\d*: ([^:]*): <(.*,)?UP(,.*)?>/) + if !matches.nil? + value = matches[1] + end + value + end.compact.join(" ") + end +end diff --git a/templates/defaultclient.erb b/templates/defaultclient.erb new file mode 100644 index 0000000..063eafc --- /dev/null +++ b/templates/defaultclient.erb @@ -0,0 +1,14 @@ +<% + # Downcase all information + dom = domain.downcase + host = hostname.downcase + fhost = fqdn.downcase + ip = Facter['ip'] +%> +### This syntax can be extended, it might get better ... +#+<%= dom %> +#-<%= host %>=<%= fhost %>:load.load +[<%= fhost %>] # linux box + address <%= munin_host_real %> + port <%= munin_port_real %> + use_node_name yes diff --git a/templates/munin-node.conf.Debian.etch b/templates/munin-node.conf.Debian.etch new file mode 100644 index 0000000..92a75a1 --- /dev/null +++ b/templates/munin-node.conf.Debian.etch @@ -0,0 +1,37 @@ +########## +########## Managed by puppet +########## + +log_level 4 +log_file /var/log/munin/munin-node.log +port <%= munin_port_real %> +pid_file /var/run/munin/munin-node.pid +background 1 +setseid 1 + +# Which port to bind to; +host <%= munin_host_real %> +user root +group root +setsid yes + +# Regexps for files to ignore + +ignore_file ~$ +ignore_file \.bak$ +ignore_file %$ +ignore_file \.dpkg-(tmp|new|old|dist)$ +ignore_file \.rpm(save|new)$ + +# Set this if the client doesn't report the correct hostname when +# telnetting to localhost, port 4949 +# +#host_name localhost.localdomain + +# A list of addresses that are allowed to connect. This must be a +# regular expression, due to brain damage in Net::Server, which +# doesn't understand CIDR-style network notation. You may repeat +# the allow line as many times as you'd like + +host_name <%= fqdn %> +allow <%= munin_allow %> -- cgit v1.2.3 From 492219bd8ff0219872c1580834834a4a1767b928 Mon Sep 17 00:00:00 2001 From: david Date: Tue, 7 Aug 2007 14:15:44 +0000 Subject: more fixes for the munin modularizsation git-svn-id: http://club.black.co.at:82/svn/manifests/trunk@178 f03ff2f1-f02d-0410-970d-b9634babeaa1 --- manifests/client.pp | 26 ++-- manifests/munin.pp | 236 --------------------------------- templates/defaultclient.erb | 2 +- templates/munin-node.conf.Debian.sarge | 1 + 4 files changed, 20 insertions(+), 245 deletions(-) delete mode 100644 manifests/munin.pp create mode 120000 templates/munin-node.conf.Debian.sarge diff --git a/manifests/client.pp b/manifests/client.pp index f52af9f..967b7ef 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -6,8 +6,8 @@ class munin::client { $munin_port_real = $munin_port ? { '' => 4949, default => $munin_port } $munin_host_real = $munin_host ? { - '' => $fqdn, - 'fqdn' => $fqdn, + '' => '*', + 'fqdn' => '*', default => $munin_host } @@ -46,7 +46,14 @@ class munin::client { define munin::register() { - @@file { "munin_node_${name}": path => "${NODESDIR}/$name", + $munin_port_real = $munin_port ? { '' => 4949, default => $munin_port } + $munin_host_real = $munin_host ? { + '' => $fqdn, + 'fqdn' => $fqdn, + default => $munin_host + } + + @@file { "munin_node_${name}_${port}": path => "${NODESDIR}/${name}_${munin_port}", ensure => present, content => template("munin/defaultclient.erb"), } @@ -54,7 +61,7 @@ define munin::register() define munin::register_snmp() { - @@file { "munin_snmp_${name}": path => "${NODESDIR}/$name", + @@file { "munin_snmp_${name}": path => "${NODESDIR}/${name}", ensure => present, content => template("munin/snmpclient.erb"), } @@ -85,16 +92,19 @@ class munin::client::darwin class munin::client::debian { - err("munin port: $munin_port_real" ) - err("munin host: $munin_host_real" ) package { "munin-node": ensure => installed } file { + "/etc/munin/": + ensure => directory, + mode => 0755, owner => root, group => root; "/etc/munin/munin-node.conf": content => template("munin/munin-node.conf.${operatingsystem}.${lsbdistcodename}"), mode => 0644, owner => root, group => root, - require => Package["munin-node"], + # this has to be installed before the package, so the postinst can + # boot the munin-node without failure! + before => Package["munin-node"], notify => Service["munin-node"], } @@ -103,7 +113,7 @@ class munin::client::debian hasstatus => true, } - munin::register { $munin_host_real: } + munin::register { $fqdn: } # workaround bug in munin_node_configure plugin { "postfix_mailvolume": ensure => absent } diff --git a/manifests/munin.pp b/manifests/munin.pp deleted file mode 100644 index a19a26f..0000000 --- a/manifests/munin.pp +++ /dev/null @@ -1,236 +0,0 @@ -# munin.pp - everything a sitewide munin installation needs -# Copyright (C) 2007 David Schmitt -# See LICENSE for the full license granted to you. - -# the port is a parameter so vservers can share IP addresses and still be happy - -# Define where the individual nodes' configs are stored -$NODESDIR="/var/local/puppet/munin-nodes" - -class munin { - -class default_client { munin::client { default_munin_node: } } -class default_vserver_client { munin::vserver_client { vserver_munin_node: } } - -define client ($port = 4949, $bindhost = "fqdn") -{ - munin::plugin { - apt: ensure => absent; - # needs patch for xen-hosts - iostat: script_path => "/usr/local/bin"; - # others - [ apt_all, df_abs ]: ; - } - - munin::base { base: - port => $port, - bindhost => $bindhost, - } -} - -define vserver_client ($port = 4950, $bindhost = "fqdn") -{ - munin::plugin { - [ - apt, cpu, df, df_abs, df_inode, entropy, forks, interrupts, iostat, - irqstats, load, memory, open_files, open_inodes, swap - ]: - ensure => absent; - [ apt_all, netstat, processes]: ; - } - - munin::base { base: - port => $port, - bindhost => $bindhost, - } -} - -define base ($port = 4949, $bindhost = "fqdn") -{ - package { "munin-node": - ensure => installed, - require => [ User[munin], Group[munin] ] - } - - user { munin: - uid => 203, - gid => 203, - home => "/var/lib/munin", - shell => "/bin/false", - allowdupe => false, - } - - group { munin: - gid => 203, - allowdupe => false, - } - - file { - ["/var/lib/munin", "/var/lib/munin/plugin-state" ]: - ensure => directory, - owner => munin, group => munin; - "/var/run/munin": - ensure => directory, - owner => munin; - "/var/log/munin": - ensure => directory, - owner => munin, group => adm; - } - - replace { set_munin_node_port: - file => "/etc/munin/munin-node.conf", - pattern => "^port (?!$port)[0-9]*.*", - replacement => "port $port", - notify => Service[munin-node], - require => Package[munin-node], - } - - $real_bindhost = $bindhost ? { - "fqdn" => $fqdn, - default => $bindhost - } - debug("Using bindhost $real_bindhost for $fqdn") - - replace { set_munin_node_bindhost: - file => "/etc/munin/munin-node.conf", - pattern => "^host (?!$real_bindhost).*", - replacement => "host $real_bindhost", - notify => Service[munin-node], - require => Package[munin-node], - } - - line { allow_munin_host: - file => "/etc/munin/munin-node.conf", - line => "allow ^$munin_host$", - ensure => present, - notify => Service[munin-node], - require => Package[munin-node], - } - - line { set_fqdn: - file => "/etc/munin/munin-node.conf", - line => "host_name $fqdn", - ensure => present, - notify => Service[munin-node], - require => Package[munin-node], - } - - @@file { "munin_def_${real_bindhost}_$port": path => "${NODESDIR}/$fqdn", - ensure => present, - content => "[$fqdn]\n\taddress $real_bindhost\n\tport $port\n\texim_mailstats.graph_period minute\n\n", - } - - # TODO: das funktioniert noch nicht g'scheit - file { - [ "/etc/munin/plugins", "/etc/munin/plugin-conf.d"] : - checksum => mtime, ensure => directory, - require => Package[munin-node], - notify => Service[munin-node]; - "/etc/munin/munin-node.conf": - checksum => md5, - require => Package[munin-node], - } - - service { munin-node: - ensure => running, - subscribe => [ Package["munin-node"], - File["/etc/munin/munin-node.conf"], - Exec[exec_set_munin_node_bindhost], - Exec[exec_set_munin_node_port], - User[munin], Group[munin] ], - } - - # workaround bug in munin_node_configure - munin::plugin { postfix_mailvolume: ensure => absent } -} - - -class host { - err("$fqdn: include inetd") - package { [munin, micro-httpd]: - ensure => installed - } - append_if_no_such_line { micro-httpd: - file => "/etc/inetd.conf", - line => "micro_http_munin stream tcp nowait.800 nobody /usr/sbin/micro_httpd micro_httpd_munin /var/www/munin/", - require => Package[micro-httpd], - } - append_if_no_such_line { micro-http-munin-port: - file => "/etc/services", - line => "micro_http_munin 81/tcp", - } - - File <<||>> - - # monitor this file for updates - $munin_includes = "$splice_dir/munin_conf_includes" - file { $munin_includes: checksum => md5, } - - exec { create_munin_includes: - command => "/bin/sh -c '/bin/cat $NODESDIR/* > $munin_includes'", - subscribe => File[$NODESDIR] - } - - # create munin.conf - file_splice { munin_conf_includes: - file => "/etc/munin/munin.conf", - input_file => "$splice_dir/munin_conf_includes", - require => Exec[create_munin_includes], - subscribe => File[$munin_includes], - } - - -} - -define plugin ($ensure = "present", $script_path = "/usr/share/munin/plugins", $config = '') { - debug ( "munin_plugin: name=$name, ensure=$ensure, script_path=$script_path" ) - $plugin = "/etc/munin/plugins/$name" - $plugin_conf = "/etc/munin/plugin-conf.d/$name" - case $ensure { - "absent": { - debug ( "munin_plugin: suppressing $plugin" ) - } - "present": { - debug ( "munin_plugin: making $plugin using default $name" ) - file { - $plugin: - ensure => "$script_path/$name", - require => Package[munin-node], - notify => Service[munin-node], - } - } - default: { - debug ( "munin_plugin: making $plugin using $ensure" ) - file { - $plugin: - ensure => "$script_path/$ensure", - require => Package[munin-node], - notify => Service[munin-node], - } - } - } - case $config { - '': { - debug("no config for $name") - file { $plugin_conf: ensure => absent } - } - default: { - case $ensure { - absent: { - debug("removing config for $name") - file { $plugin_conf: ensure => absent } - } - default: { - debug("creating $plugin_conf") - file { $plugin_conf: - content => "[${name}]\n$config\n", - mode => 0644, owner => root, group => root, - } - } - } - } - } -} - - -} diff --git a/templates/defaultclient.erb b/templates/defaultclient.erb index 063eafc..27e8d4c 100644 --- a/templates/defaultclient.erb +++ b/templates/defaultclient.erb @@ -2,7 +2,7 @@ # Downcase all information dom = domain.downcase host = hostname.downcase - fhost = fqdn.downcase + fhost = name.downcase ip = Facter['ip'] %> ### This syntax can be extended, it might get better ... diff --git a/templates/munin-node.conf.Debian.sarge b/templates/munin-node.conf.Debian.sarge new file mode 120000 index 0000000..e0646b9 --- /dev/null +++ b/templates/munin-node.conf.Debian.sarge @@ -0,0 +1 @@ +munin-node.conf.Debian.etch \ No newline at end of file -- cgit v1.2.3 From 2e4aea7dc248a603ba2f944539c1feb6e4a34ff3 Mon Sep 17 00:00:00 2001 From: david Date: Tue, 7 Aug 2007 14:23:30 +0000 Subject: vservers don't do vmstat git-svn-id: http://club.black.co.at:82/svn/manifests/trunk@180 f03ff2f1-f02d-0410-970d-b9634babeaa1 --- manifests/plugin.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 8b85e63..3b1e80a 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -122,7 +122,7 @@ class munin::plugins::debian inherits munin::plugins::base { class munin::plugins::vserver inherits munin::plugins::base { plugin { - [ netstat, processes, vmstat ]: + [ netstat, processes ]: ensure => present; } -- cgit v1.2.3 From 3e187eafe5e0e905b55517e9f2b0e696aa2a8c6c Mon Sep 17 00:00:00 2001 From: david Date: Tue, 7 Aug 2007 18:40:25 +0000 Subject: more munin enhancements git-svn-id: http://club.black.co.at:82/svn/manifests/trunk@181 f03ff2f1-f02d-0410-970d-b9634babeaa1 --- files/facter/acpi_available.rb | 10 ++++++++++ manifests/plugin.pp | 14 +++++++++++--- 2 files changed, 21 insertions(+), 3 deletions(-) create mode 100644 files/facter/acpi_available.rb diff --git a/files/facter/acpi_available.rb b/files/facter/acpi_available.rb new file mode 100644 index 0000000..45e5288 --- /dev/null +++ b/files/facter/acpi_available.rb @@ -0,0 +1,10 @@ +# return whether acpi is available -- used for desiding whether to install the munin plugin +Facter.add("acpi_available") do + setcode do + if `acpi -t -B -A 2>/dev/null`.match(/\d/).nil? + "false" + else + "true" + end + end +end diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 3b1e80a..e875ddb 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -81,9 +81,13 @@ class munin::plugins::base { notify => Service[munin-node]; } - puppet::fact{ interfaces: - source => "puppet://$servername/munin/facter/interfaces.rb", - require => Package[iproute], + puppet::fact{ + interfaces: + source => "puppet://$servername/munin/facter/interfaces.rb", + require => Package[iproute]; + acpi_available: + source => "puppet://$servername/munin/facter/acpi_available.rb", + require => Package[acpi]; } } @@ -110,6 +114,10 @@ class munin::plugins::linux inherits munin::plugins::base { ensure => present; } + if $acpi_available { + plugin { acpi: } + } + include munin::plugins::interfaces } -- cgit v1.2.3 From 12566b8a142d2712a8059c02abf2b89cc59ff5e0 Mon Sep 17 00:00:00 2001 From: david Date: Wed, 8 Aug 2007 07:13:06 +0000 Subject: fix acpi_available return values and usage git-svn-id: http://club.black.co.at:82/svn/manifests/trunk@183 f03ff2f1-f02d-0410-970d-b9634babeaa1 --- files/facter/acpi_available.rb | 4 ++-- manifests/plugin.pp | 6 ++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/files/facter/acpi_available.rb b/files/facter/acpi_available.rb index 45e5288..216f608 100644 --- a/files/facter/acpi_available.rb +++ b/files/facter/acpi_available.rb @@ -2,9 +2,9 @@ Facter.add("acpi_available") do setcode do if `acpi -t -B -A 2>/dev/null`.match(/\d/).nil? - "false" + "absent" else - "true" + "present" end end end diff --git a/manifests/plugin.pp b/manifests/plugin.pp index e875ddb..fb2f882 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -112,10 +112,8 @@ class munin::plugins::linux inherits munin::plugins::base { vmstat ]: ensure => present; - } - - if $acpi_available { - plugin { acpi: } + acpi: + ensure => $acpi_available; } include munin::plugins::interfaces -- cgit v1.2.3 From b6e5123196bc8199a895e39a33ab62cf9c4ff236 Mon Sep 17 00:00:00 2001 From: david Date: Wed, 8 Aug 2007 09:14:36 +0000 Subject: parameter order improvement git-svn-id: http://club.black.co.at:82/svn/manifests/trunk@186 f03ff2f1-f02d-0410-970d-b9634babeaa1 --- templates/munin-node.conf.Debian.etch | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/templates/munin-node.conf.Debian.etch b/templates/munin-node.conf.Debian.etch index 92a75a1..0673937 100644 --- a/templates/munin-node.conf.Debian.etch +++ b/templates/munin-node.conf.Debian.etch @@ -4,13 +4,13 @@ log_level 4 log_file /var/log/munin/munin-node.log -port <%= munin_port_real %> pid_file /var/run/munin/munin-node.pid background 1 setseid 1 -# Which port to bind to; +# Which host/port to bind to; host <%= munin_host_real %> +port <%= munin_port_real %> user root group root setsid yes @@ -27,11 +27,10 @@ ignore_file \.rpm(save|new)$ # telnetting to localhost, port 4949 # #host_name localhost.localdomain +host_name <%= fqdn %> # A list of addresses that are allowed to connect. This must be a # regular expression, due to brain damage in Net::Server, which # doesn't understand CIDR-style network notation. You may repeat # the allow line as many times as you'd like - -host_name <%= fqdn %> allow <%= munin_allow %> -- cgit v1.2.3 From 9f7e01c7af791040f483376e419ed83103837b12 Mon Sep 17 00:00:00 2001 From: david Date: Wed, 8 Aug 2007 09:15:57 +0000 Subject: fix xen0/xenu usage; fix acpi munin plugin on vservers; fix xen munin plugins git-svn-id: http://club.black.co.at:82/svn/manifests/trunk@188 f03ff2f1-f02d-0410-970d-b9634babeaa1 --- manifests/init.pp | 2 +- manifests/plugin.pp | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index dc646e7..966cdcb 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -7,7 +7,7 @@ # Define where the individual nodes' configs are stored $NODESDIR="/var/lib/puppet/modules/munin/nodes" -modules_dir { [ "munin", "munin/nodes" ]: } +modules_dir { [ "munin", "munin/nodes", "munin/plugins" ]: } import "host.pp" import "client.pp" diff --git a/manifests/plugin.pp b/manifests/plugin.pp index fb2f882..fdb58ca 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -85,9 +85,17 @@ class munin::plugins::base { interfaces: source => "puppet://$servername/munin/facter/interfaces.rb", require => Package[iproute]; - acpi_available: - source => "puppet://$servername/munin/facter/acpi_available.rb", - require => Package[acpi]; + } + case $vserver { + guest: {} + '': {} + default: { + puppet::fact{ + acpi_available: + source => "puppet://$servername/munin/facter/acpi_available.rb", + require => Package[acpi]; + } + } } } -- cgit v1.2.3 From a254bb2c2260c08ed3c234792231a8ec1e1b5c12 Mon Sep 17 00:00:00 2001 From: david Date: Wed, 8 Aug 2007 21:05:45 +0000 Subject: minor fixes: sort fact contents; do not use non-existant service status on sarge; use --verbose instead of --test git-svn-id: http://club.black.co.at:82/svn/manifests/trunk@193 f03ff2f1-f02d-0410-970d-b9634babeaa1 --- files/facter/interfaces.rb | 2 +- manifests/client.pp | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/files/facter/interfaces.rb b/files/facter/interfaces.rb index dc9e37c..a498d64 100755 --- a/files/facter/interfaces.rb +++ b/files/facter/interfaces.rb @@ -8,6 +8,6 @@ Facter.add("interfaces") do value = matches[1] end value - end.compact.join(" ") + end.compact.sort.join(" ") end end diff --git a/manifests/client.pp b/manifests/client.pp index 967b7ef..08b1aba 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -110,7 +110,8 @@ class munin::client::debian service { "munin-node": ensure => running, - hasstatus => true, + # sarge's munin-node init script has no status + hasstatus => $lsb_release { sarge => false, default => true } } munin::register { $fqdn: } -- cgit v1.2.3 From c169781def9e89e69683669f59607591c8395788 Mon Sep 17 00:00:00 2001 From: david Date: Wed, 8 Aug 2007 21:14:06 +0000 Subject: minor fixes: boot vserver; use right fact name; go to sleep git-svn-id: http://club.black.co.at:82/svn/manifests/trunk@194 f03ff2f1-f02d-0410-970d-b9634babeaa1 --- manifests/client.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/client.pp b/manifests/client.pp index 08b1aba..f21a49b 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -111,7 +111,7 @@ class munin::client::debian service { "munin-node": ensure => running, # sarge's munin-node init script has no status - hasstatus => $lsb_release { sarge => false, default => true } + hasstatus => $lsbdistcodename ? { sarge => false, default => true } } munin::register { $fqdn: } -- cgit v1.2.3 From 368ed90dcc71f60e10f76770b549a6c72dddbe9a Mon Sep 17 00:00:00 2001 From: root Date: Sat, 1 Sep 2007 17:51:59 +0200 Subject: replace append_if_no_such_line by better modelled line define --- manifests/client.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/client.pp b/manifests/client.pp index f21a49b..8ee1552 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -79,7 +79,7 @@ class munin::client::darwin file => "/etc/hostconfig", pattern => "SNMPSERVER=-NO-", } - append_if_no_such_line{"startsnmpdyes": + line { "startsnmpdyes": file => "/etc/hostconfig", line => "SNMPSERVER=-YES-", notify => Exec["/sbin/SystemStarter start SNMP"], -- cgit v1.2.3 From a6b5cebb60c1c4257e4ae089069aa493e511e715 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 25 Sep 2007 21:56:29 +0200 Subject: remove doc/README.munin and replace it by the much better README from Micah Anderson --- README | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 README diff --git a/README b/README new file mode 100644 index 0000000..762a802 --- /dev/null +++ b/README @@ -0,0 +1,83 @@ + +Munin is a performance monitoring system which creates nice RRD graphs and has +a very easy plugin interface. The munin homepage is http://munin.projects.linpro.no/ + +To use this module, follow these directions: + +1. Install the "common" module -- the munin module depends on functions that are + defined and installed via the common module, see README.common for how to do this + +2. You will need storedconfigs enabled in your puppet setup, to do that you need to + add a line to your puppet.conf in your [puppetmasterd] section which says: + + storeconfigs=true + + You may wish to immediately setup a mysql/pgsql database for your storedconfigs, as + the default method uses sqlite, and is not very efficient, to do that you need lines + such as the following below the storeconfigs=true line (adjust as needed): + + dbadapter=mysql + dbserver=localhost + dbuser=puppet + dbpassword=puppetspasswd + +3. Install the "munin" module: + + a. Your modules directory will need all the files included in this repository placed + under a directory called "munin" + + b. add the following line to your modules.pp: + + import "munin" + + (NOTE: if you have followed the directions in README.common then you will have import + "modules.pp" in your site.pp, if you do not have that, then you will need to add the + import line to your site.pp) + + c. you will also need to create the following empty directories: + + mkdir /etc/puppet/modules/munin/files/empty + mkdir /etc/puppet/modules/munin/files/modules_dir + mkdir -p /etc/puppet/modules/munin/files/nodes/modules_dir + mkdir -p /etc/puppet/modules/munin/files/plugins/modules_dir + + d. Add to the top of your site.pp a variable which indicates what IP should be allowed to + connect to your individual munin-nodes (this is typically your main munin host's IP): + + $munin_allow = '192.168.0.1' + + e. In the node definition in your site.pp for your main munin host, add the following: + + include munin::host + + f. On each node that will gather munin statistics, add this line to that node's entry + in site.pp (you may want to also add this to your main munin host): + + include munin::client + + g. If there are particular munin plugins you want to enable or configure, you define them + in the node definition, like follows: + + # Enable monitoring of disk stats in bytes + munin::plugin { df_abs: } + + # Use a non-standard plugin path to use custom plugins + munin::plugin { "spamassassin": + ensure => "spamassassin", + script_path => "/usr/local/share/munin-plugins", + } + + # Use a special config to pass parameters to the plugin + munin::plugin { + [ "apache_accesses", "apache_processes", "apache_volume" ]: + ensure => present, + config => "env.url http://127.0.0.1:80/server-status?auto" + } + + + h. If you have Linux-Vservers configured, you will likely have multiple munin-node processes + competing for the default port 4949, for those nodes, set an alternate port for munin-node + to run on by putting something similar to the following in the node definition: + + $munin_port = 4948 + -- cgit v1.2.3 From 4f6eceb8ca88ce16c2966f4e617caedb0f11d047 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 25 Sep 2007 22:04:33 +0200 Subject: fix duplicate definition of file[$NODESDIR] --- manifests/init.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/init.pp b/manifests/init.pp index 966cdcb..613a18f 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -7,7 +7,7 @@ # Define where the individual nodes' configs are stored $NODESDIR="/var/lib/puppet/modules/munin/nodes" -modules_dir { [ "munin", "munin/nodes", "munin/plugins" ]: } +modules_dir { [ "munin", "munin/plugins" ]: } import "host.pp" import "client.pp" -- cgit v1.2.3 From 69df2325d0ce4e6f40cac796839f7c953be75869 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 26 Sep 2007 11:58:06 +0200 Subject: munin: re-add munin/nodes modules_dir and use $NODESDIR where appropriate --- manifests/host.pp | 2 +- manifests/init.pp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/manifests/host.pp b/manifests/host.pp index d790b4a..8a90cc2 100644 --- a/manifests/host.pp +++ b/manifests/host.pp @@ -9,7 +9,7 @@ class munin::host File <<||>> concatenated_file { "/etc/munin/munin.conf": - dir => "/var/lib/puppet/modules/munin/nodes/", + dir => $NODESDIR, header => "/etc/munin/munin.conf.header", } diff --git a/manifests/init.pp b/manifests/init.pp index 613a18f..966cdcb 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -7,7 +7,7 @@ # Define where the individual nodes' configs are stored $NODESDIR="/var/lib/puppet/modules/munin/nodes" -modules_dir { [ "munin", "munin/plugins" ]: } +modules_dir { [ "munin", "munin/nodes", "munin/plugins" ]: } import "host.pp" import "client.pp" -- cgit v1.2.3 From 5761bef98c65edbc51615b3d043c126b4abbd66f Mon Sep 17 00:00:00 2001 From: root Date: Wed, 3 Oct 2007 00:32:27 +0200 Subject: munin: improve graphing for exim_mailstats on small systems --- templates/defaultclient.erb | 1 + 1 file changed, 1 insertion(+) diff --git a/templates/defaultclient.erb b/templates/defaultclient.erb index 27e8d4c..0f7fc2e 100644 --- a/templates/defaultclient.erb +++ b/templates/defaultclient.erb @@ -12,3 +12,4 @@ address <%= munin_host_real %> port <%= munin_port_real %> use_node_name yes + exim_mailstats.graph_period minute -- cgit v1.2.3 From 2521bf14457f6377d1fef1185ef93e2ba91180d2 Mon Sep 17 00:00:00 2001 From: David Schmitt Date: Sat, 6 Oct 2007 10:11:47 +0200 Subject: common: remove hand made plugins install defines and use matt's plugins patch This moves all facts and puppet plugins to the plugins/ directory of modules to get the benefits of Matt's plugins patch, that distributes these files before the configuration is requested. This reduces the number of configuration runs to convergence by one. --- files/facter/acpi_available.rb | 10 ---------- files/facter/interfaces.rb | 13 ------------- manifests/plugin.pp | 16 ---------------- plugins/facter/acpi_available.rb | 10 ++++++++++ plugins/facter/interfaces.rb | 13 +++++++++++++ 5 files changed, 23 insertions(+), 39 deletions(-) delete mode 100644 files/facter/acpi_available.rb delete mode 100755 files/facter/interfaces.rb create mode 100644 plugins/facter/acpi_available.rb create mode 100755 plugins/facter/interfaces.rb diff --git a/files/facter/acpi_available.rb b/files/facter/acpi_available.rb deleted file mode 100644 index 216f608..0000000 --- a/files/facter/acpi_available.rb +++ /dev/null @@ -1,10 +0,0 @@ -# return whether acpi is available -- used for desiding whether to install the munin plugin -Facter.add("acpi_available") do - setcode do - if `acpi -t -B -A 2>/dev/null`.match(/\d/).nil? - "absent" - else - "present" - end - end -end diff --git a/files/facter/interfaces.rb b/files/facter/interfaces.rb deleted file mode 100755 index a498d64..0000000 --- a/files/facter/interfaces.rb +++ /dev/null @@ -1,13 +0,0 @@ -# return the set of active interfaces as an array -Facter.add("interfaces") do - setcode do - `ip -o link show`.split(/\n/).collect do |line| - value = nil - matches = line.match(/^\d*: ([^:]*): <(.*,)?UP(,.*)?>/) - if !matches.nil? - value = matches[1] - end - value - end.compact.sort.join(" ") - end -end diff --git a/manifests/plugin.pp b/manifests/plugin.pp index fdb58ca..e7e22d1 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -81,22 +81,6 @@ class munin::plugins::base { notify => Service[munin-node]; } - puppet::fact{ - interfaces: - source => "puppet://$servername/munin/facter/interfaces.rb", - require => Package[iproute]; - } - case $vserver { - guest: {} - '': {} - default: { - puppet::fact{ - acpi_available: - source => "puppet://$servername/munin/facter/acpi_available.rb", - require => Package[acpi]; - } - } - } } # handle if_ and if_err_ plugins diff --git a/plugins/facter/acpi_available.rb b/plugins/facter/acpi_available.rb new file mode 100644 index 0000000..216f608 --- /dev/null +++ b/plugins/facter/acpi_available.rb @@ -0,0 +1,10 @@ +# return whether acpi is available -- used for desiding whether to install the munin plugin +Facter.add("acpi_available") do + setcode do + if `acpi -t -B -A 2>/dev/null`.match(/\d/).nil? + "absent" + else + "present" + end + end +end diff --git a/plugins/facter/interfaces.rb b/plugins/facter/interfaces.rb new file mode 100755 index 0000000..a498d64 --- /dev/null +++ b/plugins/facter/interfaces.rb @@ -0,0 +1,13 @@ +# return the set of active interfaces as an array +Facter.add("interfaces") do + setcode do + `ip -o link show`.split(/\n/).collect do |line| + value = nil + matches = line.match(/^\d*: ([^:]*): <(.*,)?UP(,.*)?>/) + if !matches.nil? + value = matches[1] + end + value + end.compact.sort.join(" ") + end +end -- cgit v1.2.3 From 20d4a3dca5398a65d5eefec4ba6b293efe299764 Mon Sep 17 00:00:00 2001 From: Micah Anderson Date: Fri, 5 Oct 2007 16:04:33 -0400 Subject: need to assert lsbdistcodename for munin, otherwise the template --- manifests/init.pp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/manifests/init.pp b/manifests/init.pp index 966cdcb..a1ea92c 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -13,3 +13,5 @@ import "host.pp" import "client.pp" import "plugin.pp" +include assert_lsbdistcodename + -- cgit v1.2.3 From 0529cd8c63d3ac806ded40e68f36102af282b117 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 9 Oct 2007 14:32:47 +0200 Subject: sundry cleanup after offline work --- manifests/client.pp | 2 +- templates/defaultclient.erb | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/manifests/client.pp b/manifests/client.pp index 8ee1552..5b78186 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -53,7 +53,7 @@ define munin::register() default => $munin_host } - @@file { "munin_node_${name}_${port}": path => "${NODESDIR}/${name}_${munin_port}", + @@file { "${NODESDIR}/${name}_${munin_port_real}": ensure => present, content => template("munin/defaultclient.erb"), } diff --git a/templates/defaultclient.erb b/templates/defaultclient.erb index 0f7fc2e..954a0cb 100644 --- a/templates/defaultclient.erb +++ b/templates/defaultclient.erb @@ -3,7 +3,6 @@ dom = domain.downcase host = hostname.downcase fhost = name.downcase - ip = Facter['ip'] %> ### This syntax can be extended, it might get better ... #+<%= dom %> -- cgit v1.2.3 From a23cac59c943327b4d221f597cd2bba24658a82b Mon Sep 17 00:00:00 2001 From: root Date: Fri, 26 Oct 2007 11:46:12 +0200 Subject: munin: fix little typo, thanks to fonk --- plugins/facter/acpi_available.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/facter/acpi_available.rb b/plugins/facter/acpi_available.rb index 216f608..e3d8dfa 100644 --- a/plugins/facter/acpi_available.rb +++ b/plugins/facter/acpi_available.rb @@ -1,4 +1,4 @@ -# return whether acpi is available -- used for desiding whether to install the munin plugin +# return whether acpi is available -- used for deciding whether to install the munin plugin Facter.add("acpi_available") do setcode do if `acpi -t -B -A 2>/dev/null`.match(/\d/).nil? -- cgit v1.2.3 From 1ad95807d83bdf243c763c6cfd008c7590245fd2 Mon Sep 17 00:00:00 2001 From: root Date: Sat, 24 Nov 2007 19:09:41 +0100 Subject: add compat symlink --- templates/munin-node.conf.Debian.sid | 1 + 1 file changed, 1 insertion(+) create mode 120000 templates/munin-node.conf.Debian.sid diff --git a/templates/munin-node.conf.Debian.sid b/templates/munin-node.conf.Debian.sid new file mode 120000 index 0000000..e0646b9 --- /dev/null +++ b/templates/munin-node.conf.Debian.sid @@ -0,0 +1 @@ +munin-node.conf.Debian.etch \ No newline at end of file -- cgit v1.2.3 From f07f6a5fab8964acebb0821094597fa4a597dba2 Mon Sep 17 00:00:00 2001 From: am Date: Fri, 30 Nov 2007 15:28:46 +0000 Subject: munin installation (+ test auf immer1-0) git-svn-id: https://svn/ipuppet/trunk/modules/munin@173 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- README | 83 +++++++++++++++++++++ manifests/client.pp | 122 +++++++++++++++++++++++++++++++ manifests/host.pp | 33 +++++++++ manifests/init.pp | 17 +++++ manifests/plugin.pp | 127 +++++++++++++++++++++++++++++++++ plugins/facter/acpi_available.rb | 10 +++ plugins/facter/interfaces.rb | 13 ++++ templates/defaultclient.erb | 14 ++++ templates/munin-node.conf.Debian.etch | 36 ++++++++++ templates/munin-node.conf.Debian.sarge | 1 + templates/munin-node.conf.Debian.sid | 1 + templates/munin-node.conf.Gentoo | 39 ++++++++++ templates/munin-node.conf.Gentoo. | 1 + 13 files changed, 497 insertions(+) create mode 100644 README create mode 100644 manifests/client.pp create mode 100644 manifests/host.pp create mode 100644 manifests/init.pp create mode 100644 manifests/plugin.pp create mode 100644 plugins/facter/acpi_available.rb create mode 100755 plugins/facter/interfaces.rb create mode 100644 templates/defaultclient.erb create mode 100644 templates/munin-node.conf.Debian.etch create mode 120000 templates/munin-node.conf.Debian.sarge create mode 120000 templates/munin-node.conf.Debian.sid create mode 100644 templates/munin-node.conf.Gentoo create mode 120000 templates/munin-node.conf.Gentoo. diff --git a/README b/README new file mode 100644 index 0000000..762a802 --- /dev/null +++ b/README @@ -0,0 +1,83 @@ + +Munin is a performance monitoring system which creates nice RRD graphs and has +a very easy plugin interface. The munin homepage is http://munin.projects.linpro.no/ + +To use this module, follow these directions: + +1. Install the "common" module -- the munin module depends on functions that are + defined and installed via the common module, see README.common for how to do this + +2. You will need storedconfigs enabled in your puppet setup, to do that you need to + add a line to your puppet.conf in your [puppetmasterd] section which says: + + storeconfigs=true + + You may wish to immediately setup a mysql/pgsql database for your storedconfigs, as + the default method uses sqlite, and is not very efficient, to do that you need lines + such as the following below the storeconfigs=true line (adjust as needed): + + dbadapter=mysql + dbserver=localhost + dbuser=puppet + dbpassword=puppetspasswd + +3. Install the "munin" module: + + a. Your modules directory will need all the files included in this repository placed + under a directory called "munin" + + b. add the following line to your modules.pp: + + import "munin" + + (NOTE: if you have followed the directions in README.common then you will have import + "modules.pp" in your site.pp, if you do not have that, then you will need to add the + import line to your site.pp) + + c. you will also need to create the following empty directories: + + mkdir /etc/puppet/modules/munin/files/empty + mkdir /etc/puppet/modules/munin/files/modules_dir + mkdir -p /etc/puppet/modules/munin/files/nodes/modules_dir + mkdir -p /etc/puppet/modules/munin/files/plugins/modules_dir + + d. Add to the top of your site.pp a variable which indicates what IP should be allowed to + connect to your individual munin-nodes (this is typically your main munin host's IP): + + $munin_allow = '192.168.0.1' + + e. In the node definition in your site.pp for your main munin host, add the following: + + include munin::host + + f. On each node that will gather munin statistics, add this line to that node's entry + in site.pp (you may want to also add this to your main munin host): + + include munin::client + + g. If there are particular munin plugins you want to enable or configure, you define them + in the node definition, like follows: + + # Enable monitoring of disk stats in bytes + munin::plugin { df_abs: } + + # Use a non-standard plugin path to use custom plugins + munin::plugin { "spamassassin": + ensure => "spamassassin", + script_path => "/usr/local/share/munin-plugins", + } + + # Use a special config to pass parameters to the plugin + munin::plugin { + [ "apache_accesses", "apache_processes", "apache_volume" ]: + ensure => present, + config => "env.url http://127.0.0.1:80/server-status?auto" + } + + + h. If you have Linux-Vservers configured, you will likely have multiple munin-node processes + competing for the default port 4949, for those nodes, set an alternate port for munin-node + to run on by putting something similar to the following in the node definition: + + $munin_port = 4948 + diff --git a/manifests/client.pp b/manifests/client.pp new file mode 100644 index 0000000..5b78186 --- /dev/null +++ b/manifests/client.pp @@ -0,0 +1,122 @@ +# client.pp - configure a munin node +# Copyright (C) 2007 David Schmitt +# See LICENSE for the full license granted to you. + +class munin::client { + + $munin_port_real = $munin_port ? { '' => 4949, default => $munin_port } + $munin_host_real = $munin_host ? { + '' => '*', + 'fqdn' => '*', + default => $munin_host + } + + case $operatingsystem { + darwin: { include munin::client::darwin } + debian: { + include munin::client::debian + include munin::plugins::debian + } + ubuntu: { + info ( "Trying to configure Ubuntu's munin with Debian class" ) + include munin::client::debian + include munin::plugins::debian + } + default: { fail ("Don't know how to handle munin on $operatingsystem") } + } + + case $kernel { + linux: { + case $vserver { + guest: { include munin::plugins::vserver } + default: { + include munin::plugins::linux + case $virtual { + xen0: { include munin::plugins::xen } + } + } + } + } + default: { + err( "Don't know which munin plugins to install for $kernel" ) + } + } + +} + +define munin::register() +{ + $munin_port_real = $munin_port ? { '' => 4949, default => $munin_port } + $munin_host_real = $munin_host ? { + '' => $fqdn, + 'fqdn' => $fqdn, + default => $munin_host + } + + @@file { "${NODESDIR}/${name}_${munin_port_real}": + ensure => present, + content => template("munin/defaultclient.erb"), + } +} + +define munin::register_snmp() +{ + @@file { "munin_snmp_${name}": path => "${NODESDIR}/${name}", + ensure => present, + content => template("munin/snmpclient.erb"), + } +} + +class munin::client::darwin +{ + file { "/usr/share/snmp/snmpd.conf": + mode => 744, + content => template("munin/darwin_snmpd.conf.erb"), + group => staff, + owner => root, + } + delete_matching_line{"startsnmpdno": + file => "/etc/hostconfig", + pattern => "SNMPSERVER=-NO-", + } + line { "startsnmpdyes": + file => "/etc/hostconfig", + line => "SNMPSERVER=-YES-", + notify => Exec["/sbin/SystemStarter start SNMP"], + } + exec{"/sbin/SystemStarter start SNMP": + noop => false, + } + munin::register_snmp { $fqdn: } +} + +class munin::client::debian +{ + + package { "munin-node": ensure => installed } + + file { + "/etc/munin/": + ensure => directory, + mode => 0755, owner => root, group => root; + "/etc/munin/munin-node.conf": + content => template("munin/munin-node.conf.${operatingsystem}.${lsbdistcodename}"), + mode => 0644, owner => root, group => root, + # this has to be installed before the package, so the postinst can + # boot the munin-node without failure! + before => Package["munin-node"], + notify => Service["munin-node"], + } + + service { "munin-node": + ensure => running, + # sarge's munin-node init script has no status + hasstatus => $lsbdistcodename ? { sarge => false, default => true } + } + + munin::register { $fqdn: } + + # workaround bug in munin_node_configure + plugin { "postfix_mailvolume": ensure => absent } +} + diff --git a/manifests/host.pp b/manifests/host.pp new file mode 100644 index 0000000..8a90cc2 --- /dev/null +++ b/manifests/host.pp @@ -0,0 +1,33 @@ +# host.pp - the master host of the munin installation +# Copyright (C) 2007 David Schmitt +# See LICENSE for the full license granted to you. + +class munin::host +{ + package { [ "munin", "nmap"]: ensure => installed, } + + File <<||>> + + concatenated_file { "/etc/munin/munin.conf": + dir => $NODESDIR, + header => "/etc/munin/munin.conf.header", + } + +} + +class munin::snmp_collector +{ + + file { + "/var/lib/puppet/modules/munin/create_snmp_links": + source => "puppet://$servername/munin/create_snmp_links.sh", + mode => 755, owner => root, group => root; + } + + exec { "create_snmp_links": + command => "/var/lib/puppet/modules/munin/create_snmp_links $NODESDIR", + require => File["snmp_links"], + timeout => "2048", + schedule => daily + } +} diff --git a/manifests/init.pp b/manifests/init.pp new file mode 100644 index 0000000..a1ea92c --- /dev/null +++ b/manifests/init.pp @@ -0,0 +1,17 @@ +# munin.pp - everything a sitewide munin installation needs +# Copyright (C) 2007 David Schmitt +# See LICENSE for the full license granted to you. + +# the port is a parameter so vservers can share IP addresses and still be happy + +# Define where the individual nodes' configs are stored +$NODESDIR="/var/lib/puppet/modules/munin/nodes" + +modules_dir { [ "munin", "munin/nodes", "munin/plugins" ]: } + +import "host.pp" +import "client.pp" +import "plugin.pp" + +include assert_lsbdistcodename + diff --git a/manifests/plugin.pp b/manifests/plugin.pp new file mode 100644 index 0000000..e7e22d1 --- /dev/null +++ b/manifests/plugin.pp @@ -0,0 +1,127 @@ +# plugin.pp - configure a specific munin plugin +# Copyright (C) 2007 David Schmitt +# See LICENSE for the full license granted to you. + +define munin::plugin ( + $ensure = "present", + $script_path = "/usr/share/munin/plugins", + $config = '') +{ + debug ( "munin_plugin: name=$name, ensure=$ensure, script_path=$script_path" ) + $plugin = "/etc/munin/plugins/$name" + $plugin_conf = "/etc/munin/plugin-conf.d/$name.conf" + case $ensure { + "absent": { + debug ( "munin_plugin: suppressing $plugin" ) + file { $plugin: ensure => absent, } + } + default: { + $plugin_src = $ensure ? { "present" => $name, default => $ensure } + debug ( "munin_plugin: making $plugin using src: $plugin_src" ) + file { $plugin: + ensure => "$script_path/${plugin_src}", + require => Package["munin-node"], + notify => Service["munin-node"], + } + } + } + case $config { + '': { + debug("no config for $name") + file { $plugin_conf: ensure => absent } + } + default: { + case $ensure { + absent: { + debug("removing config for $name") + file { $plugin_conf: ensure => absent } + } + default: { + debug("creating $plugin_conf") + file { $plugin_conf: + content => "[${name}]\n$config\n", + mode => 0644, owner => root, group => root, + } + } + } + } + } +} + +define munin::remoteplugin($ensure = "present", $source, $config = '') { + case $ensure { + "absent": { munin::plugin{ $name: ensure => absent } } + default: { + file { + "/var/lib/puppet/modules/munin/plugins/${name}": + source => $source, + mode => 0755, owner => root, group => root; + } + munin::plugin { $name: + ensure => $ensure, + config => $config, + script_path => "/var/lib/puppet/modules/munin/plugins", + } + } + } +} + +class munin::plugins::base { + + file { + [ "/etc/munin/plugins", "/etc/munin/plugin-conf.d" ]: + source => "puppet://$servername/munin/empty", + ensure => directory, checksum => mtime, + recurse => true, purge => true, force => true, + mode => 0755, owner => root, group => root, + notify => Service[munin-node]; + "/etc/munin/plugin-conf.d/munin-node": + ensure => present, + mode => 0644, owner => root, group => root, + notify => Service[munin-node]; + } + +} + +# handle if_ and if_err_ plugins +class munin::plugins::interfaces inherits munin::plugins::base { + + $ifs = gsub(split($interfaces, " "), "(.+)", "if_\\1") + $if_errs = gsub(split($interfaces, " "), "(.+)", "if_err_\\1") + plugin { + $ifs: ensure => "if_"; + $if_errs: ensure => "if_err_"; + } + + +} + +class munin::plugins::linux inherits munin::plugins::base { + + plugin { + [ df_abs, forks, iostat, memory, processes, cpu, df_inode, irqstats, + netstat, open_files, swap, df, entropy, interrupts, load, open_inodes, + vmstat + ]: + ensure => present; + acpi: + ensure => $acpi_available; + } + + include munin::plugins::interfaces +} + +class munin::plugins::debian inherits munin::plugins::base { + + plugin { apt_all: ensure => present; } + +} + +class munin::plugins::vserver inherits munin::plugins::base { + + plugin { + [ netstat, processes ]: + ensure => present; + } + +} diff --git a/plugins/facter/acpi_available.rb b/plugins/facter/acpi_available.rb new file mode 100644 index 0000000..e3d8dfa --- /dev/null +++ b/plugins/facter/acpi_available.rb @@ -0,0 +1,10 @@ +# return whether acpi is available -- used for deciding whether to install the munin plugin +Facter.add("acpi_available") do + setcode do + if `acpi -t -B -A 2>/dev/null`.match(/\d/).nil? + "absent" + else + "present" + end + end +end diff --git a/plugins/facter/interfaces.rb b/plugins/facter/interfaces.rb new file mode 100755 index 0000000..a498d64 --- /dev/null +++ b/plugins/facter/interfaces.rb @@ -0,0 +1,13 @@ +# return the set of active interfaces as an array +Facter.add("interfaces") do + setcode do + `ip -o link show`.split(/\n/).collect do |line| + value = nil + matches = line.match(/^\d*: ([^:]*): <(.*,)?UP(,.*)?>/) + if !matches.nil? + value = matches[1] + end + value + end.compact.sort.join(" ") + end +end diff --git a/templates/defaultclient.erb b/templates/defaultclient.erb new file mode 100644 index 0000000..954a0cb --- /dev/null +++ b/templates/defaultclient.erb @@ -0,0 +1,14 @@ +<% + # Downcase all information + dom = domain.downcase + host = hostname.downcase + fhost = name.downcase +%> +### This syntax can be extended, it might get better ... +#+<%= dom %> +#-<%= host %>=<%= fhost %>:load.load +[<%= fhost %>] # linux box + address <%= munin_host_real %> + port <%= munin_port_real %> + use_node_name yes + exim_mailstats.graph_period minute diff --git a/templates/munin-node.conf.Debian.etch b/templates/munin-node.conf.Debian.etch new file mode 100644 index 0000000..0673937 --- /dev/null +++ b/templates/munin-node.conf.Debian.etch @@ -0,0 +1,36 @@ +########## +########## Managed by puppet +########## + +log_level 4 +log_file /var/log/munin/munin-node.log +pid_file /var/run/munin/munin-node.pid +background 1 +setseid 1 + +# Which host/port to bind to; +host <%= munin_host_real %> +port <%= munin_port_real %> +user root +group root +setsid yes + +# Regexps for files to ignore + +ignore_file ~$ +ignore_file \.bak$ +ignore_file %$ +ignore_file \.dpkg-(tmp|new|old|dist)$ +ignore_file \.rpm(save|new)$ + +# Set this if the client doesn't report the correct hostname when +# telnetting to localhost, port 4949 +# +#host_name localhost.localdomain +host_name <%= fqdn %> + +# A list of addresses that are allowed to connect. This must be a +# regular expression, due to brain damage in Net::Server, which +# doesn't understand CIDR-style network notation. You may repeat +# the allow line as many times as you'd like +allow <%= munin_allow %> diff --git a/templates/munin-node.conf.Debian.sarge b/templates/munin-node.conf.Debian.sarge new file mode 120000 index 0000000..e0646b9 --- /dev/null +++ b/templates/munin-node.conf.Debian.sarge @@ -0,0 +1 @@ +munin-node.conf.Debian.etch \ No newline at end of file diff --git a/templates/munin-node.conf.Debian.sid b/templates/munin-node.conf.Debian.sid new file mode 120000 index 0000000..e0646b9 --- /dev/null +++ b/templates/munin-node.conf.Debian.sid @@ -0,0 +1 @@ +munin-node.conf.Debian.etch \ No newline at end of file diff --git a/templates/munin-node.conf.Gentoo b/templates/munin-node.conf.Gentoo new file mode 100644 index 0000000..f10349e --- /dev/null +++ b/templates/munin-node.conf.Gentoo @@ -0,0 +1,39 @@ +########## +########## Managed by puppet +########## + +log_level 4 +log_file /var/log/munin/munin-node.log +pid_file /var/run/munin/munin-node.pid +background 1 +setseid 1 + +# Which host/port to bind to; +host <%= munin_host_real %> +port <%= munin_port_real %> +user root +group root +setsid yes + +# Regexps for files to ignore + +ignore_file ~$ +ignore_file \.bak$ +ignore_file %$ +ignore_file \.dpkg-(tmp|new|old|dist)$ +ignore_file \.rpm(save|new)$ + +# Set this if the client doesn't report the correct hostname when +# telnetting to localhost, port 4949 +# +#host_name localhost.localdomain +host_name <%= fqdn %> + +# A list of addresses that are allowed to connect. This must be a +# regular expression, due to brain damage in Net::Server, which +# doesn't understand CIDR-style network notation. You may repeat +# the allow line as many times as you'd like +allow ^127\.0\.0\.1$ +allow <%= munin_allow1 %> +allow <%= munin_allow2 %> + diff --git a/templates/munin-node.conf.Gentoo. b/templates/munin-node.conf.Gentoo. new file mode 120000 index 0000000..fd16e50 --- /dev/null +++ b/templates/munin-node.conf.Gentoo. @@ -0,0 +1 @@ +munin-node.conf.Gentoo \ No newline at end of file -- cgit v1.2.3 -- cgit v1.2.3 From be9ce325e83e2521628a70a11b644e373c017839 Mon Sep 17 00:00:00 2001 From: am Date: Tue, 4 Dec 2007 09:08:38 +0000 Subject: added gentoo to munin module git-svn-id: https://svn/ipuppet/trunk/modules/munin@182 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 37 +++++++++++++++++++++++++++++++++++++ manifests/plugin.pp | 7 +++++++ 2 files changed, 44 insertions(+) diff --git a/manifests/client.pp b/manifests/client.pp index 5b78186..f5caaec 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -22,6 +22,11 @@ class munin::client { include munin::client::debian include munin::plugins::debian } + gentoo: { + include munin::client::gentoo + include munin::plugins::gentoo + + } default: { fail ("Don't know how to handle munin on $operatingsystem") } } @@ -120,3 +125,35 @@ class munin::client::debian plugin { "postfix_mailvolume": ensure => absent } } +class munin::client::gentoo +{ + package { 'munin': + ensure => present, + category => $operatingsystem ? { + gentoo => 'net-analyzer', + default => '', + }, + } + + + file { + "/etc/munin/": + ensure => directory, + mode => 0755, owner => root, group => root; + "/etc/munin/munin-node.conf": + content => template("munin/munin-node.conf.Gentoo."), + mode => 0644, owner => root, group => root, + # this has to be installed before the package, so the postinst can + # boot the munin-node without failure! + before => Package["munin-node"], + notify => Service["munin-node"], + } + + service { "munin": + ensure => running, + } + + munin::register { $fqdn: } + +} + diff --git a/manifests/plugin.pp b/manifests/plugin.pp index e7e22d1..f07b5fa 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -125,3 +125,10 @@ class munin::plugins::vserver inherits munin::plugins::base { } } + +class munin::plugins::gentoo inherits munin::plugins::base { + plugin { + [ netstat, processes ]: + ensure => present; + } +} -- cgit v1.2.3 From 83262e9f34f805fc02b6e242f6a70aa2965f9f09 Mon Sep 17 00:00:00 2001 From: am Date: Tue, 4 Dec 2007 10:12:27 +0000 Subject: nochmals das lsb problem ... + import munin (test) git-svn-id: https://svn/ipuppet/trunk/modules/munin@184 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 1 + 1 file changed, 1 insertion(+) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index f07b5fa..815c3c5 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -127,6 +127,7 @@ class munin::plugins::vserver inherits munin::plugins::base { } class munin::plugins::gentoo inherits munin::plugins::base { + plugin { [ netstat, processes ]: ensure => present; -- cgit v1.2.3 From e3980c637e756fda0b8fd1e3f4522efcb270af85 Mon Sep 17 00:00:00 2001 From: am Date: Tue, 4 Dec 2007 13:34:29 +0000 Subject: error 2 mal definiertes processes git-svn-id: https://svn/ipuppet/trunk/modules/munin@185 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 815c3c5..c107f41 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -128,8 +128,4 @@ class munin::plugins::vserver inherits munin::plugins::base { class munin::plugins::gentoo inherits munin::plugins::base { - plugin { - [ netstat, processes ]: - ensure => present; - } } -- cgit v1.2.3 From 3f8bc12721953212d2e3b0d9142a3e45d9c80c70 Mon Sep 17 00:00:00 2001 From: am Date: Tue, 4 Dec 2007 16:51:56 +0000 Subject: munin-node only on debian/etc... git-svn-id: https://svn/ipuppet/trunk/modules/munin@186 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index c107f41..81d8ed4 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -16,12 +16,16 @@ define munin::plugin ( file { $plugin: ensure => absent, } } default: { - $plugin_src = $ensure ? { "present" => $name, default => $ensure } - debug ( "munin_plugin: making $plugin using src: $plugin_src" ) - file { $plugin: - ensure => "$script_path/${plugin_src}", - require => Package["munin-node"], - notify => Service["munin-node"], + case $operatingsystem { + debian: { + $plugin_src = $ensure ? { "present" => $name, default => $ensure } + debug ( "munin_plugin: making $plugin using src: $plugin_src" ) + file { $plugin: + ensure => "$script_path/${plugin_src}", + require => Package["munin-node"], + notify => Service["munin-node"], + } + } } } } -- cgit v1.2.3 From 4d9eb3d04b2ed3efba52d45e2a24cf7ed7965151 Mon Sep 17 00:00:00 2001 From: am Date: Tue, 4 Dec 2007 17:18:35 +0000 Subject: munin-node in gentoo is munin git-svn-id: https://svn/ipuppet/trunk/modules/munin@188 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifests/client.pp b/manifests/client.pp index f5caaec..639d133 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -145,8 +145,8 @@ class munin::client::gentoo mode => 0644, owner => root, group => root, # this has to be installed before the package, so the postinst can # boot the munin-node without failure! - before => Package["munin-node"], - notify => Service["munin-node"], + before => Package["munin"], + notify => Service["munin"], } service { "munin": -- cgit v1.2.3 From 5300e9e26cfa65f0c182719b240a08f79ae76094 Mon Sep 17 00:00:00 2001 From: am Date: Tue, 4 Dec 2007 17:24:33 +0000 Subject: =?UTF-8?q?variable=20f=C3=BCr=20munin-node-service=20(einmal=20mu?= =?UTF-8?q?nin-node,=20das=20andere=20mal=20munin)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn/ipuppet/trunk/modules/munin@189 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 54 ++++++++++++++++++++++++++++------------------------- 1 file changed, 29 insertions(+), 25 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 81d8ed4..1420260 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -7,6 +7,15 @@ define munin::plugin ( $script_path = "/usr/share/munin/plugins", $config = '') { + case $operatingsystem { + debian: { + $munin-node-service = "munin-node"; + } + gentoo: { + $munin-node-service = "munin"; + } + } + $plugin_src = $ensure ? { "present" => $name, default => $ensure } debug ( "munin_plugin: name=$name, ensure=$ensure, script_path=$script_path" ) $plugin = "/etc/munin/plugins/$name" $plugin_conf = "/etc/munin/plugin-conf.d/$name.conf" @@ -16,16 +25,12 @@ define munin::plugin ( file { $plugin: ensure => absent, } } default: { - case $operatingsystem { - debian: { - $plugin_src = $ensure ? { "present" => $name, default => $ensure } - debug ( "munin_plugin: making $plugin using src: $plugin_src" ) - file { $plugin: - ensure => "$script_path/${plugin_src}", - require => Package["munin-node"], - notify => Service["munin-node"], - } - } + $plugin_src = $ensure ? { "present" => $name, default => $ensure } + debug ( "munin_plugin: making $plugin using src: $plugin_src" ) + file { $plugin: + ensure => "$script_path/${plugin_src}", + require => Package[$munin-node-service], + notify => Service[$munin-node-service], } } } @@ -70,21 +75,20 @@ define munin::remoteplugin($ensure = "present", $source, $config = '') { } } -class munin::plugins::base { - - file { - [ "/etc/munin/plugins", "/etc/munin/plugin-conf.d" ]: - source => "puppet://$servername/munin/empty", - ensure => directory, checksum => mtime, - recurse => true, purge => true, force => true, - mode => 0755, owner => root, group => root, - notify => Service[munin-node]; - "/etc/munin/plugin-conf.d/munin-node": - ensure => present, - mode => 0644, owner => root, group => root, - notify => Service[munin-node]; - } - +class munin::plugins::base-debian { + + file { + [ "/etc/munin/plugins", "/etc/munin/plugin-conf.d" ]: + source => "puppet://$servername/munin/empty", + ensure => directory, checksum => mtime, + recurse => true, purge => true, force => true, + mode => 0755, owner => root, group => root, + notify => Service[$munin-node-service]; + "/etc/munin/plugin-conf.d/munin-node": + ensure => present, + mode => 0644, owner => root, group => root, + notify => Service[$munin-node-service]; + } } # handle if_ and if_err_ plugins -- cgit v1.2.3 From 26e0ec6e73487fa6ab6f0000ee19906ad27caeaf Mon Sep 17 00:00:00 2001 From: am Date: Tue, 4 Dec 2007 17:26:28 +0000 Subject: test git-svn-id: https://svn/ipuppet/trunk/modules/munin@190 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 1420260..e7a6b2a 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -9,10 +9,10 @@ define munin::plugin ( { case $operatingsystem { debian: { - $munin-node-service = "munin-node"; + $munin-node-service = "$operatingsystem/munin-node"; } gentoo: { - $munin-node-service = "munin"; + $munin-node-service = "$operatingsystem/munin"; } } $plugin_src = $ensure ? { "present" => $name, default => $ensure } -- cgit v1.2.3 From d362c7c3f555d620b35e0021781b6f0e894105fc Mon Sep 17 00:00:00 2001 From: am Date: Tue, 4 Dec 2007 17:29:17 +0000 Subject: an beide orte ... git-svn-id: https://svn/ipuppet/trunk/modules/munin@191 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index e7a6b2a..6a84bc6 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -8,14 +8,10 @@ define munin::plugin ( $config = '') { case $operatingsystem { - debian: { - $munin-node-service = "$operatingsystem/munin-node"; - } - gentoo: { - $munin-node-service = "$operatingsystem/munin"; - } + debian: { $munin-node-service = "munin-node"; } + gentoo: { $munin-node-service = "munin"; } } - $plugin_src = $ensure ? { "present" => $name, default => $ensure } + $plugin_src = $ensure ? { "present" => $name, default => $ensure } debug ( "munin_plugin: name=$name, ensure=$ensure, script_path=$script_path" ) $plugin = "/etc/munin/plugins/$name" $plugin_conf = "/etc/munin/plugin-conf.d/$name.conf" @@ -77,6 +73,10 @@ define munin::remoteplugin($ensure = "present", $source, $config = '') { class munin::plugins::base-debian { + case $operatingsystem { + debian: { $munin-node-service = "munin-node"; } + gentoo: { $munin-node-service = "munin"; } + } file { [ "/etc/munin/plugins", "/etc/munin/plugin-conf.d" ]: source => "puppet://$servername/munin/empty", -- cgit v1.2.3 From 34e693dab7cb5193cc9661c05e7e13b92814cedf Mon Sep 17 00:00:00 2001 From: am Date: Tue, 4 Dec 2007 17:32:18 +0000 Subject: test git-svn-id: https://svn/ipuppet/trunk/modules/munin@192 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 6a84bc6..f72875b 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -74,8 +74,8 @@ define munin::remoteplugin($ensure = "present", $source, $config = '') { class munin::plugins::base-debian { case $operatingsystem { - debian: { $munin-node-service = "munin-node"; } gentoo: { $munin-node-service = "munin"; } + debian: { $munin-node-service = "munin-node"; } } file { [ "/etc/munin/plugins", "/etc/munin/plugin-conf.d" ]: @@ -83,11 +83,13 @@ class munin::plugins::base-debian { ensure => directory, checksum => mtime, recurse => true, purge => true, force => true, mode => 0755, owner => root, group => root, - notify => Service[$munin-node-service]; + #notify => Service[$munin-node-service]; + notify => Service[munin]; "/etc/munin/plugin-conf.d/munin-node": ensure => present, mode => 0644, owner => root, group => root, - notify => Service[$munin-node-service]; + # notify => Service[$munin-node-service]; + notify => Service[munin]; } } -- cgit v1.2.3 From 3e232c2c8387fb5531796994d748fe1e99bac065 Mon Sep 17 00:00:00 2001 From: am Date: Tue, 4 Dec 2007 18:49:37 +0000 Subject: strange... git-svn-id: https://svn/ipuppet/trunk/modules/munin@193 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 4 ++-- manifests/plugin.pp | 12 +++++------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/manifests/client.pp b/manifests/client.pp index 639d133..47df43d 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -145,8 +145,8 @@ class munin::client::gentoo mode => 0644, owner => root, group => root, # this has to be installed before the package, so the postinst can # boot the munin-node without failure! - before => Package["munin"], - notify => Service["munin"], + #before => Package["munin"], + #notify => Service["munin"], } service { "munin": diff --git a/manifests/plugin.pp b/manifests/plugin.pp index f72875b..5b1bfc3 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -26,7 +26,7 @@ define munin::plugin ( file { $plugin: ensure => "$script_path/${plugin_src}", require => Package[$munin-node-service], - notify => Service[$munin-node-service], + #notify => Service[$munin-node-service], } } } @@ -82,14 +82,14 @@ class munin::plugins::base-debian { source => "puppet://$servername/munin/empty", ensure => directory, checksum => mtime, recurse => true, purge => true, force => true, - mode => 0755, owner => root, group => root, + mode => 0755, owner => root, group => root; #notify => Service[$munin-node-service]; - notify => Service[munin]; + #notify => Service[munin]; "/etc/munin/plugin-conf.d/munin-node": ensure => present, - mode => 0644, owner => root, group => root, + mode => 0644, owner => root, group => root; # notify => Service[$munin-node-service]; - notify => Service[munin]; + # notify => Service[munin]; } } @@ -102,8 +102,6 @@ class munin::plugins::interfaces inherits munin::plugins::base { $ifs: ensure => "if_"; $if_errs: ensure => "if_err_"; } - - } class munin::plugins::linux inherits munin::plugins::base { -- cgit v1.2.3 From dcdadb9a99917ab7214fcb57c64cab2047cd8fe3 Mon Sep 17 00:00:00 2001 From: am Date: Tue, 4 Dec 2007 18:55:43 +0000 Subject: war ein anderer fehler ... shit git-svn-id: https://svn/ipuppet/trunk/modules/munin@194 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 4 ++-- manifests/plugin.pp | 18 ++++++++---------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/manifests/client.pp b/manifests/client.pp index 47df43d..639d133 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -145,8 +145,8 @@ class munin::client::gentoo mode => 0644, owner => root, group => root, # this has to be installed before the package, so the postinst can # boot the munin-node without failure! - #before => Package["munin"], - #notify => Service["munin"], + before => Package["munin"], + notify => Service["munin"], } service { "munin": diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 5b1bfc3..e361d69 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -8,8 +8,8 @@ define munin::plugin ( $config = '') { case $operatingsystem { - debian: { $munin-node-service = "munin-node"; } - gentoo: { $munin-node-service = "munin"; } + debian: { $munin_node_service = "munin-node"; } + gentoo: { $munin-node_service = "munin"; } } $plugin_src = $ensure ? { "present" => $name, default => $ensure } debug ( "munin_plugin: name=$name, ensure=$ensure, script_path=$script_path" ) @@ -25,8 +25,8 @@ define munin::plugin ( debug ( "munin_plugin: making $plugin using src: $plugin_src" ) file { $plugin: ensure => "$script_path/${plugin_src}", - require => Package[$munin-node-service], - #notify => Service[$munin-node-service], + require => Package[$munin_node_service], + notify => Service[$munin_node_service], } } } @@ -74,8 +74,8 @@ define munin::remoteplugin($ensure = "present", $source, $config = '') { class munin::plugins::base-debian { case $operatingsystem { - gentoo: { $munin-node-service = "munin"; } - debian: { $munin-node-service = "munin-node"; } + gentoo: { $munin_node_service = "munin"; } + debian: { $munin_node_service = "munin-node"; } } file { [ "/etc/munin/plugins", "/etc/munin/plugin-conf.d" ]: @@ -83,13 +83,11 @@ class munin::plugins::base-debian { ensure => directory, checksum => mtime, recurse => true, purge => true, force => true, mode => 0755, owner => root, group => root; - #notify => Service[$munin-node-service]; - #notify => Service[munin]; + notify => Service[$munin_node_service]; "/etc/munin/plugin-conf.d/munin-node": ensure => present, mode => 0644, owner => root, group => root; - # notify => Service[$munin-node-service]; - # notify => Service[munin]; + notify => Service[$munin_node_service]; } } -- cgit v1.2.3 From a39eec70917c79ad36101390cac03c111235a454 Mon Sep 17 00:00:00 2001 From: am Date: Tue, 4 Dec 2007 19:41:28 +0000 Subject: lokale installtion des puppetmasters, korrektur der probleme git-svn-id: https://svn/ipuppet/trunk/modules/munin@195 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index e361d69..ea31b32 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -8,8 +8,8 @@ define munin::plugin ( $config = '') { case $operatingsystem { - debian: { $munin_node_service = "munin-node"; } - gentoo: { $munin-node_service = "munin"; } + debian: { $munin_node_service = "munin-node" } + gentoo: { $munin_node_service = "munin" } } $plugin_src = $ensure ? { "present" => $name, default => $ensure } debug ( "munin_plugin: name=$name, ensure=$ensure, script_path=$script_path" ) @@ -74,19 +74,19 @@ define munin::remoteplugin($ensure = "present", $source, $config = '') { class munin::plugins::base-debian { case $operatingsystem { - gentoo: { $munin_node_service = "munin"; } - debian: { $munin_node_service = "munin-node"; } + gentoo: { $munin_node_service = "munin" } + debian: { $munin_node_service = "munin-node" } } file { [ "/etc/munin/plugins", "/etc/munin/plugin-conf.d" ]: source => "puppet://$servername/munin/empty", ensure => directory, checksum => mtime, recurse => true, purge => true, force => true, - mode => 0755, owner => root, group => root; + mode => 0755, owner => root, group => root, notify => Service[$munin_node_service]; "/etc/munin/plugin-conf.d/munin-node": ensure => present, - mode => 0644, owner => root, group => root; + mode => 0644, owner => root, group => root, notify => Service[$munin_node_service]; } } -- cgit v1.2.3 From fbc577ecabbd034ec615744208eb8a27859503c4 Mon Sep 17 00:00:00 2001 From: am Date: Tue, 4 Dec 2007 19:50:40 +0000 Subject: falscher name git-svn-id: https://svn/ipuppet/trunk/modules/munin@196 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index ea31b32..8aee8ad 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -71,7 +71,7 @@ define munin::remoteplugin($ensure = "present", $source, $config = '') { } } -class munin::plugins::base-debian { +class munin::plugins::base { case $operatingsystem { gentoo: { $munin_node_service = "munin" } -- cgit v1.2.3 From f69907de9be312048d2dc74e010bda410a5b3d37 Mon Sep 17 00:00:00 2001 From: am Date: Wed, 5 Dec 2007 13:51:54 +0000 Subject: test git-svn-id: https://svn/ipuppet/trunk/modules/munin@197 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 8aee8ad..40591b8 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -83,7 +83,7 @@ class munin::plugins::base { ensure => directory, checksum => mtime, recurse => true, purge => true, force => true, mode => 0755, owner => root, group => root, - notify => Service[$munin_node_service]; + notify => Service["$munin_node_service-$operatingsystem"]; "/etc/munin/plugin-conf.d/munin-node": ensure => present, mode => 0644, owner => root, group => root, -- cgit v1.2.3 From 6d7f8ca83b1f7ca06f56a012b340a7e42f37c1b1 Mon Sep 17 00:00:00 2001 From: am Date: Wed, 5 Dec 2007 13:56:23 +0000 Subject: uebersehener error git-svn-id: https://svn/ipuppet/trunk/modules/munin@198 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 40591b8..81a17b9 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -21,7 +21,7 @@ define munin::plugin ( file { $plugin: ensure => absent, } } default: { - $plugin_src = $ensure ? { "present" => $name, default => $ensure } + #$plugin_src = $ensure ? { "present" => $name, default => $ensure } debug ( "munin_plugin: making $plugin using src: $plugin_src" ) file { $plugin: ensure => "$script_path/${plugin_src}", -- cgit v1.2.3 From cbd5da982afdd44558f4f8b6fbf3e9ae45c324ae Mon Sep 17 00:00:00 2001 From: am Date: Wed, 5 Dec 2007 14:01:12 +0000 Subject: test erfolgreich ... rueckgaengig machen.. git-svn-id: https://svn/ipuppet/trunk/modules/munin@199 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 81a17b9..8b03765 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -83,7 +83,7 @@ class munin::plugins::base { ensure => directory, checksum => mtime, recurse => true, purge => true, force => true, mode => 0755, owner => root, group => root, - notify => Service["$munin_node_service-$operatingsystem"]; + notify => Service["$munin_node_service"]; "/etc/munin/plugin-conf.d/munin-node": ensure => present, mode => 0644, owner => root, group => root, -- cgit v1.2.3 From 1fe2c5e4ec21ae9d49bc24a3583b55cda8f216be Mon Sep 17 00:00:00 2001 From: am Date: Wed, 5 Dec 2007 14:12:29 +0000 Subject: gentoo has another script path git-svn-id: https://svn/ipuppet/trunk/modules/munin@200 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 8b03765..f97abf0 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -9,7 +9,10 @@ define munin::plugin ( { case $operatingsystem { debian: { $munin_node_service = "munin-node" } - gentoo: { $munin_node_service = "munin" } + Gentoo: { + $munin_node_service = "munin" + $script_path = "/usr/libexec/munin/plugins", + } } $plugin_src = $ensure ? { "present" => $name, default => $ensure } debug ( "munin_plugin: name=$name, ensure=$ensure, script_path=$script_path" ) -- cgit v1.2.3 From e2b8485b231352cecc15d094a36360cf7b7f9eb4 Mon Sep 17 00:00:00 2001 From: am Date: Wed, 5 Dec 2007 14:14:06 +0000 Subject: , fehler git-svn-id: https://svn/ipuppet/trunk/modules/munin@201 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index f97abf0..2494203 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -8,10 +8,12 @@ define munin::plugin ( $config = '') { case $operatingsystem { - debian: { $munin_node_service = "munin-node" } + debian: { + $munin_node_service = "munin-node"; + } Gentoo: { - $munin_node_service = "munin" - $script_path = "/usr/libexec/munin/plugins", + $munin_node_service = "munin", + $script_path = "/usr/libexec/munin/plugins"; } } $plugin_src = $ensure ? { "present" => $name, default => $ensure } -- cgit v1.2.3 From 8c99a8604ca0e1fe0cbb0d94317064f45d1b41ab Mon Sep 17 00:00:00 2001 From: am Date: Wed, 5 Dec 2007 14:18:15 +0000 Subject: in case gibts keine kommas ... git-svn-id: https://svn/ipuppet/trunk/modules/munin@202 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 2494203..09489dd 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -9,11 +9,11 @@ define munin::plugin ( { case $operatingsystem { debian: { - $munin_node_service = "munin-node"; + $munin_node_service = "munin-node" } Gentoo: { - $munin_node_service = "munin", - $script_path = "/usr/libexec/munin/plugins"; + $munin_node_service = "munin" + $script_path = "/usr/libexec/munin/plugins" } } $plugin_src = $ensure ? { "present" => $name, default => $ensure } -- cgit v1.2.3 From 98ef8807b7ade3162c4ca2e14450641a29b1b4a1 Mon Sep 17 00:00:00 2001 From: am Date: Wed, 5 Dec 2007 14:29:03 +0000 Subject: added script path differently test.. git-svn-id: https://svn/ipuppet/trunk/modules/munin@203 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 09489dd..2b14857 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -11,7 +11,7 @@ define munin::plugin ( debian: { $munin_node_service = "munin-node" } - Gentoo: { + gentoo: { $munin_node_service = "munin" $script_path = "/usr/libexec/munin/plugins" } -- cgit v1.2.3 From 748e8d68a5f1624f9f41bfd870476fcf4e51d6dc Mon Sep 17 00:00:00 2001 From: am Date: Wed, 5 Dec 2007 14:38:01 +0000 Subject: script path correction git-svn-id: https://svn/ipuppet/trunk/modules/munin@204 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 2b14857..b9a1456 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -4,20 +4,24 @@ define munin::plugin ( $ensure = "present", - $script_path = "/usr/share/munin/plugins", + $script_path, $config = '') { + $script_path_default = "/usr/share/munin/plugins" case $operatingsystem { debian: { $munin_node_service = "munin-node" + $script_path_default = "/usr/share/munin/plugins" } gentoo: { $munin_node_service = "munin" - $script_path = "/usr/libexec/munin/plugins" + $script_path_default = "/usr/libexec/munin/plugins" } } + $script_path_correct = $script_path ? { '' => $script_path_default, default => $script_path } + $plugin_src = $ensure ? { "present" => $name, default => $ensure } - debug ( "munin_plugin: name=$name, ensure=$ensure, script_path=$script_path" ) + debug ( "munin_plugin: name=$name, ensure=$ensure, script_path=$script_path_correct" ) $plugin = "/etc/munin/plugins/$name" $plugin_conf = "/etc/munin/plugin-conf.d/$name.conf" case $ensure { @@ -29,7 +33,7 @@ define munin::plugin ( #$plugin_src = $ensure ? { "present" => $name, default => $ensure } debug ( "munin_plugin: making $plugin using src: $plugin_src" ) file { $plugin: - ensure => "$script_path/${plugin_src}", + ensure => "$script_path_correct/${plugin_src}", require => Package[$munin_node_service], notify => Service[$munin_node_service], } -- cgit v1.2.3 From 58c7e6d506030bc3dcdaf4e4aaaf931c7b40a341 Mon Sep 17 00:00:00 2001 From: am Date: Thu, 6 Dec 2007 09:03:57 +0000 Subject: * lsb_ ... immer noch unzufrieden * script path test git-svn-id: https://svn/ipuppet/trunk/modules/munin@206 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index b9a1456..7a6e6af 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -4,7 +4,7 @@ define munin::plugin ( $ensure = "present", - $script_path, + $script_path = '', $config = '') { $script_path_default = "/usr/share/munin/plugins" -- cgit v1.2.3 From 01caf8e855c93161bef56ab1da3455bf936dc7b1 Mon Sep 17 00:00:00 2001 From: am Date: Thu, 6 Dec 2007 09:14:08 +0000 Subject: cannot reassign ... correction git-svn-id: https://svn/ipuppet/trunk/modules/munin@207 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 7a6e6af..f35bf8f 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -7,7 +7,7 @@ define munin::plugin ( $script_path = '', $config = '') { - $script_path_default = "/usr/share/munin/plugins" + #$script_path_default = "/usr/share/munin/plugins" case $operatingsystem { debian: { $munin_node_service = "munin-node" @@ -17,6 +17,10 @@ define munin::plugin ( $munin_node_service = "munin" $script_path_default = "/usr/libexec/munin/plugins" } + default: { + $munin_node_service = "munin" + $script_path_default = "/usr/libexec/munin/plugins" + } } $script_path_correct = $script_path ? { '' => $script_path_default, default => $script_path } -- cgit v1.2.3 From ab7b943e792cbea075c10c118c81144ebb21b5f4 Mon Sep 17 00:00:00 2001 From: am Date: Thu, 6 Dec 2007 09:53:51 +0000 Subject: strange, warum setzt er die variable nicht ... git-svn-id: https://svn/ipuppet/trunk/modules/munin@208 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index f35bf8f..de8f0a3 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -22,7 +22,7 @@ define munin::plugin ( $script_path_default = "/usr/libexec/munin/plugins" } } - $script_path_correct = $script_path ? { '' => $script_path_default, default => $script_path } + $script_path_correct = $script_path ? { '' => $script_path_default, default => $script_path_default } $plugin_src = $ensure ? { "present" => $name, default => $ensure } debug ( "munin_plugin: name=$name, ensure=$ensure, script_path=$script_path_correct" ) -- cgit v1.2.3 From fa3b0c563327deb29405eeacdf6ba7dd14d01869 Mon Sep 17 00:00:00 2001 From: am Date: Thu, 6 Dec 2007 10:07:42 +0000 Subject: haette ich schon lange an nen anderen ort tun sollen ... korrektur Service bei gentoo heisst munin-node git-svn-id: https://svn/ipuppet/trunk/modules/munin@209 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index de8f0a3..724e9a4 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -4,28 +4,30 @@ define munin::plugin ( $ensure = "present", - $script_path = '', + $script_path = $script_path_default, $config = '') { - #$script_path_default = "/usr/share/munin/plugins" case $operatingsystem { debian: { $munin_node_service = "munin-node" - $script_path_default = "/usr/share/munin/plugins" + $munin_node_package = "munin-node" + #$script_path_default = "/usr/share/munin/plugins" } gentoo: { - $munin_node_service = "munin" - $script_path_default = "/usr/libexec/munin/plugins" + $munin_node_service = "munin-node" + $munin_node_package = "munin" + #$script_path_default = "/usr/libexec/munin/plugins" } default: { - $munin_node_service = "munin" - $script_path_default = "/usr/libexec/munin/plugins" + $munin_node_service = "munin-node" + $munin_node_package = "munin" + #$script_path_default = "/usr/libexec/munin/plugins" } } - $script_path_correct = $script_path ? { '' => $script_path_default, default => $script_path_default } + #$script_path_correct = $script_path ? { '' => $script_path_default, default => $script_path_default } $plugin_src = $ensure ? { "present" => $name, default => $ensure } - debug ( "munin_plugin: name=$name, ensure=$ensure, script_path=$script_path_correct" ) + debug ( "munin_plugin: name=$name, ensure=$ensure, script_path=$script_path" ) $plugin = "/etc/munin/plugins/$name" $plugin_conf = "/etc/munin/plugin-conf.d/$name.conf" case $ensure { @@ -37,8 +39,8 @@ define munin::plugin ( #$plugin_src = $ensure ? { "present" => $name, default => $ensure } debug ( "munin_plugin: making $plugin using src: $plugin_src" ) file { $plugin: - ensure => "$script_path_correct/${plugin_src}", - require => Package[$munin_node_service], + ensure => "$script_path/${plugin_src}", + require => Package[$munin_node_package], notify => Service[$munin_node_service], } } @@ -87,8 +89,14 @@ define munin::remoteplugin($ensure = "present", $source, $config = '') { class munin::plugins::base { case $operatingsystem { - gentoo: { $munin_node_service = "munin" } - debian: { $munin_node_service = "munin-node" } + gentoo: { + $munin_node_package = "munin" + $munin_node_service = "munin-node" + } + debian: { + $munin_node_service = "munin-node" + $munin_node_package = "munin-node" + } } file { [ "/etc/munin/plugins", "/etc/munin/plugin-conf.d" ]: -- cgit v1.2.3 From 51a1fd9841f92ab5d8ccecd100ef54fa18eff09b Mon Sep 17 00:00:00 2001 From: peter woodman Date: Thu, 6 Dec 2007 22:21:38 -0800 Subject: munin: adding entries for the log files that munin expects. --- manifests/host.pp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/manifests/host.pp b/manifests/host.pp index 8a90cc2..5e65a04 100644 --- a/manifests/host.pp +++ b/manifests/host.pp @@ -13,6 +13,11 @@ class munin::host header => "/etc/munin/munin.conf.header", } + file { ["/var/log/munin-update.log", "/var/log/munin-graph.log", "/var/log/munin-html.log"]: + ensure => present, + mode => 640, owner => munin, group => root; + } + } class munin::snmp_collector -- cgit v1.2.3 From 5ef32d93b97a0fb2881f03e24deac7daa8c9da35 Mon Sep 17 00:00:00 2001 From: peter woodman Date: Thu, 6 Dec 2007 22:21:39 -0800 Subject: munin: also adding munin-limits.log to logfiles to ensure --- manifests/host.pp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/manifests/host.pp b/manifests/host.pp index 5e65a04..83d1887 100644 --- a/manifests/host.pp +++ b/manifests/host.pp @@ -13,7 +13,8 @@ class munin::host header => "/etc/munin/munin.conf.header", } - file { ["/var/log/munin-update.log", "/var/log/munin-graph.log", "/var/log/munin-html.log"]: + file { ["/var/log/munin-update.log", "/var/log/munin-limits.log", + "/var/log/munin-graph.log", "/var/log/munin-html.log"]: ensure => present, mode => 640, owner => munin, group => root; } -- cgit v1.2.3 From 961a62b2db231ccdc1a1bdbc43701e27d9bc014e Mon Sep 17 00:00:00 2001 From: peter woodman Date: Thu, 6 Dec 2007 22:21:40 -0800 Subject: munin: making sure the munin-node package gets installed before ensuring plugin-conf.d/munin-node --- manifests/plugin.pp | 1 + 1 file changed, 1 insertion(+) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index e7e22d1..b1d58ad 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -79,6 +79,7 @@ class munin::plugins::base { ensure => present, mode => 0644, owner => root, group => root, notify => Service[munin-node]; + before => Package[munin-node]; } } -- cgit v1.2.3 From bf7c4c00e8ba853c217a4cd6cea39a44d6f231c3 Mon Sep 17 00:00:00 2001 From: am Date: Fri, 7 Dec 2007 08:47:20 +0000 Subject: * Could not retrieve dependency 'Service[munin-node]' at /var/lib/puppet/modules/munin/manifests/plugin.pp:45 git-svn-id: https://svn/ipuppet/trunk/modules/munin@211 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 724e9a4..2ae20d2 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -14,12 +14,13 @@ define munin::plugin ( #$script_path_default = "/usr/share/munin/plugins" } gentoo: { - $munin_node_service = "munin-node" + #$munin_node_service = "munin-node" + $munin_node_service = "munin" $munin_node_package = "munin" #$script_path_default = "/usr/libexec/munin/plugins" } default: { - $munin_node_service = "munin-node" + $munin_node_service = "munin" $munin_node_package = "munin" #$script_path_default = "/usr/libexec/munin/plugins" } @@ -91,7 +92,7 @@ class munin::plugins::base { case $operatingsystem { gentoo: { $munin_node_package = "munin" - $munin_node_service = "munin-node" + $munin_node_service = "munin" } debian: { $munin_node_service = "munin-node" -- cgit v1.2.3 From e6917f083233475fd0a68539df97b7ffd74cc5b6 Mon Sep 17 00:00:00 2001 From: am Date: Fri, 7 Dec 2007 10:52:18 +0000 Subject: templates neu git-svn-id: https://svn/ipuppet/trunk/modules/munin@212 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- templates/munin-node.conf.CentOS | 1 + templates/munin-node.conf.CentOS. | 1 + templates/munin-node.conf.CentOS.5 | 1 + templates/munin-node.conf.default | 39 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 42 insertions(+) create mode 120000 templates/munin-node.conf.CentOS create mode 120000 templates/munin-node.conf.CentOS. create mode 120000 templates/munin-node.conf.CentOS.5 create mode 100644 templates/munin-node.conf.default diff --git a/templates/munin-node.conf.CentOS b/templates/munin-node.conf.CentOS new file mode 120000 index 0000000..082b30c --- /dev/null +++ b/templates/munin-node.conf.CentOS @@ -0,0 +1 @@ +munin-node.conf.default \ No newline at end of file diff --git a/templates/munin-node.conf.CentOS. b/templates/munin-node.conf.CentOS. new file mode 120000 index 0000000..082b30c --- /dev/null +++ b/templates/munin-node.conf.CentOS. @@ -0,0 +1 @@ +munin-node.conf.default \ No newline at end of file diff --git a/templates/munin-node.conf.CentOS.5 b/templates/munin-node.conf.CentOS.5 new file mode 120000 index 0000000..082b30c --- /dev/null +++ b/templates/munin-node.conf.CentOS.5 @@ -0,0 +1 @@ +munin-node.conf.default \ No newline at end of file diff --git a/templates/munin-node.conf.default b/templates/munin-node.conf.default new file mode 100644 index 0000000..f10349e --- /dev/null +++ b/templates/munin-node.conf.default @@ -0,0 +1,39 @@ +########## +########## Managed by puppet +########## + +log_level 4 +log_file /var/log/munin/munin-node.log +pid_file /var/run/munin/munin-node.pid +background 1 +setseid 1 + +# Which host/port to bind to; +host <%= munin_host_real %> +port <%= munin_port_real %> +user root +group root +setsid yes + +# Regexps for files to ignore + +ignore_file ~$ +ignore_file \.bak$ +ignore_file %$ +ignore_file \.dpkg-(tmp|new|old|dist)$ +ignore_file \.rpm(save|new)$ + +# Set this if the client doesn't report the correct hostname when +# telnetting to localhost, port 4949 +# +#host_name localhost.localdomain +host_name <%= fqdn %> + +# A list of addresses that are allowed to connect. This must be a +# regular expression, due to brain damage in Net::Server, which +# doesn't understand CIDR-style network notation. You may repeat +# the allow line as many times as you'd like +allow ^127\.0\.0\.1$ +allow <%= munin_allow1 %> +allow <%= munin_allow2 %> + -- cgit v1.2.3 From a34896a0987b993a5826b87da4151b348f7b2d42 Mon Sep 17 00:00:00 2001 From: am Date: Fri, 7 Dec 2007 11:05:18 +0000 Subject: gentoo ist eigntlich auch default ... git-svn-id: https://svn/ipuppet/trunk/modules/munin@213 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- templates/munin-node.conf.Gentoo | 40 +--------------------------------------- 1 file changed, 1 insertion(+), 39 deletions(-) mode change 100644 => 120000 templates/munin-node.conf.Gentoo diff --git a/templates/munin-node.conf.Gentoo b/templates/munin-node.conf.Gentoo deleted file mode 100644 index f10349e..0000000 --- a/templates/munin-node.conf.Gentoo +++ /dev/null @@ -1,39 +0,0 @@ -########## -########## Managed by puppet -########## - -log_level 4 -log_file /var/log/munin/munin-node.log -pid_file /var/run/munin/munin-node.pid -background 1 -setseid 1 - -# Which host/port to bind to; -host <%= munin_host_real %> -port <%= munin_port_real %> -user root -group root -setsid yes - -# Regexps for files to ignore - -ignore_file ~$ -ignore_file \.bak$ -ignore_file %$ -ignore_file \.dpkg-(tmp|new|old|dist)$ -ignore_file \.rpm(save|new)$ - -# Set this if the client doesn't report the correct hostname when -# telnetting to localhost, port 4949 -# -#host_name localhost.localdomain -host_name <%= fqdn %> - -# A list of addresses that are allowed to connect. This must be a -# regular expression, due to brain damage in Net::Server, which -# doesn't understand CIDR-style network notation. You may repeat -# the allow line as many times as you'd like -allow ^127\.0\.0\.1$ -allow <%= munin_allow1 %> -allow <%= munin_allow2 %> - diff --git a/templates/munin-node.conf.Gentoo b/templates/munin-node.conf.Gentoo new file mode 120000 index 0000000..082b30c --- /dev/null +++ b/templates/munin-node.conf.Gentoo @@ -0,0 +1 @@ +munin-node.conf.default \ No newline at end of file -- cgit v1.2.3 From 01273ad5699ff5791416892fb25f84b1ba227d05 Mon Sep 17 00:00:00 2001 From: am Date: Fri, 7 Dec 2007 11:07:31 +0000 Subject: * added centos to the munin module * little corrections in shorewall-local stuff git-svn-id: https://svn/ipuppet/trunk/modules/munin@214 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 37 ++++++++++++++++++++++++++++++++++++- manifests/plugin.pp | 24 +++++++++++++++++------- 2 files changed, 53 insertions(+), 8 deletions(-) diff --git a/manifests/client.pp b/manifests/client.pp index 639d133..18a4043 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -25,7 +25,10 @@ class munin::client { gentoo: { include munin::client::gentoo include munin::plugins::gentoo - + } + centos: { + include munin::client::centos + include munin::plugins::centos } default: { fail ("Don't know how to handle munin on $operatingsystem") } } @@ -157,3 +160,35 @@ class munin::client::gentoo } +class munin::client::centos +{ + package { 'munin-node': + ensure => present, + category => $operatingsystem ? { + gentoo => 'net-analyzer', + default => '', + }, + } + + + file { + "/etc/munin/": + ensure => directory, + mode => 0755, owner => root, group => root; + "/etc/munin/munin-node.conf": + content => template("munin/munin-node.conf.CentOS."), + mode => 0644, owner => root, group => root, + # this has to be installed before the package, so the postinst can + # boot the munin-node without failure! + before => Package["munin"], + notify => Service["munin"], + } + + service { "munin": + ensure => running, + } + + munin::register { $fqdn: } + +} + diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 2ae20d2..579e2f9 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -11,21 +11,21 @@ define munin::plugin ( debian: { $munin_node_service = "munin-node" $munin_node_package = "munin-node" - #$script_path_default = "/usr/share/munin/plugins" + } + centos: { + $munin_node_service = "munin-node" + $munin_node_package = "munin-node" } gentoo: { #$munin_node_service = "munin-node" $munin_node_service = "munin" $munin_node_package = "munin" - #$script_path_default = "/usr/libexec/munin/plugins" } default: { - $munin_node_service = "munin" - $munin_node_package = "munin" - #$script_path_default = "/usr/libexec/munin/plugins" + $munin_node_service = "munin-node" + $munin_node_package = "munin-node" } } - #$script_path_correct = $script_path ? { '' => $script_path_default, default => $script_path_default } $plugin_src = $ensure ? { "present" => $name, default => $ensure } debug ( "munin_plugin: name=$name, ensure=$ensure, script_path=$script_path" ) @@ -37,7 +37,6 @@ define munin::plugin ( file { $plugin: ensure => absent, } } default: { - #$plugin_src = $ensure ? { "present" => $name, default => $ensure } debug ( "munin_plugin: making $plugin using src: $plugin_src" ) file { $plugin: ensure => "$script_path/${plugin_src}", @@ -98,6 +97,14 @@ class munin::plugins::base { $munin_node_service = "munin-node" $munin_node_package = "munin-node" } + centos: { + $munin_node_service = "munin-node" + $munin_node_package = "munin-node" + } + default: { + $munin_node_service = "munin-node" + $munin_node_package = "munin-node" + } } file { [ "/etc/munin/plugins", "/etc/munin/plugin-conf.d" ]: @@ -155,5 +162,8 @@ class munin::plugins::vserver inherits munin::plugins::base { } class munin::plugins::gentoo inherits munin::plugins::base { +} +class munin::plugins::centos inherits munin::plugins::base { } + -- cgit v1.2.3 From e88e44ca8b8732abdd922562f7ed87aaa5ee860c Mon Sep 17 00:00:00 2001 From: am Date: Fri, 7 Dec 2007 12:15:55 +0000 Subject: =?UTF-8?q?f=C3=BCr=20centos=20nicht=20...=20f=C3=BCr=20den=20mome?= =?UTF-8?q?nt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn/ipuppet/trunk/modules/munin@215 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 579e2f9..5649b29 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -41,7 +41,14 @@ define munin::plugin ( file { $plugin: ensure => "$script_path/${plugin_src}", require => Package[$munin_node_package], - notify => Service[$munin_node_service], + case $operatingsystem { + centos: { + # do nothing + } + default: { + notify => Service[$munin_node_service], + } + } } } } -- cgit v1.2.3 From 6b05503cb59df561423995787a8f31b3ea75b5e8 Mon Sep 17 00:00:00 2001 From: am Date: Fri, 7 Dec 2007 12:19:20 +0000 Subject: case durfte dort nicht stehen git-svn-id: https://svn/ipuppet/trunk/modules/munin@216 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 5649b29..971f076 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -38,15 +38,18 @@ define munin::plugin ( } default: { debug ( "munin_plugin: making $plugin using src: $plugin_src" ) - file { $plugin: - ensure => "$script_path/${plugin_src}", - require => Package[$munin_node_package], - case $operatingsystem { - centos: { - # do nothing + case $operatingsystem { + centos: { + file { $plugin: + ensure => "$script_path/${plugin_src}", + require => Package[$munin_node_package]; } - default: { - notify => Service[$munin_node_service], + } + default: { + file { $plugin: + ensure => "$script_path/${plugin_src}", + require => Package[$munin_node_package], + notify => Service[$munin_node_service]; } } } -- cgit v1.2.3 From 1b30f55f5ae7ea19d80e59672b95b63ba647de62 Mon Sep 17 00:00:00 2001 From: am Date: Fri, 7 Dec 2007 12:27:50 +0000 Subject: =?UTF-8?q?scheint=20einigermassen=20ne=20l=C3=B6sung=20zu=20sein?= =?UTF-8?q?=20...=20ausser=20dem=20was=20er=20dann=20nicht=20macht=20...?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn/ipuppet/trunk/modules/munin@217 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 971f076..1e5a78f 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -116,7 +116,21 @@ class munin::plugins::base { $munin_node_package = "munin-node" } } - file { + case $operatingsystem { + centos: { + file { + [ "/etc/munin/plugins", "/etc/munin/plugin-conf.d" ]: + source => "puppet://$servername/munin/empty", + ensure => directory, checksum => mtime, + recurse => true, purge => true, force => true, + mode => 0755, owner => root, group => root; + "/etc/munin/plugin-conf.d/munin-node": + ensure => present, + mode => 0644, owner => root, group => root; + } + } + default: { + file { [ "/etc/munin/plugins", "/etc/munin/plugin-conf.d" ]: source => "puppet://$servername/munin/empty", ensure => directory, checksum => mtime, @@ -127,6 +141,7 @@ class munin::plugins::base { ensure => present, mode => 0644, owner => root, group => root, notify => Service[$munin_node_service]; + } } } -- cgit v1.2.3 From 907173d99e26513fd280b7e0a137afa825d855d7 Mon Sep 17 00:00:00 2001 From: am Date: Fri, 7 Dec 2007 12:29:40 +0000 Subject: tippfehler git-svn-id: https://svn/ipuppet/trunk/modules/munin@218 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 1e5a78f..15049f2 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -128,7 +128,8 @@ class munin::plugins::base { ensure => present, mode => 0644, owner => root, group => root; } - } + } + default: { file { [ "/etc/munin/plugins", "/etc/munin/plugin-conf.d" ]: @@ -143,6 +144,7 @@ class munin::plugins::base { notify => Service[$munin_node_service]; } } + } } # handle if_ and if_err_ plugins -- cgit v1.2.3 From f3ff1bfc421941547eff7c18c353896141419886 Mon Sep 17 00:00:00 2001 From: peter woodman Date: Fri, 7 Dec 2007 00:46:25 -0800 Subject: munin: put a , where a ; wasn't supposed to be. --- manifests/plugin.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index b1d58ad..d143861 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -78,7 +78,7 @@ class munin::plugins::base { "/etc/munin/plugin-conf.d/munin-node": ensure => present, mode => 0644, owner => root, group => root, - notify => Service[munin-node]; + notify => Service[munin-node], before => Package[munin-node]; } -- cgit v1.2.3 From aad7d1cb8c499af0ebe5f8a1ab0c55b9017b7ea2 Mon Sep 17 00:00:00 2001 From: mh Date: Wed, 2 Jan 2008 20:16:12 +0000 Subject: fixed group stuff git-svn-id: https://svn/ipuppet/trunk/modules/munin@350 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 14 +++++++------- manifests/host.pp | 2 +- manifests/plugin.pp | 12 ++++++------ 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/manifests/client.pp b/manifests/client.pp index 18a4043..2e8f018 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -80,7 +80,7 @@ class munin::client::darwin file { "/usr/share/snmp/snmpd.conf": mode => 744, content => template("munin/darwin_snmpd.conf.erb"), - group => staff, + group => 0, owner => root, } delete_matching_line{"startsnmpdno": @@ -106,10 +106,10 @@ class munin::client::debian file { "/etc/munin/": ensure => directory, - mode => 0755, owner => root, group => root; + mode => 0755, owner => root, group => 0; "/etc/munin/munin-node.conf": content => template("munin/munin-node.conf.${operatingsystem}.${lsbdistcodename}"), - mode => 0644, owner => root, group => root, + mode => 0644, owner => root, group => 0, # this has to be installed before the package, so the postinst can # boot the munin-node without failure! before => Package["munin-node"], @@ -142,10 +142,10 @@ class munin::client::gentoo file { "/etc/munin/": ensure => directory, - mode => 0755, owner => root, group => root; + mode => 0755, owner => root, group => 0; "/etc/munin/munin-node.conf": content => template("munin/munin-node.conf.Gentoo."), - mode => 0644, owner => root, group => root, + mode => 0644, owner => root, group => 0, # this has to be installed before the package, so the postinst can # boot the munin-node without failure! before => Package["munin"], @@ -174,10 +174,10 @@ class munin::client::centos file { "/etc/munin/": ensure => directory, - mode => 0755, owner => root, group => root; + mode => 0755, owner => root, group =>0; "/etc/munin/munin-node.conf": content => template("munin/munin-node.conf.CentOS."), - mode => 0644, owner => root, group => root, + mode => 0644, owner => root, group => 0, # this has to be installed before the package, so the postinst can # boot the munin-node without failure! before => Package["munin"], diff --git a/manifests/host.pp b/manifests/host.pp index 8a90cc2..844698d 100644 --- a/manifests/host.pp +++ b/manifests/host.pp @@ -21,7 +21,7 @@ class munin::snmp_collector file { "/var/lib/puppet/modules/munin/create_snmp_links": source => "puppet://$servername/munin/create_snmp_links.sh", - mode => 755, owner => root, group => root; + mode => 755, owner => root, group => 0; } exec { "create_snmp_links": diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 15049f2..f21098e 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -70,7 +70,7 @@ define munin::plugin ( debug("creating $plugin_conf") file { $plugin_conf: content => "[${name}]\n$config\n", - mode => 0644, owner => root, group => root, + mode => 0644, owner => root, group => 0, } } } @@ -85,7 +85,7 @@ define munin::remoteplugin($ensure = "present", $source, $config = '') { file { "/var/lib/puppet/modules/munin/plugins/${name}": source => $source, - mode => 0755, owner => root, group => root; + mode => 0755, owner => root, group => 0; } munin::plugin { $name: ensure => $ensure, @@ -123,10 +123,10 @@ class munin::plugins::base { source => "puppet://$servername/munin/empty", ensure => directory, checksum => mtime, recurse => true, purge => true, force => true, - mode => 0755, owner => root, group => root; + mode => 0755, owner => root, group => 0; "/etc/munin/plugin-conf.d/munin-node": ensure => present, - mode => 0644, owner => root, group => root; + mode => 0644, owner => root, group => 0; } } @@ -136,11 +136,11 @@ class munin::plugins::base { source => "puppet://$servername/munin/empty", ensure => directory, checksum => mtime, recurse => true, purge => true, force => true, - mode => 0755, owner => root, group => root, + mode => 0755, owner => root, group => 0, notify => Service["$munin_node_service"]; "/etc/munin/plugin-conf.d/munin-node": ensure => present, - mode => 0644, owner => root, group => root, + mode => 0644, owner => root, group => 0, notify => Service[$munin_node_service]; } } -- cgit v1.2.3 From 212e5735114dd37826537e43271348f48bb94e30 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 28 Jan 2008 16:24:55 +0100 Subject: tagging --- manifests/client.pp | 2 ++ manifests/host.pp | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/manifests/client.pp b/manifests/client.pp index 5b78186..0ad7856 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -56,6 +56,7 @@ define munin::register() @@file { "${NODESDIR}/${name}_${munin_port_real}": ensure => present, content => template("munin/defaultclient.erb"), + tag => 'munin', } } @@ -64,6 +65,7 @@ define munin::register_snmp() @@file { "munin_snmp_${name}": path => "${NODESDIR}/${name}", ensure => present, content => template("munin/snmpclient.erb"), + tag => 'munin', } } diff --git a/manifests/host.pp b/manifests/host.pp index 83d1887..f539c9e 100644 --- a/manifests/host.pp +++ b/manifests/host.pp @@ -6,7 +6,7 @@ class munin::host { package { [ "munin", "nmap"]: ensure => installed, } - File <<||>> + File <<| tag == 'munin' |>> concatenated_file { "/etc/munin/munin.conf": dir => $NODESDIR, -- cgit v1.2.3 From f637dc37d96a1715634734c5ef9d7d5ecd13a447 Mon Sep 17 00:00:00 2001 From: mh Date: Wed, 30 Jan 2008 21:37:34 +0000 Subject: rearranged some stuff git-svn-id: https://svn/ipuppet/trunk/modules/munin@607 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- files/plugins/gentoo_lastupdated | 71 ++++++++++++++++++++++ files/plugins/selinux_avcstats | 111 ++++++++++++++++++++++++++++++++++ files/plugins/selinuxenforced | 32 ++++++++++ files/plugins/xen | 52 ++++++++++++++++ files/plugins/xen-cpu | 125 +++++++++++++++++++++++++++++++++++++++ files/plugins/xen_memory | 63 ++++++++++++++++++++ files/plugins/xen_vbd | 109 ++++++++++++++++++++++++++++++++++ manifests/client.pp | 15 +++-- manifests/plugin.pp | 48 +++++++++++++++ 9 files changed, 620 insertions(+), 6 deletions(-) create mode 100755 files/plugins/gentoo_lastupdated create mode 100755 files/plugins/selinux_avcstats create mode 100755 files/plugins/selinuxenforced create mode 100755 files/plugins/xen create mode 100755 files/plugins/xen-cpu create mode 100755 files/plugins/xen_memory create mode 100755 files/plugins/xen_vbd diff --git a/files/plugins/gentoo_lastupdated b/files/plugins/gentoo_lastupdated new file mode 100755 index 0000000..42fd362 --- /dev/null +++ b/files/plugins/gentoo_lastupdated @@ -0,0 +1,71 @@ +#!/usr/bin/perl +# -*- perl -*- +# +# (C) 2007 immerda project +# +# Plugin to monitor the last update of the gentoo +# +# Parameters: +# +# config +# autoconf +# +# $Id: users.in 1212 2006-10-29 20:11:58Z janl $ +# +#%# family=auto +#%# capabilities=autoconf + +# update /etc/munin/plugin-conf.d/munin-node with: +# [gentoo_*] +# user root +# env.logfile /var/log/emerge.log +# env.tail /usr/bin/tail +# env.grep /bin/grep + +my $logfile = $ENV{'logfile'} || '/var/log/emerge.log'; +my $grep = $ENV{'grep'} || `which grep`; +my $date = $ENV{'date'} || `which date`; +my $tail = $ENV{'tail'} || `which tail`; +chomp($grep); +chomp($date); +chomp($tail); + +if ( defined($ARGV[0])) { + if ($ARGV[0] eq 'autoconf') { + print "yes\n"; + exit 0; + } + + if ( $ARGV[0] eq "config" ) { + print "graph_title Gentoo: Last update X days ago\n"; + #print "graph_args --base 1000 -l 0\n"; + print "graph_vlabel days\n"; + print "graph_scale no\n"; + print "graph_category system\n"; + #print "graph_printf %.1lf\n"; + print "lastupdated.label last updated [d ago]\n"; + print "lastupdated.type GAUGE\n"; + #print "tty.draw AREASTACK\n"; + #print "tty.colour 00FF00\n"; + exit 0; + } +} + +$days = 0; +$last = 0; +$now = 0; + +$l=`$grep "emerge" $logfile | $grep world | $grep -v fetchonly | tail -1`; + +($last,$rest) = split /:/,$l; +$now = `$date +%s`; +if($last eq "" or $last == 0 or $now == 0 or $date eq ""){ + $days = ""; +}else{ + $days=($now-$last)/60/60/24; # in tagen +} + +print "lastupdated.value $days\n"; + +# vim:syntax=perl + diff --git a/files/plugins/selinux_avcstats b/files/plugins/selinux_avcstats new file mode 100755 index 0000000..9687be0 --- /dev/null +++ b/files/plugins/selinux_avcstats @@ -0,0 +1,111 @@ +#!/bin/sh +# +# Plugin to monitor SELinux's Access Vector Cache (AVC). +# +# config (required) +# autoconf (optional - used by munin-config) +# +# Lars Strand, 2007 +# +# +# Magic markers (used by munin-config and some installation scripts (i.e. +# optional)): +#%# family=auto +#%# capabilities=autoconf + + +AVCSTATS="/selinux/avc/cache_stats" + +if [ "$1" = "autoconf" ]; then + if [ -r $AVCSTATS ]; then + echo yes + exit 0 + else + echo no + exit 1 + fi +fi + +if [ "$1" = "config" ]; then + + echo "graph_title SELinux's Access Vector Cache" + echo 'graph_args -l 0 --base 1000' + echo 'graph_vlabel AVC operations' + echo 'graph_category system' + + echo 'lookups.label lookups' + echo 'lookups.type DERIVE' + echo 'lookups.min 0' + echo 'lookups.max 1000000000' + echo 'lookups.draw AREA' + echo 'lookups.colour ff0000' # Red + echo 'lookups.info Number of access vector lookups. This number is a good indicator of the load beeing placed on the AVC.' + + echo 'hits.label hits' + echo 'hits.type DERIVE' + echo 'hits.min 0' + echo 'hits.max 1000000000' + echo 'hits.draw STACK' + echo 'hits.colour 0022ff' # Blue + echo 'hits.info Number of access vector hits.' + + echo 'misses.label misses' + echo 'misses.type DERIVE' + echo 'misses.min 0' + echo 'misses.max 1000000000' + echo 'misses.draw STACK' + echo 'misses.colour 990000' # Darker red + echo 'misses.info Number of cache misses.' + + echo 'allocations.label allocations' + echo 'allocations.type DERIVE' + echo 'allocations.min 0' + echo 'allocations.max 100000000' + echo 'allocations.draw STACK' + echo 'allocations.colour ffa500' # Orange + echo 'allocations.info Number of AVC entries allocated.' + + echo 'reclaims.label reclaims' + echo 'reclaims.type DERIVE' + echo 'reclaims.min 0' + echo 'reclaims.max 1000000000' + echo 'reclaims.draw STACK' + echo 'reclaims.colour 00aaaa' # Darker turquoise + echo 'reclaims.info Number of current total reclaimed AVC entries. If this keeps changing, you may need to increase the cache size (/selinux/avc/cache_threshold).' + + echo 'frees.label frees' + echo 'frees.type DERIVE' + echo 'frees.min 0' + echo 'frees.max 1000000000' + echo 'frees.draw STACK' + echo 'frees.colour 00ff7f' # Spring green + echo 'frees.info Number of free AVC entries.' + + exit 0 +fi + +if [ -r $AVCSTATS ]; then + awk ' NR > 1 { + lookups += $1; + hits += $2; + misses += $3; + allocations += $4; + reclaims += $5; + frees += $6; + } END { + print "lookups.value " lookups; + print "hits.value " hits; + print "misses.value " misses; + print "allocations.value " allocations; + print "reclaims.value " reclaims; + print "frees.value " frees; + } ' < $AVCSTATS +else + echo "lookups.value U" + echo "hits.value U" + echo "misses.value U" + echo "allocations.value U" + echo "reclaims.value U" + echo "frees.value U" +fi + diff --git a/files/plugins/selinuxenforced b/files/plugins/selinuxenforced new file mode 100755 index 0000000..2f88b9b --- /dev/null +++ b/files/plugins/selinuxenforced @@ -0,0 +1,32 @@ +#!/bin/sh +# -*- sh -*- +# +# Plugin to count the daily amount of Virii (qmailscan) +# +# Contributed by David Obando (david@cryptix.de) - 03.12.2005 +# + +# define the logfiles. when you rotate them at any other time than 00:00 you have to define two logfiles: +#LOG0=/var/spool/qmailscan/quarantine.log +#LOG1=/var/spool/qmailscan/quarantine.log.1 + +if [ "$1" = "autoconf" ]; then + echo yes + exit 0 +fi + +if [ "$1" = "config" ]; then + echo 'graph_title enforced amount' + echo 'graph_args --upper-limit 1 -l 0 ' + echo 'graph_vlabel Is the system selinux enforced?' + echo 'graph_scale no\n'; + echo 'graph_category selinux' + echo 'enforced.label IsEnforced' + #echo 'enforced.draw AREA' + echo 'enforced.draw LINE2' + + exit 0 +fi + +echo -n "enforced.value " && cat /selinux/enforce + diff --git a/files/plugins/xen b/files/plugins/xen new file mode 100755 index 0000000..575cd3b --- /dev/null +++ b/files/plugins/xen @@ -0,0 +1,52 @@ +#!/bin/sh +# +# Script to monitor CPU usage of Xen domains +# +# Parameters understood: +# +# conifg (required) +# autoconf (optinal - used by munin-config) +# + +MAXDOMAINS=16 + +if [ "$1" = "autoconf" ]; then + if which xm > /dev/null ; then + echo yes + exit 0 + fi + echo "no (xm not found)" + exit 1 +fi + +if [ "$1" = "config" ]; then + + echo 'graph_title Xen Domain Utilerisation' + echo 'graph_args --base 1000 -l 0' + echo 'graph_scale no' + echo 'graph_vlabel mS' + echo 'graph_category xen' + echo 'graph_info This graph shows of many mS wall time where used by a domain' + /usr/sbin/xm list | grep -v "^Name .* Console$" | \ + while read name domid mem cpu state time console; do + name=`echo $name | sed -e"s/-/_/"` + echo "$name.label $name" + echo "$name.type COUNTER" +# if [ "$name" = "Domain_0" ]; then +# echo "$name.draw AREA" +# else +# echo "$name.draw STACK" +# fi + echo "$name.min 0" + echo "$name.info Wall clock time spend for $name" + done + exit 0 +fi + +/usr/sbin/xm list | grep -v "^Name" | grep -v "^Name .* Console$" | \ +while read name domid mem cpu state time console; do + name=`echo $name | sed -e"s/-/_/"` + time=`echo $time | sed -e "s/\.//"` + echo "$name.value $time" +done + diff --git a/files/plugins/xen-cpu b/files/plugins/xen-cpu new file mode 100755 index 0000000..0ef301e --- /dev/null +++ b/files/plugins/xen-cpu @@ -0,0 +1,125 @@ +#!/usr/bin/perl -wT +# +# Script to minitor the cpu usage of Xen domains +# +# Author: Adam Crews shroom com> +# +# License: GPL +# Based on the origional xen script from Matthias Pfafferodt, syntron at web.de +# +# Note: Your munin config must run this as root. +# +# Parameters +# config (required) +# autoconf (optional - used by munin-config) +# +#%# family=auto +#%# capabilities=autoconf + +# Define where to find xm tools +my $XM = '/usr/sbin/xm'; +my $XMTOP = '/usr/sbin/xentop'; + +############## +# You should not need to edit anything below here +# + +use strict; + +$ENV{PATH} = '/bin:/usr/bin:/usr/sbin'; + +my $arg; undef($arg); +if (defined($ARGV[0])) { + $arg = 'config' if ($ARGV[0] eq 'config'); + $arg = 'autoconf' if ($ARGV[0] eq 'autoconf'); + + if ( "$arg" eq 'autoconf') { + if ( -e $XM && -e $XMTOP ) { + print "yes\n"; + exit 0; + } else { + print "no ($XM and/or $XMTOP not found\n"; + exit 1; + } + } + + if ( "$arg" eq 'config') { + my %cnf; undef(%cnf); + %cnf = ( + 'graph_title' => 'Xen Domain CPU Usage', + 'graph_args' => '--base 1000 -l 0 --upper-limit 100 --rigid', + 'graph_vlabel' => 'Percent (%)', + 'graph_category' => 'xen', + 'graph_info' => 'Display the % of CPU Usage for each domain', + ); + + my @domains = `$XM list`; + shift(@domains); # we dont need the header line + my $cnt = "0"; + foreach my $domain ( @domains ) { + my ($dom,undef) = split(/\s/, $domain, 2); + # we need to change - and . to _ or things get weird with the graphs + # some decent quoting would probably fix this, but this works for now + $dom =~ s/[-.]/_/g; + + $cnf{ "$dom" . '.label' } = "$dom"; + $cnf{ "$dom" . '.draw' } = 'STACK'; + $cnf{ "$dom" . '.min' } = '0'; + $cnf{ "$dom" . '.max' } = '100'; + $cnf{ "$dom" . '.info' } = '% CPU used for ' . "$dom"; + + if ( "$cnt" == "0") { $cnf{$dom.'.draw'} = 'AREA'; } + $cnt++; + } + + foreach my $key (sort(keys(%cnf))) { + print "$key $cnf{$key}\n"; + } + exit 0; + } +} + +# Nothing was passed as an argument, so let's just return the proper values + +my @chunks; undef(@chunks); + +{ + # run the xentop command a few times because the first reading is not always accurate + local $/ = undef; + @chunks = split(/^xentop - .*$/m, `$XMTOP -b -i2 -d2`); +} + +# Take only the last run of xentop +my @stats = split (/\n/,pop(@chunks)); + +# remove the first 4 items that are junk that we don't need. +shift(@stats); +shift(@stats); +shift(@stats); +shift(@stats); + +my %vals; undef(%vals); + +foreach my $domain (@stats) { + # trim the leading whitespace + $domain =~ s/^\s+//; + my @v_tmp = split(/\s+/, $domain); + + # we need to change - and . to _ or things get weird with the graphs + # some decent quoting would probably fix this, but this works for now + $v_tmp[0] =~ s/[-.]/_/g; + + $vals{$v_tmp[0]}{'cpu_percent'} = $v_tmp[3]; + $vals{$v_tmp[0]}{'vcpu'} = $v_tmp[8]; + if ( $vals{$v_tmp[0]}{'vcpu'} =~ m/n\/a/ ) { + my $cpu = `grep -c "processor" < /proc/cpuinfo`; + if ( $cpu =~ m/^(\d+)$/ ) { + $vals{$v_tmp[0]}{'vcpu'} = $1; + } + } +} + +foreach my $key (sort(keys(%vals))) { + print "$key.value " . ($vals{$key}{'cpu_percent'}/$vals{'Domain_0'}{'vcpu'}), "\n"; +} + diff --git a/files/plugins/xen_memory b/files/plugins/xen_memory new file mode 100755 index 0000000..90bc705 --- /dev/null +++ b/files/plugins/xen_memory @@ -0,0 +1,63 @@ +#!/bin/sh +# +# Script to monitor memory status of the xen host +# +# Parameters understood: +# +# config (required) +# autoconf (optional - used by munin-config) +# + +MAXDOMAINS=16 + +if [ "$1" = "autoconf" ]; then + if which xm > /dev/null ; then + echo yes + exit 0 + fi + echo "no (xm not found)" + exit 1 +fi + +if [ "$1" = "config" ]; then + + echo 'graph_title Xen Memory' + echo 'graph_args --base 1000 -l 0' + echo 'graph_scale no' + echo 'graph_vlabel MB' + echo 'graph_category xen' + echo 'graph_info This graph shows of many mS wall time where used by a domain' + # xm info | while read name bla value; do echo "$name $value"; done + /usr/sbin/xm info | while read name bla value; do + #total_memory 2047 + #free_memory 1476 + name=`echo $name | sed -e"s/-/_/"` + + if [ "$name" = "total_memory" ]; then + echo "$name.label $name" + echo "$name.type GAUGE" + echo "$name.min 0" + echo "$name.info total memory" + fi + if [ "$name" = "free_memory" ]; then + echo "$name.label $name" + echo "$name.type GAUGE" + echo "$name.draw AREA" +# echo "$name.draw STACK" + echo "$name.min 0" + echo "$name.info free memory" + fi + done + exit 0 +fi + +/usr/sbin/xm info | while read name bla value; do + name=`echo $name | sed -e"s/-/_/"` + if [ "$name" = "total_memory" ]; then + echo "$name.value $value" + fi + if [ "$name" = "free_memory" ]; then + echo "$name.value $value" + fi +done + diff --git a/files/plugins/xen_vbd b/files/plugins/xen_vbd new file mode 100755 index 0000000..238bf08 --- /dev/null +++ b/files/plugins/xen_vbd @@ -0,0 +1,109 @@ +#!/usr/bin/perl +# +# 2007-06-01 Zoltan HERPAI +# +# Credits goes for: +# Adam Crews for his xen_cpu plugin +# Mario Manno for his xen_traffic_all plugin +# +# Script to monitor the I/O usage of Xen domains +# Version 0.1 +# +#%# family=auto +#%# capabilities=autoconf + +# Location of xm tools +$XM = '/usr/sbin/xm'; +$XMTOP = '/usr/sbin/xentop'; + +# ah, parameters coming in +if ( defined($ARGV[0])) +{ + if ($ARGV[0] eq 'config') { $arg = 'config'; } + if ($ARGV[0] eq 'autoconf') { $arg = 'autoconf'; } + + if ( $arg eq 'autoconf' ) + { + if ( -e $XM && -e $XMTOP ) + { + print "yes\n"; + exit 0; + } + else + { + print "no ($XM and/or $XMTOP not found\n"; + exit 0; + } + } + + if ( $arg eq 'config' ) + { + %cnf = ( + 'graph_title' => 'Xen Domain I/O usage', + 'graph_args' => '--base 1024 -l 0', + 'graph_vlabel' => 'read (-), write (+)', + 'graph_category' => 'xen', + 'graph_info' => 'Display the I/O operations for each domain', + ); + + @domains = `$XM list`; + shift(@domains); # we don't need the header line + + foreach $domain ( @domains ) + { + ($dom, undef) = split(/\s/, $domain); + $dom =~ s/[-.]/_/g; + + $cnf{ $dom.'RD' . '.label' } = 'read'; + $cnf{ $dom.'RD' . '.type' } = 'COUNTER'; + $cnf{ $dom.'RD' . '.graph' } = 'no'; + $cnf{ $dom.'RD' . '.cdef' } = $dom.'RD,8,*'; + + $cnf{ $dom.'WR' . '.label' } = $dom; + $cnf{ $dom.'WR' . '.type' } = 'COUNTER'; + $cnf{ $dom.'WR' . '.negative' } = $dom.'RD'; + $cnf{ $dom.'WR' . '.cdef' } = $dom.'WR,8,*'; + + if ( "$cnt" == "0" ) + { + $cnf { "$dom" . '.draw' } = 'AREA'; + } + $cnt++; + } + + foreach $key ( sort(keys(%cnf)) ) + { + print "$key $cnf{$key}\n"; + } + exit 0; + + } +} + + +# No args, get rolling +# NAME STATE CPU(sec) CPU(%) MEM(k) MEM(%) MAXMEM(k) MAXMEM(%) VCPUS NETS NETTX(k) NETRX(k) VBDS VBD_OO VBD_RD VBD_WR SSID +$tmpfile = "/tmp/munin_xen_vbd_tmp"; + +system("$XMTOP -b -i1 > $tmpfile"); +open(I,"$tmpfile"); +while(){ + chomp; + s/^\s*//g; + @tmp=split(/\s+/, $_); + next if $tmp[0] eq "NAME"; + + $domname = $tmp[0]; + $domname =~ s/[-.]/_/g; + $vbdrd = $tmp[14]; + $vbdwr = $tmp[15]; + + $vals{$domname."RD"}{'value'} = $vbdrd; + $vals{$domname."WR"}{'value'} = $vbdwr; +} + +foreach $key ( sort(keys(%vals)) ) +{ + print "$key.value " . ($vals{$key}{'value'}) . "\n"; +} + diff --git a/manifests/client.pp b/manifests/client.pp index 2e8f018..1aa0e88 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -40,7 +40,7 @@ class munin::client { default: { include munin::plugins::linux case $virtual { - xen0: { include munin::plugins::xen } + xen0: { include munin::plugins::dom0 } } } } @@ -100,6 +100,7 @@ class munin::client::darwin class munin::client::debian { + $script_path_default = "/usr/share/munin/plugins" package { "munin-node": ensure => installed } @@ -130,13 +131,15 @@ class munin::client::debian class munin::client::gentoo { - package { 'munin': + $script_path_default = "/usr/libexec/munin/plugins" + $acpi_available = "absent" + package { 'munin': ensure => present, category => $operatingsystem ? { gentoo => 'net-analyzer', default => '', }, - } + } file { @@ -157,18 +160,18 @@ class munin::client::gentoo } munin::register { $fqdn: } - } class munin::client::centos { - package { 'munin-node': + $script_path_default = "/usr/share/munin/plugins" + package { 'munin-node': ensure => present, category => $operatingsystem ? { gentoo => 'net-analyzer', default => '', }, - } + } file { diff --git a/manifests/plugin.pp b/manifests/plugin.pp index f21098e..f5919e1 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -145,6 +145,11 @@ class munin::plugins::base { } } } + + case $operatingsystem { + gentoo: { $script_path_default = "/usr/libexec/munin/plugins" } + default: { $script_path_default = "/usr/share/munin/plugins" } + } } # handle if_ and if_err_ plugins @@ -189,8 +194,51 @@ class munin::plugins::vserver inherits munin::plugins::base { } class munin::plugins::gentoo inherits munin::plugins::base { + file { "$script_path_default/gentoo_lastupdated": + source => "puppet://$servername/munin/plugins/gentoo_lastupdated", + ensure => file, + mode => 0755, owner => root, group => 0; + } + + plugin{"gentoo_lastupdated": ensure => present;} } class munin::plugins::centos inherits munin::plugins::base { } +class munin::plugins::selinux inherits munin::plugins::base { + file { "$script_path_default/selinuxenforced": + source => "puppet://$servername/munin/plugins/selinuxenforced", + ensure => file, + mode => 0755, owner => root, group => 0; + } + + plugin{"selinuxenforced": ensure => present;} +} + +class munin::plugins::dom0 inherits munin::plugins::base { + file { + [ "$script_path_default/xen" ]: + source => "puppet://$servername/munin/plugins/xen", + ensure => file, + mode => 0755, owner => root, group => 0; + [ "$script_path_default/xen-cpu" ]: + source => "puppet://$servername/munin/plugins/xen-cpu", + ensure => file, + mode => 0755, owner => root, group => 0; + [ "$script_path_default/xen_memory" ]: + source => "puppet://$servername/munin/plugins/xen_memory", + ensure => file, + mode => 0755, owner => root, group => 0; + [ "$script_path_default/xen_vbd" ]: + source => "puppet://$servername/munin/plugins/xen_vbd", + ensure => file, + mode => 0755, owner => root, group => 0; + } + + plugin { + [ xen, xen-cpu, xen_memory, xen_vbd ]: + ensure => present; + } +} + -- cgit v1.2.3 From 62f6d972b6ca769bf7b75e78615bc0f3ffbbb081 Mon Sep 17 00:00:00 2001 From: am Date: Thu, 31 Jan 2008 16:18:21 +0000 Subject: =?UTF-8?q?tinydns=20munin=20modul=20f=C3=BCr=20immer1-4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn/ipuppet/trunk/modules/munin@635 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- files/plugins/tinydns | 172 ++++++++++++++++++++++++++++++++++++++++++++++++++ manifests/plugin.pp | 13 ++++ 2 files changed, 185 insertions(+) create mode 100755 files/plugins/tinydns diff --git a/files/plugins/tinydns b/files/plugins/tinydns new file mode 100755 index 0000000..0fb78ff --- /dev/null +++ b/files/plugins/tinydns @@ -0,0 +1,172 @@ +#!/usr/bin/perl -T + +# tinydns-munin-plugin + +# Copyright (C) 2007 admin at immerda.ch +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +# with the HELP of +# tinygraph -- a RRDtool frontend for tinydns statistics +# Copyright (C) 2005 Ulrich Zehl + +#use strict; # to activate .... + + +#use Time::TAI64 qw(tai2unix); + +$A = 0; +$NS = 0; +$CNAME = 0; +$SOA = 0; +$PTR = 0; +$HINFO = 0; +$MX = 0; +$TXT = 0; +$RP = 0; +$SIG = 0; +$KEY = 0; +$AAAA = 0; +$A6 = 0; +$IXFR = 0; +$AXFR = 0; +$ANY = 0; + +$logfile = $ENV{logdir} || "/var/tinydns/log/main/current"; + +if ( $ARGV[0] and $ARGV[0] eq "config" ) +{ + print "host_name $ENV{FQDN}\n"; + print "graph_title tinydns\n"; + print "graph_args --base 1000 -l 0\n"; + print "graph_category DNS\n"; + print "a.type COUNTER\n"; + print "mx.type COUNTER\n"; + + print "a.label A\n"; + print "ns.label NS\n"; + print "cname.label CNAME\n"; + print "soa.label SOA\n"; + print "ptr.label PTR\n"; + print "mx.label MX\n"; + print "aaaa.label AAAA\n"; + print "any.label ANY\n"; + print "hinfo.label HINFO\n"; + print "txt.label TXT\n"; + print "rp.label RP\n"; + print "sig.label SIG\n"; + print "key.label KEY\n"; + print "a6.label A6\n"; + print "ixfr.label IXFR\n"; + print "axfr.label AXFR\n"; + + print "a.type COUNTER\n"; + print "ns.type COUNTER\n"; + print "cname.type COUNTER\n"; + print "soa.type COUNTER\n"; + print "ptr.type COUNTER\n"; + print "mx.type COUNTER\n"; + print "aaaa.type COUNTER\n"; + print "any.type COUNTER\n"; + print "hinfo.type COUNTER\n"; + print "txt.type COUNTER\n"; + print "rp.type COUNTER\n"; + print "sig.type COUNTER\n"; + print "key.type COUNTER\n"; + print "a6.type COUNTER\n"; + print "ixfr.type COUNTER\n"; + print "axfr.type COUNTER\n"; + exit 0; +} + +my %querytypes = ( + '0001' => 'A', + '0002' => 'NS', + '0005' => 'CNAME', + '0006' => 'SOA', + '000c' => 'PTR', + '000d' => 'HINFO', + '000f' => 'MX', + '0010' => 'TXT', + '0011' => 'RP', + '0018' => 'SIG', + '0019' => 'KEY', + '001c' => 'AAAA', + '0026' => 'A6', + '00fb' => 'IXFR', + '00fc' => 'AXFR', + '00ff' => 'ANY', +); + +my %sum = ( + (map {$_ => 0} values %querytypes), +); + +sub process_line($) +{ + my $line = shift; + if ($line =~ /^(@[a-f0-9]{24}) ([a-f0-9]{8}):[a-f0-9]{4}:[a-f0-9]{4} ([\+\-IC\/]) ([a-f0-9]{4}) (.+)$/) + { + #my $time = tai2unix($1); + my $ip = join(".", unpack("C*", pack("H8", $2))); + my $rtype = $3; + my $qtype = $querytypes{$4}; + #my $qstring = $5; # currently unused + + if ($rtype eq '+') + { + if ($qtype eq 'A'){$A++;}; + if ($qtype eq 'NS'){$NS++;}; + if ($qtype eq 'CNAME'){$CNAME++;}; + if ($qtype eq 'SOA'){$SOA++;}; + if ($qtype eq 'PTR'){$PTR++;}; + if ($qtype eq 'HINFO'){$HINFO++;}; + if ($qtype eq 'MX'){$MX++;}; + if ($qtype eq 'TXT'){$TXT++;}; + if ($qtype eq 'RP'){$RP++;}; + if ($qtype eq 'SIG'){$SIG++;}; + if ($qtype eq 'KEY'){$KEY++;}; + if ($qtype eq 'AAAA'){$AAAA++;}; + if ($qtype eq 'A6'){$A6++;}; + if ($qtype eq 'IXFR'){$IXFR++;}; + if ($qtype eq 'AXFR'){$AXFR++;}; + if ($qtype eq 'ANY'){$ANY++;}; + } + } +} + +open(LOG, "<$logfile") or die "Error opening $logfile: $!"; + +while () +{ + process_line($_); +} + +print "a.value $A\n"; +print "ns.value $NS\n"; +print "cname.value $CNAME\n"; +print "soa.value $SOA\n"; +print "ptr.value $PTR\n"; +print "mx.value $MX\n"; +print "aaaa.value $AAAA\n"; +print "any.value $ANY\n"; +print "hinfo.value $HINFO\n"; +print "txt.value $TXT\n"; +print "rp.value $RP\n"; +print "sig.value $SIG\n"; +print "key.value $KEY\n"; +print "a6.value $A6\n"; +print "ixfr.value $IXFR\n"; +print "axfr.value $AXFR\n"; + diff --git a/manifests/plugin.pp b/manifests/plugin.pp index f5919e1..b8a28aa 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -242,3 +242,16 @@ class munin::plugins::dom0 inherits munin::plugins::base { } } +class munin::plugins::djbdns inherits munin::plugins::base { + file { + [ "$script_path_default/tinydns" ]: + source => "puppet://$servername/munin/plugins/tinydns", + ensure => file, + mode => 0755, owner => root, group => 0; + } + plugin { + [ tinydns ]: + ensure => present; + } +} + -- cgit v1.2.3 From 4bc3b1a7a481a382bd61b284b2ab3888904630bf Mon Sep 17 00:00:00 2001 From: am Date: Thu, 31 Jan 2008 16:49:42 +0000 Subject: =?UTF-8?q?if=5Feth0=20f=C3=BCr=20domU?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn/ipuppet/trunk/modules/munin@639 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index b8a28aa..535d76d 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -242,6 +242,10 @@ class munin::plugins::dom0 inherits munin::plugins::base { } } +class munin::plugins::domU inherits munin::plugins::base { + plugin { if_eth0: ensure => "if_" } +} + class munin::plugins::djbdns inherits munin::plugins::base { file { [ "$script_path_default/tinydns" ]: -- cgit v1.2.3 From 132098aa8fa7c6ffb7630a1005e2c734b6069c76 Mon Sep 17 00:00:00 2001 From: am Date: Thu, 31 Jan 2008 17:15:30 +0000 Subject: facter class with new name, to debug git-svn-id: https://svn/ipuppet/trunk/modules/munin@640 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 4 ++-- plugins/facter/interfaces.rb | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 535d76d..61cf4e2 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -155,8 +155,8 @@ class munin::plugins::base { # handle if_ and if_err_ plugins class munin::plugins::interfaces inherits munin::plugins::base { - $ifs = gsub(split($interfaces, " "), "(.+)", "if_\\1") - $if_errs = gsub(split($interfaces, " "), "(.+)", "if_err_\\1") + $ifs = gsub(split($facterinterfaces, " "), "(.+)", "if_\\1") + $if_errs = gsub(split($facterinterfaces, " "), "(.+)", "if_err_\\1") plugin { $ifs: ensure => "if_"; $if_errs: ensure => "if_err_"; diff --git a/plugins/facter/interfaces.rb b/plugins/facter/interfaces.rb index a498d64..4bf10bc 100755 --- a/plugins/facter/interfaces.rb +++ b/plugins/facter/interfaces.rb @@ -1,5 +1,5 @@ # return the set of active interfaces as an array -Facter.add("interfaces") do +Facter.add("facterinterfaces") do setcode do `ip -o link show`.split(/\n/).collect do |line| value = nil -- cgit v1.2.3 From fe4187be6078076fa34c8d272561554b8f205e8b Mon Sep 17 00:00:00 2001 From: am Date: Thu, 31 Jan 2008 17:17:48 +0000 Subject: rename git-svn-id: https://svn/ipuppet/trunk/modules/munin@641 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- plugins/facter/facterinterfaces.rb | 13 +++++++++++++ plugins/facter/interfaces.rb | 13 ------------- 2 files changed, 13 insertions(+), 13 deletions(-) create mode 100755 plugins/facter/facterinterfaces.rb delete mode 100755 plugins/facter/interfaces.rb diff --git a/plugins/facter/facterinterfaces.rb b/plugins/facter/facterinterfaces.rb new file mode 100755 index 0000000..4bf10bc --- /dev/null +++ b/plugins/facter/facterinterfaces.rb @@ -0,0 +1,13 @@ +# return the set of active interfaces as an array +Facter.add("facterinterfaces") do + setcode do + `ip -o link show`.split(/\n/).collect do |line| + value = nil + matches = line.match(/^\d*: ([^:]*): <(.*,)?UP(,.*)?>/) + if !matches.nil? + value = matches[1] + end + value + end.compact.sort.join(" ") + end +end diff --git a/plugins/facter/interfaces.rb b/plugins/facter/interfaces.rb deleted file mode 100755 index 4bf10bc..0000000 --- a/plugins/facter/interfaces.rb +++ /dev/null @@ -1,13 +0,0 @@ -# return the set of active interfaces as an array -Facter.add("facterinterfaces") do - setcode do - `ip -o link show`.split(/\n/).collect do |line| - value = nil - matches = line.match(/^\d*: ([^:]*): <(.*,)?UP(,.*)?>/) - if !matches.nil? - value = matches[1] - end - value - end.compact.sort.join(" ") - end -end -- cgit v1.2.3 From ded0ef9de27bda5ea6c722991054b47ed3b8fc13 Mon Sep 17 00:00:00 2001 From: mh Date: Thu, 31 Jan 2008 18:05:28 +0000 Subject: reverted namechange git-svn-id: https://svn/ipuppet/trunk/modules/munin@642 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- plugins/facter/facterinterfaces.rb | 13 ------------- plugins/facter/interfaces.rb | 13 +++++++++++++ 2 files changed, 13 insertions(+), 13 deletions(-) delete mode 100755 plugins/facter/facterinterfaces.rb create mode 100755 plugins/facter/interfaces.rb diff --git a/plugins/facter/facterinterfaces.rb b/plugins/facter/facterinterfaces.rb deleted file mode 100755 index 4bf10bc..0000000 --- a/plugins/facter/facterinterfaces.rb +++ /dev/null @@ -1,13 +0,0 @@ -# return the set of active interfaces as an array -Facter.add("facterinterfaces") do - setcode do - `ip -o link show`.split(/\n/).collect do |line| - value = nil - matches = line.match(/^\d*: ([^:]*): <(.*,)?UP(,.*)?>/) - if !matches.nil? - value = matches[1] - end - value - end.compact.sort.join(" ") - end -end diff --git a/plugins/facter/interfaces.rb b/plugins/facter/interfaces.rb new file mode 100755 index 0000000..a498d64 --- /dev/null +++ b/plugins/facter/interfaces.rb @@ -0,0 +1,13 @@ +# return the set of active interfaces as an array +Facter.add("interfaces") do + setcode do + `ip -o link show`.split(/\n/).collect do |line| + value = nil + matches = line.match(/^\d*: ([^:]*): <(.*,)?UP(,.*)?>/) + if !matches.nil? + value = matches[1] + end + value + end.compact.sort.join(" ") + end +end -- cgit v1.2.3 From 9e6ea5e5bb0033d7fd9647f76eaf2e206c384fb9 Mon Sep 17 00:00:00 2001 From: am Date: Thu, 31 Jan 2008 19:50:58 +0000 Subject: =?UTF-8?q?falsche=20umbenennung=20r=C3=BCckg=C3=A4ngig?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn/ipuppet/trunk/modules/munin@646 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 61cf4e2..535d76d 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -155,8 +155,8 @@ class munin::plugins::base { # handle if_ and if_err_ plugins class munin::plugins::interfaces inherits munin::plugins::base { - $ifs = gsub(split($facterinterfaces, " "), "(.+)", "if_\\1") - $if_errs = gsub(split($facterinterfaces, " "), "(.+)", "if_err_\\1") + $ifs = gsub(split($interfaces, " "), "(.+)", "if_\\1") + $if_errs = gsub(split($interfaces, " "), "(.+)", "if_err_\\1") plugin { $ifs: ensure => "if_"; $if_errs: ensure => "if_err_"; -- cgit v1.2.3 From 7700dacfbdd0d6366a5c05d5bb1a72844a55b8fd Mon Sep 17 00:00:00 2001 From: mh Date: Thu, 31 Jan 2008 20:04:42 +0000 Subject: fixed servicemodules/munin/manifests/client.pp git-svn-id: https://svn/ipuppet/trunk/modules/munin@648 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/client.pp b/manifests/client.pp index 1aa0e88..d20850a 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -155,7 +155,7 @@ class munin::client::gentoo notify => Service["munin"], } - service { "munin": + service { "munin-node": ensure => running, } -- cgit v1.2.3 From c53532f9bc5a360522a067b14ef81de66add9d17 Mon Sep 17 00:00:00 2001 From: am Date: Thu, 31 Jan 2008 20:06:20 +0000 Subject: munin-node service git-svn-id: https://svn/ipuppet/trunk/modules/munin@649 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifests/client.pp b/manifests/client.pp index d20850a..c2a59e4 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -165,7 +165,7 @@ class munin::client::gentoo class munin::client::centos { $script_path_default = "/usr/share/munin/plugins" - package { 'munin-node': + package { 'munin': ensure => present, category => $operatingsystem ? { gentoo => 'net-analyzer', @@ -187,7 +187,7 @@ class munin::client::centos notify => Service["munin"], } - service { "munin": + service { "munin-node": ensure => running, } -- cgit v1.2.3 From fd721045a7d529f3b9fbc796c58e26177b89ad65 Mon Sep 17 00:00:00 2001 From: mh Date: Thu, 31 Jan 2008 20:13:15 +0000 Subject: fixed service git-svn-id: https://svn/ipuppet/trunk/modules/munin@651 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/client.pp b/manifests/client.pp index c2a59e4..bc47a23 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -152,7 +152,7 @@ class munin::client::gentoo # this has to be installed before the package, so the postinst can # boot the munin-node without failure! before => Package["munin"], - notify => Service["munin"], + notify => Service["munin-node"], } service { "munin-node": -- cgit v1.2.3 From b2bbba673547959692b51f783b71959a17dce7dd Mon Sep 17 00:00:00 2001 From: am Date: Thu, 31 Jan 2008 20:16:54 +0000 Subject: chaos-a... git-svn-id: https://svn/ipuppet/trunk/modules/munin@652 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/client.pp b/manifests/client.pp index bc47a23..56742cb 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -187,7 +187,7 @@ class munin::client::centos notify => Service["munin"], } - service { "munin-node": + service { "munin": ensure => running, } -- cgit v1.2.3 From b929f469342c6c61ff29bb9f5f4271ab80d5d5fe Mon Sep 17 00:00:00 2001 From: am Date: Thu, 31 Jan 2008 20:18:05 +0000 Subject: doch munin-node git-svn-id: https://svn/ipuppet/trunk/modules/munin@653 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/client.pp b/manifests/client.pp index 56742cb..bc47a23 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -187,7 +187,7 @@ class munin::client::centos notify => Service["munin"], } - service { "munin": + service { "munin-node": ensure => running, } -- cgit v1.2.3 From d5c7b0ba7a8f3e7bdac373f58e077fa9e4a9a26b Mon Sep 17 00:00:00 2001 From: mh Date: Thu, 31 Jan 2008 20:48:53 +0000 Subject: fixed service git-svn-id: https://svn/ipuppet/trunk/modules/munin@654 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 535d76d..69d4624 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -17,8 +17,8 @@ define munin::plugin ( $munin_node_package = "munin-node" } gentoo: { - #$munin_node_service = "munin-node" - $munin_node_service = "munin" + $munin_node_service = "munin-node" + #$munin_node_service = "munin" $munin_node_package = "munin" } default: { -- cgit v1.2.3 From 26e8702b15a37a5e22c070cbd6dd0105355b0d45 Mon Sep 17 00:00:00 2001 From: am Date: Thu, 31 Jan 2008 22:14:36 +0000 Subject: gentoo auf munin, versuch symlink git-svn-id: https://svn/ipuppet/trunk/modules/munin@655 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifests/client.pp b/manifests/client.pp index bc47a23..af2c523 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -152,10 +152,10 @@ class munin::client::gentoo # this has to be installed before the package, so the postinst can # boot the munin-node without failure! before => Package["munin"], - notify => Service["munin-node"], + notify => Service["munin"], } - service { "munin-node": + service { "munin": ensure => running, } -- cgit v1.2.3 From 562c898ab81bc9ee19548f9b4601d39773b516e1 Mon Sep 17 00:00:00 2001 From: am Date: Thu, 31 Jan 2008 22:19:05 +0000 Subject: kein notify? git-svn-id: https://svn/ipuppet/trunk/modules/munin@656 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/manifests/client.pp b/manifests/client.pp index af2c523..3c2814b 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -141,6 +141,13 @@ class munin::client::gentoo }, } + # link + file{ + "/etc/init.d/munin": + ensure => "/etc/init.d/munin-node", + } + + file { "/etc/munin/": @@ -152,7 +159,7 @@ class munin::client::gentoo # this has to be installed before the package, so the postinst can # boot the munin-node without failure! before => Package["munin"], - notify => Service["munin"], + # notify => Service["munin"], } service { "munin": -- cgit v1.2.3 From 91776eeb6e976f0063581dbb558f60ebfa13d63a Mon Sep 17 00:00:00 2001 From: am Date: Thu, 31 Jan 2008 22:28:48 +0000 Subject: noch mehr auf munin stellen, nicht munin-node git-svn-id: https://svn/ipuppet/trunk/modules/munin@657 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 69d4624..535d76d 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -17,8 +17,8 @@ define munin::plugin ( $munin_node_package = "munin-node" } gentoo: { - $munin_node_service = "munin-node" - #$munin_node_service = "munin" + #$munin_node_service = "munin-node" + $munin_node_service = "munin" $munin_node_package = "munin" } default: { -- cgit v1.2.3 From 24a5855d19e604e2d1cd23270d6d2514a2839ee0 Mon Sep 17 00:00:00 2001 From: mh Date: Thu, 31 Jan 2008 23:25:21 +0000 Subject: really needed? git-svn-id: https://svn/ipuppet/trunk/modules/munin@659 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/manifests/client.pp b/manifests/client.pp index 3c2814b..4e89f12 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -142,10 +142,11 @@ class munin::client::gentoo } # link - file{ - "/etc/init.d/munin": - ensure => "/etc/init.d/munin-node", - } + # mh: really needed? +# file{ +# "/etc/init.d/munin": +# ensure => "/etc/init.d/munin-node", +# } -- cgit v1.2.3 From bad976aee83677afeccdd9750fe791e7665fbfbd Mon Sep 17 00:00:00 2001 From: am Date: Fri, 1 Feb 2008 11:46:02 +0000 Subject: =?UTF-8?q?neuer=20versuch=20mit=20munin=20f=C3=BCr=20immer1-5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn/ipuppet/trunk/modules/munin@662 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- files/plugins/pg__connections | 142 ++++++++++++++++++++++++++++++++++++++++++ files/plugins/pg__locks | 119 +++++++++++++++++++++++++++++++++++ files/plugins/pg_conn | 51 +++++++++++++++ manifests/plugin.pp | 16 +++++ 4 files changed, 328 insertions(+) create mode 100755 files/plugins/pg__connections create mode 100755 files/plugins/pg__locks create mode 100755 files/plugins/pg_conn diff --git a/files/plugins/pg__connections b/files/plugins/pg__connections new file mode 100755 index 0000000..ca95f56 --- /dev/null +++ b/files/plugins/pg__connections @@ -0,0 +1,142 @@ +#!/usr/bin/perl -w +# Plugin for monitor postgres connections. +# +# Licenced under GPL v2. +# +# Usage: +# +# Symlink into /etc/munin/plugins/ and add the monitored +# database to the filename. e.g.: +# +# ln -s /usr/share/munin/plugins/pg__connections \ +# /etc/munin/plugins/pg__connections +# This should, however, be given through autoconf and suggest. +# +# If required, give username, password and/or Postgresql server +# host through environment variables. +# +# You must also activate Postgresql statistics. See +# http://www.postgresql.org/docs/7.4/interactive/monitoring-stats.html +# for how to enable this. Specifically, the following lines must +# exist in your postgresql.conf: +# +# stats_start_collector = true +# stats_block_level = true +# +# +# Parameters: +# +# config (required) +# +# Config variables: +# +# dbhost - Which database server to use. Defaults to +# 'localhost'. +# dbname - Which database to use. Defaults to template1 +# dbuser - A Postgresql user account with read permission to +# the given database. Defaults to +# 'postgres'. Anyway, Munin must be told which user +# this plugin should be run as. +# dbpass - The corresponding password, if +# applicable. Default to undef. Remember that +# pg_hba.conf must be configured accordingly. +# +# Magic markers +#%# family=auto +#%# capabilities=autoconf + +use strict; +use DBI; + +my $dbhost = $ENV{'dbhost'} || '127.0.0.1'; +my $dbname = $ENV{'dbname'} || 'template1'; +my $dbuser = $ENV{'dbuser'} || 'postgres'; +my $dbuserx = $ENV{'dbuserx'} || ''; +my $dbport = $ENV{'dbport'} || '5432'; +my $dbpass = $ENV{'dbpass'} || ''; + +# Check for DBD::Pg +if (! eval "require DBD::Pg;") { + print "requires DBD::Pg\n"; + exit 1; +} + +my $dsn = "DBI:Pg:dbname=$dbname;host=$dbhost;port=$dbport"; +#print "$dsn\n"; +my $dbh = DBI->connect ($dsn, $dbuser, + $dbpass, + {RaiseError =>1}) || die ""; + + + +if (exists $ARGV[0]) { + if ($ARGV[0] eq 'autoconf') { + # Check for DBD::Pg + if (! eval "require DBD::Pg;") { + print "no (DBD::Pg not found)"; + exit 1; + } + if ($dbh) { + print "yes\n"; + exit 0; + } else { + print "no Unable to access Database $dbname on host $dbhost as user $dbuser.\nError returned was: ". $DBI::errstr; + exit 1; + } + } + + if ($ARGV[0] eq "config") { + my $sql_max = "SHOW max_connections;"; + my $sth_max = $dbh->prepare($sql_max); + $sth_max->execute(); + my ($max_connections) = $sth_max->fetchrow(); + my $warning = int ($max_connections * 0.7); + my $critical = int ($max_connections * 0.8); + print "graph_title PostgresSQL active connections\n"; + print "graph_args -l 0 --base 1000\n"; + print "graph_vlabel Connections\n"; + print "graph_category Postgresql\n"; + print "graph_info Shows active Postgresql connections from $dbname\n"; + + + my $sql = "select datname, count(*) from pg_stat_activity group by datname"; + my $sth = $dbh->prepare($sql); + $sth->execute(); + my $setarea = "yes"; + while ( my ($datname,$curr_conn) = $sth->fetchrow_array ) { + print "$datname.label $datname active connections\n"; + print "$datname.info $datname active connections\n"; + print "$datname.type GAUGE\n"; + if ($setarea eq "yes") { + print "$datname.draw AREA\n"; + $setarea=""; + } else { + print "$datname.draw STACK\n"; + } + } + + print "max_connections.label Max. connections\n"; + print "max_connections.info Max. connections\n"; + print "max_connections.type GAUGE\n"; + + print "warning $warning\n"; + print "critical $critical\n"; + exit 0; + } +} + + +# select datname, count(*) from pg_stat_activity group by datname +my $sql_max = "SHOW max_connections;"; +my $sth_max = $dbh->prepare($sql_max); +$sth_max->execute(); +my ($max_connections) = $sth_max->fetchrow(); + +#my $sql = "SELECT COUNT (*) FROM pg_stat_activity;"; +my $sql = "select datname, count(*) from pg_stat_activity group by datname"; +my $sth = $dbh->prepare($sql); +$sth->execute(); +while ( my ($datname,$curr_conn) = $sth->fetchrow_array ) { + print "$datname.value $curr_conn\n"; +} +print "max_connections.value $max_connections\n"; diff --git a/files/plugins/pg__locks b/files/plugins/pg__locks new file mode 100755 index 0000000..33a9a8a --- /dev/null +++ b/files/plugins/pg__locks @@ -0,0 +1,119 @@ +#!/usr/bin/perl -w +# Plugin for monitor postgres connections. +# +# Licenced under GPL v2. +# +# Usage: +# +# Symlink into /etc/munin/plugins/ and add the monitored +# database to the filename. e.g.: +# +# ln -s /usr/share/munin/plugins/pg__locks \ +# /etc/munin/plugins/pg__locks +# This should, however, be given through autoconf and suggest. +# +# If required, give username, password and/or Postgresql server +# host through environment variables. +# +# You must also activate Postgresql statistics. See +# http://www.postgresql.org/docs/8.1/interactive/monitoring-locks.html +# for how to enable this. Specifically, the following lines must +# exist in your postgresql.conf: +# +# stats_start_collector = true +# stats_block_level = true +# +# +# Parameters: +# +# config (required) +# +# Config variables: +# +# dbhost - Which database server to use. Defaults to +# 'localhost'. +# dbname - Which database to use. Defaults to template1 +# dbuser - A Postgresql user account with read permission to +# the given database. Defaults to +# 'postgres'. Anyway, Munin must be told which user +# this plugin should be run as. +# dbpass - The corresponding password, if +# applicable. Default to undef. Remember that +# pg_hba.conf must be configured accordingly. +# +# Magic markers +#%# family=auto +#%# capabilities=autoconf + +use strict; +use DBI; + +my $dbhost = $ENV{'dbhost'} || '127.0.0.1'; +my $dbname = $ENV{'dbname'} || 'template1'; +my $dbuser = $ENV{'dbuser'} || 'postgres'; +my $dbport = $ENV{'dbport'} || '5432'; +my $dbpass = $ENV{'dbpass'} || ''; + +# Check for DBD::Pg +if (! eval "require DBD::Pg;") { + exit 1; +} + +my $dsn = "DBI:Pg:dbname=$dbname;host=$dbhost;port=$dbport"; +#print "$dsn\n"; +my $dbh = DBI->connect ($dsn, $dbuser, + $dbpass, + {RaiseError =>1}) || die ""; + + + +if (exists $ARGV[0]) { + if ($ARGV[0] eq 'autoconf') { + # Check for DBD::Pg + if (! eval "require DBD::Pg;") { + print "no (DBD::Pg not found)"; + exit 1; + } + if ($dbh) { + print "yes\n"; + exit 0; + } else { + print "no Unable to access Database $dbname on host $dbhost as user $dbuser.\nError returned was: ". $DBI::errstr; + exit 1; + } + } + + if ($ARGV[0] eq "config") { + print "graph_title PostgresSQL locks\n"; + print "graph_args --base 1000\n"; + print "graph_vlabel Locks\n"; + print "graph_category Postgresql\n"; + print "graph_info Shows Postgresql locks\n"; + print "locks.label Locks\n"; + print "locks.info Locks (more info here, please... :)\n"; + print "locks.type GAUGE\n"; + print "locks.warning 5\n"; + print "locks.critical 10\n"; + print "exlocks.label Exclusive locks\n"; + print "exlocks.info Exclusive locks (here too, please... :)\n"; + print "exlocks.type GAUGE\n"; + print "exlocks.warning 5\n"; + print "exlocks.critical 10\n"; + exit 0; + } +} + +my $sql="SELECT mode,COUNT(mode) FROM pg_locks GROUP BY mode ORDER BY mode;"; +my $sth = $dbh->prepare ($sql); +$sth->execute (); +my $locks = 0; +my $exlocks = 0; +while (my ($mode, $count) = $sth->fetchrow ()) { + if ($mode =~ /exclusive/i) { + $exlocks = $exlocks + $count; + } + $locks = $locks+$count; +} +print "locks.value $locks\n"; +print "exlocks.value $exlocks\n"; + diff --git a/files/plugins/pg_conn b/files/plugins/pg_conn new file mode 100755 index 0000000..aa2ebb7 --- /dev/null +++ b/files/plugins/pg_conn @@ -0,0 +1,51 @@ +#!/bin/sh +# +# Plugin to monitor PostgreSQL connections. +# +# Parameters: +# +# config (required) +# autoconf (optional - only used by munin-config) +# Based on netstat plugin +# $Log$ +# eric@ohmforce.com +# +# +# Magic markers (optional - used by munin-config and some installation +# scripts): +#%# family=auto +#%# capabilities=autoconf + + + +if [ "$1" = "autoconf" ]; then + if ( netstat -s 2>/dev/null >/dev/null ); then + echo yes + exit 0 + else + if [ $? -eq 127 ] + then + echo "no (netstat program not found)" + exit 1 + else + echo no + exit 1 + fi + fi +fi + +if [ "$1" = "config" ]; then + + echo 'graph_title PostgreSQL' + echo 'graph_args -l 0 ' + echo 'graph_vlabel Number of PostgreSQL connections' + echo 'graph_category postgresql' + echo 'graph_period second' + echo 'graph_info This graph shows the number of opened connections on PostgreSQL.' + echo 'established.label established' + echo 'established.type GAUGE' + echo 'established.max 500' + echo 'established.info The number of currently open connections.' + exit 0 +fi +netstat -a | awk '{ print $4 }'| grep postgres | wc -l | xargs echo established.value diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 535d76d..df31fe2 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -259,3 +259,19 @@ class munin::plugins::djbdns inherits munin::plugins::base { } } +class munin::plugins::postgres inherits munin::plugins::base { + file { + [ "$script_path_default/pg_conn" ]: + source => "puppet://$servername/munin/plugins/pg_conn", + ensure => file, + mode => 0755, owner => root, group => 0; + [ "$script_path_default/pg__connections" ]: + source => "puppet://$servername/munin/plugins/pg__connections", + ensure => file, + mode => 0755, owner => root, group => 0; + [ "$script_path_default/pg__locks" ]: + source => "puppet://$servername/munin/plugins/pg__locks", + ensure => file, + mode => 0755, owner => root, group => 0; + } +} -- cgit v1.2.3 From b7c178614bce6fb848f775b95d1ace6418eca4ad Mon Sep 17 00:00:00 2001 From: am Date: Fri, 1 Feb 2008 14:01:02 +0000 Subject: versuch mit einer function git-svn-id: https://svn/ipuppet/trunk/modules/munin@673 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- plugins/parser/functions/muninport.rb | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 plugins/parser/functions/muninport.rb diff --git a/plugins/parser/functions/muninport.rb b/plugins/parser/functions/muninport.rb new file mode 100644 index 0000000..27f96f4 --- /dev/null +++ b/plugins/parser/functions/muninport.rb @@ -0,0 +1,7 @@ +# immerda +module Puppet::Parser::Functions + newfunction(:muninport) do |args| + args[0]+65400 + end +end + -- cgit v1.2.3 From 4e3bd787f5cf56ed6bba54910cffcfff5c6f4ef3 Mon Sep 17 00:00:00 2001 From: am Date: Fri, 1 Feb 2008 14:05:17 +0000 Subject: +rvalue git-svn-id: https://svn/ipuppet/trunk/modules/munin@674 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- plugins/parser/functions/muninport.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/parser/functions/muninport.rb b/plugins/parser/functions/muninport.rb index 27f96f4..d0b5909 100644 --- a/plugins/parser/functions/muninport.rb +++ b/plugins/parser/functions/muninport.rb @@ -1,6 +1,6 @@ # immerda module Puppet::Parser::Functions - newfunction(:muninport) do |args| + newfunction(:muninport, :type => :rvalue) do |args| args[0]+65400 end end -- cgit v1.2.3 From f99fa21bdf280930ddd0ef8304d06b77a785a1b4 Mon Sep 17 00:00:00 2001 From: am Date: Fri, 1 Feb 2008 14:11:17 +0000 Subject: mv git-svn-id: https://svn/ipuppet/trunk/modules/munin@675 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- plugins/parser/functions/muninport.rb | 7 ------- plugins/puppet/parser/functions/muninport.rb | 7 +++++++ 2 files changed, 7 insertions(+), 7 deletions(-) delete mode 100644 plugins/parser/functions/muninport.rb create mode 100644 plugins/puppet/parser/functions/muninport.rb diff --git a/plugins/parser/functions/muninport.rb b/plugins/parser/functions/muninport.rb deleted file mode 100644 index d0b5909..0000000 --- a/plugins/parser/functions/muninport.rb +++ /dev/null @@ -1,7 +0,0 @@ -# immerda -module Puppet::Parser::Functions - newfunction(:muninport, :type => :rvalue) do |args| - args[0]+65400 - end -end - diff --git a/plugins/puppet/parser/functions/muninport.rb b/plugins/puppet/parser/functions/muninport.rb new file mode 100644 index 0000000..d0b5909 --- /dev/null +++ b/plugins/puppet/parser/functions/muninport.rb @@ -0,0 +1,7 @@ +# immerda +module Puppet::Parser::Functions + newfunction(:muninport, :type => :rvalue) do |args| + args[0]+65400 + end +end + -- cgit v1.2.3 From db0ab2b74a969303bd5adb678e24c1e7bebb64c7 Mon Sep 17 00:00:00 2001 From: am Date: Fri, 1 Feb 2008 14:25:50 +0000 Subject: test in modul git-svn-id: https://svn/ipuppet/trunk/modules/munin@676 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/manifests/client.pp b/manifests/client.pp index 4e89f12..f334756 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -203,3 +203,11 @@ class munin::client::centos } +define munin::client::immer1-5($domU_number = '0') { + $munin_port = $domU_number ? { + '4949' => 4949, + default => muninport($domU_number); + } + + include munin::client +} -- cgit v1.2.3 From dda34c92a218f2f77a2904a868c573e766898d37 Mon Sep 17 00:00:00 2001 From: am Date: Fri, 1 Feb 2008 14:28:32 +0000 Subject: fehler? git-svn-id: https://svn/ipuppet/trunk/modules/munin@677 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/client.pp b/manifests/client.pp index f334756..341aeaa 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -203,7 +203,7 @@ class munin::client::centos } -define munin::client::immer1-5($domU_number = '0') { +define munin::client::immertest($domU_number = '0') { $munin_port = $domU_number ? { '4949' => 4949, default => muninport($domU_number); -- cgit v1.2.3 From 775a5fb9185abb040659cea5bb4c3490633ae888 Mon Sep 17 00:00:00 2001 From: am Date: Fri, 1 Feb 2008 14:32:06 +0000 Subject: test git-svn-id: https://svn/ipuppet/trunk/modules/munin@678 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/manifests/client.pp b/manifests/client.pp index 341aeaa..e0cf17b 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -203,7 +203,7 @@ class munin::client::centos } -define munin::client::immertest($domU_number = '0') { +define munin::immertest($domU_number = '0') { $munin_port = $domU_number ? { '4949' => 4949, default => muninport($domU_number); @@ -211,3 +211,4 @@ define munin::client::immertest($domU_number = '0') { include munin::client } + -- cgit v1.2.3 From a9a318e0c451bbddeaaac135ac4317bb01599bc4 Mon Sep 17 00:00:00 2001 From: am Date: Fri, 1 Feb 2008 14:43:48 +0000 Subject: case... git-svn-id: https://svn/ipuppet/trunk/modules/munin@679 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 8 -------- 1 file changed, 8 deletions(-) diff --git a/manifests/client.pp b/manifests/client.pp index e0cf17b..510945d 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -203,12 +203,4 @@ class munin::client::centos } -define munin::immertest($domU_number = '0') { - $munin_port = $domU_number ? { - '4949' => 4949, - default => muninport($domU_number); - } - - include munin::client -} -- cgit v1.2.3 From 315495b18f4c5e1a2ced06e603a1617e5867b41a Mon Sep 17 00:00:00 2001 From: am Date: Fri, 1 Feb 2008 15:15:24 +0000 Subject: munin script_path nur in plugins-gebraucht git-svn-id: https://svn/ipuppet/trunk/modules/munin@684 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index df31fe2..d9b944c 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -4,7 +4,7 @@ define munin::plugin ( $ensure = "present", - $script_path = $script_path_default, + $script_path = '/usr/libexec/munin/plugins', $config = '') { case $operatingsystem { @@ -20,6 +20,7 @@ define munin::plugin ( #$munin_node_service = "munin-node" $munin_node_service = "munin" $munin_node_package = "munin" + $script_path = $script_path_default, } default: { $munin_node_service = "munin-node" @@ -102,18 +103,22 @@ class munin::plugins::base { gentoo: { $munin_node_package = "munin" $munin_node_service = "munin" + $script_path_default = "/usr/libexec/munin/plugins" } debian: { $munin_node_service = "munin-node" $munin_node_package = "munin-node" + $script_path_default = "/usr/libexec/munin/plugins" } centos: { $munin_node_service = "munin-node" $munin_node_package = "munin-node" + $script_path_default = "/usr/libexec/munin/plugins" } default: { $munin_node_service = "munin-node" $munin_node_package = "munin-node" + $script_path_default = "/usr/libexec/munin/plugins" } } case $operatingsystem { @@ -145,11 +150,6 @@ class munin::plugins::base { } } } - - case $operatingsystem { - gentoo: { $script_path_default = "/usr/libexec/munin/plugins" } - default: { $script_path_default = "/usr/share/munin/plugins" } - } } # handle if_ and if_err_ plugins -- cgit v1.2.3 From d28a2979f038b6b48322584a43932f66c488fb03 Mon Sep 17 00:00:00 2001 From: am Date: Fri, 1 Feb 2008 15:24:28 +0000 Subject: path als class inlcude git-svn-id: https://svn/ipuppet/trunk/modules/munin@685 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 59 +++++++++++++++++++++-------------------------------- 1 file changed, 23 insertions(+), 36 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index d9b944c..572f79b 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -2,31 +2,39 @@ # Copyright (C) 2007 David Schmitt # See LICENSE for the full license granted to you. -define munin::plugin ( - $ensure = "present", - $script_path = '/usr/libexec/munin/plugins', - $config = '') +class munin::plugin::paths { case $operatingsystem { - debian: { + gentoo: { + $munin_node_package = "munin" + $munin_node_service = "munin" + $script_path_default = "/usr/libexec/munin/plugins" + } + debian: { $munin_node_service = "munin-node" $munin_node_package = "munin-node" - } - centos: { + $script_path_default = "/usr/share/munin/plugins" + } + centos: { $munin_node_service = "munin-node" $munin_node_package = "munin-node" - } - gentoo: { - #$munin_node_service = "munin-node" - $munin_node_service = "munin" - $munin_node_package = "munin" - $script_path = $script_path_default, - } + $script_path_default = "/usr/share/munin/plugins" + } default: { $munin_node_service = "munin-node" $munin_node_package = "munin-node" + $script_path_default = "/usr/share/munin/plugins" } } + +{ + +define munin::plugin ( + $ensure = "present", + $script_path = '/usr/libexec/munin/plugins', + $config = '') +{ + include munin::plugin::paths $plugin_src = $ensure ? { "present" => $name, default => $ensure } debug ( "munin_plugin: name=$name, ensure=$ensure, script_path=$script_path" ) @@ -98,29 +106,8 @@ define munin::remoteplugin($ensure = "present", $source, $config = '') { } class munin::plugins::base { + include munin::plugin::paths - case $operatingsystem { - gentoo: { - $munin_node_package = "munin" - $munin_node_service = "munin" - $script_path_default = "/usr/libexec/munin/plugins" - } - debian: { - $munin_node_service = "munin-node" - $munin_node_package = "munin-node" - $script_path_default = "/usr/libexec/munin/plugins" - } - centos: { - $munin_node_service = "munin-node" - $munin_node_package = "munin-node" - $script_path_default = "/usr/libexec/munin/plugins" - } - default: { - $munin_node_service = "munin-node" - $munin_node_package = "munin-node" - $script_path_default = "/usr/libexec/munin/plugins" - } - } case $operatingsystem { centos: { file { -- cgit v1.2.3 From f866b953289eab2b50cba45411ced3b25820884c Mon Sep 17 00:00:00 2001 From: am Date: Fri, 1 Feb 2008 15:28:00 +0000 Subject: script path ... git-svn-id: https://svn/ipuppet/trunk/modules/munin@686 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 572f79b..0d11c01 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -8,22 +8,22 @@ class munin::plugin::paths gentoo: { $munin_node_package = "munin" $munin_node_service = "munin" - $script_path_default = "/usr/libexec/munin/plugins" + $script_path = "/usr/libexec/munin/plugins" } debian: { $munin_node_service = "munin-node" $munin_node_package = "munin-node" - $script_path_default = "/usr/share/munin/plugins" + $script_path = "/usr/share/munin/plugins" } centos: { $munin_node_service = "munin-node" $munin_node_package = "munin-node" - $script_path_default = "/usr/share/munin/plugins" + $script_path = "/usr/share/munin/plugins" } default: { $munin_node_service = "munin-node" $munin_node_package = "munin-node" - $script_path_default = "/usr/share/munin/plugins" + $script_path = "/usr/share/munin/plugins" } } @@ -181,7 +181,7 @@ class munin::plugins::vserver inherits munin::plugins::base { } class munin::plugins::gentoo inherits munin::plugins::base { - file { "$script_path_default/gentoo_lastupdated": + file { "$script_path/gentoo_lastupdated": source => "puppet://$servername/munin/plugins/gentoo_lastupdated", ensure => file, mode => 0755, owner => root, group => 0; @@ -194,7 +194,7 @@ class munin::plugins::centos inherits munin::plugins::base { } class munin::plugins::selinux inherits munin::plugins::base { - file { "$script_path_default/selinuxenforced": + file { "$script_path/selinuxenforced": source => "puppet://$servername/munin/plugins/selinuxenforced", ensure => file, mode => 0755, owner => root, group => 0; @@ -205,19 +205,19 @@ class munin::plugins::selinux inherits munin::plugins::base { class munin::plugins::dom0 inherits munin::plugins::base { file { - [ "$script_path_default/xen" ]: + [ "$script_path/xen" ]: source => "puppet://$servername/munin/plugins/xen", ensure => file, mode => 0755, owner => root, group => 0; - [ "$script_path_default/xen-cpu" ]: + [ "$script_path/xen-cpu" ]: source => "puppet://$servername/munin/plugins/xen-cpu", ensure => file, mode => 0755, owner => root, group => 0; - [ "$script_path_default/xen_memory" ]: + [ "$script_path/xen_memory" ]: source => "puppet://$servername/munin/plugins/xen_memory", ensure => file, mode => 0755, owner => root, group => 0; - [ "$script_path_default/xen_vbd" ]: + [ "$script_path/xen_vbd" ]: source => "puppet://$servername/munin/plugins/xen_vbd", ensure => file, mode => 0755, owner => root, group => 0; @@ -235,7 +235,7 @@ class munin::plugins::domU inherits munin::plugins::base { class munin::plugins::djbdns inherits munin::plugins::base { file { - [ "$script_path_default/tinydns" ]: + [ "$script_path/tinydns" ]: source => "puppet://$servername/munin/plugins/tinydns", ensure => file, mode => 0755, owner => root, group => 0; @@ -248,15 +248,15 @@ class munin::plugins::djbdns inherits munin::plugins::base { class munin::plugins::postgres inherits munin::plugins::base { file { - [ "$script_path_default/pg_conn" ]: + [ "$script_path/pg_conn" ]: source => "puppet://$servername/munin/plugins/pg_conn", ensure => file, mode => 0755, owner => root, group => 0; - [ "$script_path_default/pg__connections" ]: + [ "$script_path/pg__connections" ]: source => "puppet://$servername/munin/plugins/pg__connections", ensure => file, mode => 0755, owner => root, group => 0; - [ "$script_path_default/pg__locks" ]: + [ "$script_path/pg__locks" ]: source => "puppet://$servername/munin/plugins/pg__locks", ensure => file, mode => 0755, owner => root, group => 0; -- cgit v1.2.3 From 6661f91c54049defe2aa8f4d587d34d7e7b15dee Mon Sep 17 00:00:00 2001 From: am Date: Fri, 1 Feb 2008 15:35:18 +0000 Subject: script path git-svn-id: https://svn/ipuppet/trunk/modules/munin@687 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 0d11c01..2b12896 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -31,11 +31,13 @@ class munin::plugin::paths define munin::plugin ( $ensure = "present", - $script_path = '/usr/libexec/munin/plugins', + $script_path_in = '', $config = '') { include munin::plugin::paths + $script_path = $script_path_in ? { '' => $script_path, default => $script_path_in } + $plugin_src = $ensure ? { "present" => $name, default => $ensure } debug ( "munin_plugin: name=$name, ensure=$ensure, script_path=$script_path" ) $plugin = "/etc/munin/plugins/$name" -- cgit v1.2.3 From d2f00103d81de8d0483997b98bf879a98d9134e3 Mon Sep 17 00:00:00 2001 From: am Date: Fri, 1 Feb 2008 15:40:39 +0000 Subject: div git-svn-id: https://svn/ipuppet/trunk/modules/munin@688 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 2b12896..b33260e 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -36,7 +36,7 @@ define munin::plugin ( { include munin::plugin::paths - $script_path = $script_path_in ? { '' => $script_path, default => $script_path_in } + #$script_path = $script_path_in ? { '' => $script_path, default => $script_path_in } $plugin_src = $ensure ? { "present" => $name, default => $ensure } debug ( "munin_plugin: name=$name, ensure=$ensure, script_path=$script_path" ) -- cgit v1.2.3 From 2e59b0457541b624057f9b60eb6aa99d0d827521 Mon Sep 17 00:00:00 2001 From: am Date: Fri, 1 Feb 2008 15:47:52 +0000 Subject: test git-svn-id: https://svn/ipuppet/trunk/modules/munin@689 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index b33260e..8869383 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -34,7 +34,28 @@ define munin::plugin ( $script_path_in = '', $config = '') { - include munin::plugin::paths + case $operatingsystem { + gentoo: { + $munin_node_package = "munin" + $munin_node_service = "munin" + $script_path = "/usr/libexec/munin/plugins" + } + debian: { + $munin_node_service = "munin-node" + $munin_node_package = "munin-node" + $script_path = "/usr/share/munin/plugins" + } + centos: { + $munin_node_service = "munin-node" + $munin_node_package = "munin-node" + $script_path = "/usr/share/munin/plugins" + } + default: { + $munin_node_service = "munin-node" + $munin_node_package = "munin-node" + $script_path = "/usr/share/munin/plugins" + } + } #$script_path = $script_path_in ? { '' => $script_path, default => $script_path_in } -- cgit v1.2.3 From bfea715ace59348bf12e881bdb8898333fe54ede Mon Sep 17 00:00:00 2001 From: am Date: Fri, 1 Feb 2008 15:55:40 +0000 Subject: klammerfehler git-svn-id: https://svn/ipuppet/trunk/modules/munin@690 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 8869383..cdfca80 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -27,7 +27,7 @@ class munin::plugin::paths } } -{ +} define munin::plugin ( $ensure = "present", -- cgit v1.2.3 From fdd40a1954998128e024321cf3e55a900b336a68 Mon Sep 17 00:00:00 2001 From: am Date: Fri, 1 Feb 2008 15:58:04 +0000 Subject: =?UTF-8?q?kein=20service=20f=C3=BCr=20gentoo,=20f=C3=BCr=20den=20?= =?UTF-8?q?mom?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn/ipuppet/trunk/modules/munin@691 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index cdfca80..b28b918 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -71,7 +71,7 @@ define munin::plugin ( default: { debug ( "munin_plugin: making $plugin using src: $plugin_src" ) case $operatingsystem { - centos: { + centos, gentoo: { file { $plugin: ensure => "$script_path/${plugin_src}", require => Package[$munin_node_package]; -- cgit v1.2.3 From 68021a7334465225066ee24958dde7675f31dcdd Mon Sep 17 00:00:00 2001 From: am Date: Fri, 1 Feb 2008 15:59:59 +0000 Subject: path git-svn-id: https://svn/ipuppet/trunk/modules/munin@692 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index b28b918..426e30f 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -129,7 +129,29 @@ define munin::remoteplugin($ensure = "present", $source, $config = '') { } class munin::plugins::base { - include munin::plugin::paths + + case $operatingsystem { + gentoo: { + $munin_node_package = "munin" + $munin_node_service = "munin" + $script_path = "/usr/libexec/munin/plugins" + } + debian: { + $munin_node_service = "munin-node" + $munin_node_package = "munin-node" + $script_path = "/usr/share/munin/plugins" + } + centos: { + $munin_node_service = "munin-node" + $munin_node_package = "munin-node" + $script_path = "/usr/share/munin/plugins" + } + default: { + $munin_node_service = "munin-node" + $munin_node_package = "munin-node" + $script_path = "/usr/share/munin/plugins" + } + } case $operatingsystem { centos: { -- cgit v1.2.3 From 77ed58048b3652e5c7c15cd04f82313374b4cf61 Mon Sep 17 00:00:00 2001 From: am Date: Fri, 1 Feb 2008 16:26:17 +0000 Subject: munin entflochten ... git-svn-id: https://svn/ipuppet/trunk/modules/munin@693 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 27 --------------------------- 1 file changed, 27 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 426e30f..a66ccb8 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -2,33 +2,6 @@ # Copyright (C) 2007 David Schmitt # See LICENSE for the full license granted to you. -class munin::plugin::paths -{ - case $operatingsystem { - gentoo: { - $munin_node_package = "munin" - $munin_node_service = "munin" - $script_path = "/usr/libexec/munin/plugins" - } - debian: { - $munin_node_service = "munin-node" - $munin_node_package = "munin-node" - $script_path = "/usr/share/munin/plugins" - } - centos: { - $munin_node_service = "munin-node" - $munin_node_package = "munin-node" - $script_path = "/usr/share/munin/plugins" - } - default: { - $munin_node_service = "munin-node" - $munin_node_package = "munin-node" - $script_path = "/usr/share/munin/plugins" - } - } - -} - define munin::plugin ( $ensure = "present", $script_path_in = '', -- cgit v1.2.3 From 74f2bb9154dec374abba9ff9f268155cbf00e470 Mon Sep 17 00:00:00 2001 From: mh Date: Fri, 1 Feb 2008 18:14:33 +0000 Subject: fixed some service issues git-svn-id: https://svn/ipuppet/trunk/modules/munin@705 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index a66ccb8..8c6fa15 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -10,7 +10,7 @@ define munin::plugin ( case $operatingsystem { gentoo: { $munin_node_package = "munin" - $munin_node_service = "munin" + $munin_node_service = "munin-munin" $script_path = "/usr/libexec/munin/plugins" } debian: { -- cgit v1.2.3 From 25484de8fd6c7908b21cb0fcfde08f95f9244c46 Mon Sep 17 00:00:00 2001 From: mh Date: Fri, 1 Feb 2008 18:17:35 +0000 Subject: fixed some service issues git-svn-id: https://svn/ipuppet/trunk/modules/munin@706 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 8c6fa15..bc706ab 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -10,7 +10,7 @@ define munin::plugin ( case $operatingsystem { gentoo: { $munin_node_package = "munin" - $munin_node_service = "munin-munin" + $munin_node_service = "munin-node" $script_path = "/usr/libexec/munin/plugins" } debian: { -- cgit v1.2.3 From 1116b7ecf0b2760e09e589543a1a6fb9a6fed38b Mon Sep 17 00:00:00 2001 From: mh Date: Fri, 1 Feb 2008 18:29:58 +0000 Subject: fixed some service correlation git-svn-id: https://svn/ipuppet/trunk/modules/munin@707 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/manifests/client.pp b/manifests/client.pp index 510945d..df60a77 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -134,6 +134,7 @@ class munin::client::gentoo $script_path_default = "/usr/libexec/munin/plugins" $acpi_available = "absent" package { 'munin': + alias => 'munin-node' ensure => present, category => $operatingsystem ? { gentoo => 'net-analyzer', @@ -159,7 +160,7 @@ class munin::client::gentoo mode => 0644, owner => root, group => 0, # this has to be installed before the package, so the postinst can # boot the munin-node without failure! - before => Package["munin"], + before => Package["munin-node"], # notify => Service["munin"], } @@ -175,10 +176,6 @@ class munin::client::centos $script_path_default = "/usr/share/munin/plugins" package { 'munin': ensure => present, - category => $operatingsystem ? { - gentoo => 'net-analyzer', - default => '', - }, } @@ -191,7 +188,7 @@ class munin::client::centos mode => 0644, owner => root, group => 0, # this has to be installed before the package, so the postinst can # boot the munin-node without failure! - before => Package["munin"], + before => Package["munin-node"], notify => Service["munin"], } -- cgit v1.2.3 From a35e38d571e0a3411f4fd1831cdb18235157621f Mon Sep 17 00:00:00 2001 From: mh Date: Fri, 1 Feb 2008 18:33:29 +0000 Subject: fixed some service correlation git-svn-id: https://svn/ipuppet/trunk/modules/munin@708 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/client.pp b/manifests/client.pp index df60a77..d61db3b 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -174,7 +174,7 @@ class munin::client::gentoo class munin::client::centos { $script_path_default = "/usr/share/munin/plugins" - package { 'munin': + package { 'munin-node': ensure => present, } -- cgit v1.2.3 From 4fb0b2fa23bc1aa4e1eaf34cff6b2fa17653e3f1 Mon Sep 17 00:00:00 2001 From: am Date: Fri, 1 Feb 2008 18:59:21 +0000 Subject: tippfehler git-svn-id: https://svn/ipuppet/trunk/modules/munin@710 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/client.pp b/manifests/client.pp index d61db3b..d0f793e 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -134,7 +134,7 @@ class munin::client::gentoo $script_path_default = "/usr/libexec/munin/plugins" $acpi_available = "absent" package { 'munin': - alias => 'munin-node' + alias => 'munin-node', ensure => present, category => $operatingsystem ? { gentoo => 'net-analyzer', -- cgit v1.2.3 From 07415f2506af67e05d83d04979f4e8f2d3fc1a1b Mon Sep 17 00:00:00 2001 From: am Date: Fri, 1 Feb 2008 19:06:03 +0000 Subject: test git-svn-id: https://svn/ipuppet/trunk/modules/munin@712 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/client.pp b/manifests/client.pp index d0f793e..71f86fa 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -134,7 +134,7 @@ class munin::client::gentoo $script_path_default = "/usr/libexec/munin/plugins" $acpi_available = "absent" package { 'munin': - alias => 'munin-node', + alias => munin-node, ensure => present, category => $operatingsystem ? { gentoo => 'net-analyzer', -- cgit v1.2.3 From b3a600ad26a21e446d528a93ff03d3ca9dfb66c1 Mon Sep 17 00:00:00 2001 From: mh Date: Fri, 1 Feb 2008 19:11:06 +0000 Subject: fixed service problem git-svn-id: https://svn/ipuppet/trunk/modules/munin@713 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifests/client.pp b/manifests/client.pp index 71f86fa..17ad207 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -164,7 +164,7 @@ class munin::client::gentoo # notify => Service["munin"], } - service { "munin": + service { "munin-node": ensure => running, } @@ -189,7 +189,7 @@ class munin::client::centos # this has to be installed before the package, so the postinst can # boot the munin-node without failure! before => Package["munin-node"], - notify => Service["munin"], + notify => Service["munin-node"], } service { "munin-node": -- cgit v1.2.3 From fd7b356081ce48f9b882610fe06f17cd4762c3c7 Mon Sep 17 00:00:00 2001 From: mh Date: Sat, 2 Feb 2008 00:33:47 +0000 Subject: fixed language problem, added need package by debian git-svn-id: https://svn/ipuppet/trunk/modules/munin@734 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/manifests/client.pp b/manifests/client.pp index 17ad207..7dcbbe1 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -103,6 +103,8 @@ class munin::client::debian $script_path_default = "/usr/share/munin/plugins" package { "munin-node": ensure => installed } + # the plugin will need that + package { "iproute": ensure => installed } file { "/etc/munin/": -- cgit v1.2.3 From 47e1e2322ed93842146d251ece06856f603d5403 Mon Sep 17 00:00:00 2001 From: mh Date: Wed, 6 Feb 2008 20:03:47 +0000 Subject: removed unneeded definition git-svn-id: https://svn/ipuppet/trunk/modules/munin@763 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index bc706ab..5fd4190 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -102,30 +102,6 @@ define munin::remoteplugin($ensure = "present", $source, $config = '') { } class munin::plugins::base { - - case $operatingsystem { - gentoo: { - $munin_node_package = "munin" - $munin_node_service = "munin" - $script_path = "/usr/libexec/munin/plugins" - } - debian: { - $munin_node_service = "munin-node" - $munin_node_package = "munin-node" - $script_path = "/usr/share/munin/plugins" - } - centos: { - $munin_node_service = "munin-node" - $munin_node_package = "munin-node" - $script_path = "/usr/share/munin/plugins" - } - default: { - $munin_node_service = "munin-node" - $munin_node_package = "munin-node" - $script_path = "/usr/share/munin/plugins" - } - } - case $operatingsystem { centos: { file { -- cgit v1.2.3 From 1115e76a91b398ccb45f2cd5ea2195cb3351bc22 Mon Sep 17 00:00:00 2001 From: mh Date: Wed, 6 Feb 2008 20:31:50 +0000 Subject: fixed? munin plugin problems git-svn-id: https://svn/ipuppet/trunk/modules/munin@764 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 18 +++--------------- manifests/plugin.pp | 19 ++++++------------- 2 files changed, 9 insertions(+), 28 deletions(-) diff --git a/manifests/client.pp b/manifests/client.pp index 7dcbbe1..ba59333 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -100,8 +100,6 @@ class munin::client::darwin class munin::client::debian { - $script_path_default = "/usr/share/munin/plugins" - package { "munin-node": ensure => installed } # the plugin will need that package { "iproute": ensure => installed } @@ -133,10 +131,10 @@ class munin::client::debian class munin::client::gentoo { - $script_path_default = "/usr/libexec/munin/plugins" $acpi_available = "absent" - package { 'munin': - alias => munin-node, + package { 'munin-node': + name => 'munin', + alias => 'munin-node', ensure => present, category => $operatingsystem ? { gentoo => 'net-analyzer', @@ -144,15 +142,6 @@ class munin::client::gentoo }, } - # link - # mh: really needed? -# file{ -# "/etc/init.d/munin": -# ensure => "/etc/init.d/munin-node", -# } - - - file { "/etc/munin/": ensure => directory, @@ -175,7 +164,6 @@ class munin::client::gentoo class munin::client::centos { - $script_path_default = "/usr/share/munin/plugins" package { 'munin-node': ensure => present, } diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 5fd4190..97c89b2 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -9,23 +9,15 @@ define munin::plugin ( { case $operatingsystem { gentoo: { - $munin_node_package = "munin" - $munin_node_service = "munin-node" $script_path = "/usr/libexec/munin/plugins" } debian: { - $munin_node_service = "munin-node" - $munin_node_package = "munin-node" $script_path = "/usr/share/munin/plugins" } centos: { - $munin_node_service = "munin-node" - $munin_node_package = "munin-node" $script_path = "/usr/share/munin/plugins" } default: { - $munin_node_service = "munin-node" - $munin_node_package = "munin-node" $script_path = "/usr/share/munin/plugins" } } @@ -47,14 +39,14 @@ define munin::plugin ( centos, gentoo: { file { $plugin: ensure => "$script_path/${plugin_src}", - require => Package[$munin_node_package]; + require => Package['munin-node']; } } default: { file { $plugin: ensure => "$script_path/${plugin_src}", - require => Package[$munin_node_package], - notify => Service[$munin_node_service]; + require => Package['munin-node'], + notify => Service['munin-node']; } } } @@ -123,11 +115,12 @@ class munin::plugins::base { ensure => directory, checksum => mtime, recurse => true, purge => true, force => true, mode => 0755, owner => root, group => 0, - notify => Service["$munin_node_service"]; + notify => Service['munin-node']; "/etc/munin/plugin-conf.d/munin-node": ensure => present, mode => 0644, owner => root, group => 0, - notify => Service[$munin_node_service]; + notify => Service['munin-node'], + before => Package['munin-node']; } } } -- cgit v1.2.3 From f0b680075d3106efc0a04c8fd3a5d5f05dbe82e6 Mon Sep 17 00:00:00 2001 From: mh Date: Wed, 6 Feb 2008 20:39:54 +0000 Subject: fixed double package problem git-svn-id: https://svn/ipuppet/trunk/modules/munin@765 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 1 - 1 file changed, 1 deletion(-) diff --git a/manifests/client.pp b/manifests/client.pp index ba59333..13f3e09 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -134,7 +134,6 @@ class munin::client::gentoo $acpi_available = "absent" package { 'munin-node': name => 'munin', - alias => 'munin-node', ensure => present, category => $operatingsystem ? { gentoo => 'net-analyzer', -- cgit v1.2.3 From 8f58fe2d444587451c0e042574f2931a4162ee08 Mon Sep 17 00:00:00 2001 From: am Date: Fri, 8 Feb 2008 10:20:38 +0000 Subject: pfad nicht richtig def git-svn-id: https://svn/ipuppet/trunk/modules/munin@776 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 97c89b2..0363317 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -2,11 +2,7 @@ # Copyright (C) 2007 David Schmitt # See LICENSE for the full license granted to you. -define munin::plugin ( - $ensure = "present", - $script_path_in = '', - $config = '') -{ +class munin::plugin::scriptpaths { case $operatingsystem { gentoo: { $script_path = "/usr/libexec/munin/plugins" @@ -21,7 +17,16 @@ define munin::plugin ( $script_path = "/usr/share/munin/plugins" } } +} + +define munin::plugin ( + $ensure = "present", + $script_path_in = '', + $config = '') +{ + + include munin::plugin::scriptpaths #$script_path = $script_path_in ? { '' => $script_path, default => $script_path_in } $plugin_src = $ensure ? { "present" => $name, default => $ensure } @@ -94,6 +99,8 @@ define munin::remoteplugin($ensure = "present", $source, $config = '') { } class munin::plugins::base { + include munin::plugin::scriptpaths + case $operatingsystem { centos: { file { -- cgit v1.2.3 From a883c099328cce1c9805c153cc8b7f589a203601 Mon Sep 17 00:00:00 2001 From: am Date: Fri, 8 Feb 2008 10:37:32 +0000 Subject: deploy function git-svn-id: https://svn/ipuppet/trunk/modules/munin@778 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 0363317..ae57378 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -40,20 +40,10 @@ define munin::plugin ( } default: { debug ( "munin_plugin: making $plugin using src: $plugin_src" ) - case $operatingsystem { - centos, gentoo: { - file { $plugin: - ensure => "$script_path/${plugin_src}", - require => Package['munin-node']; - } - } - default: { - file { $plugin: - ensure => "$script_path/${plugin_src}", - require => Package['munin-node'], - notify => Service['munin-node']; - } - } + file { $plugin: + ensure => "$script_path/${plugin_src}", + require => Package['munin-node'], + notify => Service['munin-node']; } } } @@ -197,6 +187,23 @@ class munin::plugins::selinux inherits munin::plugins::base { plugin{"selinuxenforced": ensure => present;} } +define munin::plugins::deploy ($source = '') { + $real_source = $source ? { + '' => "munin/plugins/$name", + default => $source + } + include munin::plugins::scriptpaths + file { "munin_plugin_${name}: + path => "$script_path/$name", + source => "puppet://$servername/$real_source", + ensure => file, + mode => 0755, owner => root, group => 0; + } + + plugin{$name: ensure => present } + +} + class munin::plugins::dom0 inherits munin::plugins::base { file { [ "$script_path/xen" ]: -- cgit v1.2.3 From da9dc6cfaccebe21bef99211d7bb5b653dbda9a9 Mon Sep 17 00:00:00 2001 From: am Date: Fri, 8 Feb 2008 10:44:46 +0000 Subject: deploy aktiv git-svn-id: https://svn/ipuppet/trunk/modules/munin@779 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 64 +++++++++++------------------------------------------ 1 file changed, 13 insertions(+), 51 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index ae57378..bbb3cc4 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -187,7 +187,7 @@ class munin::plugins::selinux inherits munin::plugins::base { plugin{"selinuxenforced": ensure => present;} } -define munin::plugins::deploy ($source = '') { +define munin::plugins::deploy ($source = '', $enabled = 'true') { $real_source = $source ? { '' => "munin/plugins/$name", default => $source @@ -198,36 +198,18 @@ define munin::plugins::deploy ($source = '') { source => "puppet://$servername/$real_source", ensure => file, mode => 0755, owner => root, group => 0; - } - - plugin{$name: ensure => present } + } + if $enabled { + plugin{$name: ensure => present } + } } class munin::plugins::dom0 inherits munin::plugins::base { - file { - [ "$script_path/xen" ]: - source => "puppet://$servername/munin/plugins/xen", - ensure => file, - mode => 0755, owner => root, group => 0; - [ "$script_path/xen-cpu" ]: - source => "puppet://$servername/munin/plugins/xen-cpu", - ensure => file, - mode => 0755, owner => root, group => 0; - [ "$script_path/xen_memory" ]: - source => "puppet://$servername/munin/plugins/xen_memory", - ensure => file, - mode => 0755, owner => root, group => 0; - [ "$script_path/xen_vbd" ]: - source => "puppet://$servername/munin/plugins/xen_vbd", - ensure => file, - mode => 0755, owner => root, group => 0; - } - - plugin { - [ xen, xen-cpu, xen_memory, xen_vbd ]: - ensure => present; - } + munin::plugins::deploy { "xen": } + munin::plugins::deploy { "xen-cpu": } + munin::plugins::deploy { "xen_memory": } + munin::plugins::deploy { "xen_vbd": } } class munin::plugins::domU inherits munin::plugins::base { @@ -235,31 +217,11 @@ class munin::plugins::domU inherits munin::plugins::base { } class munin::plugins::djbdns inherits munin::plugins::base { - file { - [ "$script_path/tinydns" ]: - source => "puppet://$servername/munin/plugins/tinydns", - ensure => file, - mode => 0755, owner => root, group => 0; - } - plugin { - [ tinydns ]: - ensure => present; - } + munin::plugins::deploy { "tinydns": } } class munin::plugins::postgres inherits munin::plugins::base { - file { - [ "$script_path/pg_conn" ]: - source => "puppet://$servername/munin/plugins/pg_conn", - ensure => file, - mode => 0755, owner => root, group => 0; - [ "$script_path/pg__connections" ]: - source => "puppet://$servername/munin/plugins/pg__connections", - ensure => file, - mode => 0755, owner => root, group => 0; - [ "$script_path/pg__locks" ]: - source => "puppet://$servername/munin/plugins/pg__locks", - ensure => file, - mode => 0755, owner => root, group => 0; - } + munin::plugins::deploy { "pg_conn": } + munin::plugins::deploy { "pg__connections": enabled => false } + munin::plugins::deploy { "pg__locks": enabled => false } } -- cgit v1.2.3 From 114b676cec4908441a8cab417f4fb5801994447c Mon Sep 17 00:00:00 2001 From: am Date: Fri, 8 Feb 2008 10:49:39 +0000 Subject: typo git-svn-id: https://svn/ipuppet/trunk/modules/munin@781 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index bbb3cc4..a939b19 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -193,8 +193,8 @@ define munin::plugins::deploy ($source = '', $enabled = 'true') { default => $source } include munin::plugins::scriptpaths - file { "munin_plugin_${name}: - path => "$script_path/$name", + file { "munin_plugin_${name}": + path => "${script_path}/${name}", source => "puppet://$servername/$real_source", ensure => file, mode => 0755, owner => root, group => 0; -- cgit v1.2.3 From de8f419c512b5403ac5d4027a849f76e35124146 Mon Sep 17 00:00:00 2001 From: am Date: Fri, 8 Feb 2008 10:54:02 +0000 Subject: plugin(s) git-svn-id: https://svn/ipuppet/trunk/modules/munin@782 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index a939b19..a36eeaa 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -187,12 +187,12 @@ class munin::plugins::selinux inherits munin::plugins::base { plugin{"selinuxenforced": ensure => present;} } -define munin::plugins::deploy ($source = '', $enabled = 'true') { +define munin::plugin::deploy ($source = '', $enabled = 'true') { $real_source = $source ? { '' => "munin/plugins/$name", default => $source } - include munin::plugins::scriptpaths + include munin::plugin::scriptpaths file { "munin_plugin_${name}": path => "${script_path}/${name}", source => "puppet://$servername/$real_source", @@ -206,10 +206,10 @@ define munin::plugins::deploy ($source = '', $enabled = 'true') { } class munin::plugins::dom0 inherits munin::plugins::base { - munin::plugins::deploy { "xen": } - munin::plugins::deploy { "xen-cpu": } - munin::plugins::deploy { "xen_memory": } - munin::plugins::deploy { "xen_vbd": } + munin::plugin::deploy { "xen": } + munin::plugin::deploy { "xen-cpu": } + munin::plugin::deploy { "xen_memory": } + munin::plugin::deploy { "xen_vbd": } } class munin::plugins::domU inherits munin::plugins::base { @@ -217,11 +217,11 @@ class munin::plugins::domU inherits munin::plugins::base { } class munin::plugins::djbdns inherits munin::plugins::base { - munin::plugins::deploy { "tinydns": } + munin::plugin::deploy { "tinydns": } } class munin::plugins::postgres inherits munin::plugins::base { - munin::plugins::deploy { "pg_conn": } - munin::plugins::deploy { "pg__connections": enabled => false } - munin::plugins::deploy { "pg__locks": enabled => false } + munin::plugin::deploy { "pg_conn": } + munin::plugin::deploy { "pg__connections": enabled => false } + munin::plugin::deploy { "pg__locks": enabled => false } } -- cgit v1.2.3 From 98c15e46bb325d2f18616c5e080f94c47126b113 Mon Sep 17 00:00:00 2001 From: am Date: Fri, 8 Feb 2008 11:12:45 +0000 Subject: bla git-svn-id: https://svn/ipuppet/trunk/modules/munin@783 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index a36eeaa..c1a9cb8 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -27,10 +27,10 @@ define munin::plugin ( { include munin::plugin::scriptpaths - #$script_path = $script_path_in ? { '' => $script_path, default => $script_path_in } + $real_script_path = $script_path_in ? { '' => ${munin::plugin::scriptpaths::script_path}, default => $script_path_in } $plugin_src = $ensure ? { "present" => $name, default => $ensure } - debug ( "munin_plugin: name=$name, ensure=$ensure, script_path=$script_path" ) + debug ( "munin_plugin: name=$name, ensure=$ensure, script_path=${munin::plugin::scriptpaths::script_path}" ) $plugin = "/etc/munin/plugins/$name" $plugin_conf = "/etc/munin/plugin-conf.d/$name.conf" case $ensure { @@ -41,7 +41,7 @@ define munin::plugin ( default: { debug ( "munin_plugin: making $plugin using src: $plugin_src" ) file { $plugin: - ensure => "$script_path/${plugin_src}", + ensure => "${real_script_path}/${plugin_src}", require => Package['munin-node'], notify => Service['munin-node']; } @@ -82,7 +82,7 @@ define munin::remoteplugin($ensure = "present", $source, $config = '') { munin::plugin { $name: ensure => $ensure, config => $config, - script_path => "/var/lib/puppet/modules/munin/plugins", + script_path_in => "/var/lib/puppet/modules/munin/plugins", } } } @@ -192,9 +192,8 @@ define munin::plugin::deploy ($source = '', $enabled = 'true') { '' => "munin/plugins/$name", default => $source } - include munin::plugin::scriptpaths file { "munin_plugin_${name}": - path => "${script_path}/${name}", + path => "${munin::plugin::scriptpaths::script_path}/${name}", source => "puppet://$servername/$real_source", ensure => file, mode => 0755, owner => root, group => 0; -- cgit v1.2.3 From 1159cbfcb43ef81a72d7c029e8b25b75cfea4c1b Mon Sep 17 00:00:00 2001 From: am Date: Fri, 8 Feb 2008 11:16:46 +0000 Subject: debug msgs git-svn-id: https://svn/ipuppet/trunk/modules/munin@784 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 1 + 1 file changed, 1 insertion(+) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index c1a9cb8..ced6795 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -192,6 +192,7 @@ define munin::plugin::deploy ($source = '', $enabled = 'true') { '' => "munin/plugins/$name", default => $source } + debug ( "munin_plugin_${name}: name=$name, source=$source, script_path=${munin::plugin::scriptpaths::script_path}" ) file { "munin_plugin_${name}": path => "${munin::plugin::scriptpaths::script_path}/${name}", source => "puppet://$servername/$real_source", -- cgit v1.2.3 From 9b983369ce90029a31a06f82b1ec59569ff66bd5 Mon Sep 17 00:00:00 2001 From: mh Date: Fri, 8 Feb 2008 11:26:08 +0000 Subject: new try git-svn-id: https://svn/ipuppet/trunk/modules/munin@785 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index ced6795..5e0db81 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -26,11 +26,10 @@ define munin::plugin ( $config = '') { - include munin::plugin::scriptpaths - $real_script_path = $script_path_in ? { '' => ${munin::plugin::scriptpaths::script_path}, default => $script_path_in } + $real_script_path = $script_path_in ? { '' => $munin::plugin::scriptpaths::script_path, default => $script_path_in } $plugin_src = $ensure ? { "present" => $name, default => $ensure } - debug ( "munin_plugin: name=$name, ensure=$ensure, script_path=${munin::plugin::scriptpaths::script_path}" ) + debug ( "munin_plugin: name=$name, ensure=$ensure, script_path=$munin::plugin::scriptpaths::script_path" ) $plugin = "/etc/munin/plugins/$name" $plugin_conf = "/etc/munin/plugin-conf.d/$name.conf" case $ensure { @@ -89,8 +88,6 @@ define munin::remoteplugin($ensure = "present", $source, $config = '') { } class munin::plugins::base { - include munin::plugin::scriptpaths - case $operatingsystem { centos: { file { @@ -192,9 +189,9 @@ define munin::plugin::deploy ($source = '', $enabled = 'true') { '' => "munin/plugins/$name", default => $source } - debug ( "munin_plugin_${name}: name=$name, source=$source, script_path=${munin::plugin::scriptpaths::script_path}" ) + debug ( "munin_plugin_${name}: name=$name, source=$source, script_path=$munin::plugin::scriptpaths::script_path" ) file { "munin_plugin_${name}": - path => "${munin::plugin::scriptpaths::script_path}/${name}", + path => "$munin::plugin::scriptpaths::script_path/${name}", source => "puppet://$servername/$real_source", ensure => file, mode => 0755, owner => root, group => 0; -- cgit v1.2.3 From d7db3dc055814e340bffe27592730299ce5cd198 Mon Sep 17 00:00:00 2001 From: am Date: Fri, 8 Feb 2008 11:31:56 +0000 Subject: include brauchts git-svn-id: https://svn/ipuppet/trunk/modules/munin@787 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 5e0db81..dfd506f 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -26,6 +26,7 @@ define munin::plugin ( $config = '') { + include munin::plugin::scriptpaths $real_script_path = $script_path_in ? { '' => $munin::plugin::scriptpaths::script_path, default => $script_path_in } $plugin_src = $ensure ? { "present" => $name, default => $ensure } @@ -189,6 +190,7 @@ define munin::plugin::deploy ($source = '', $enabled = 'true') { '' => "munin/plugins/$name", default => $source } + include munin::plugin::scriptpaths debug ( "munin_plugin_${name}: name=$name, source=$source, script_path=$munin::plugin::scriptpaths::script_path" ) file { "munin_plugin_${name}": path => "$munin::plugin::scriptpaths::script_path/${name}", -- cgit v1.2.3 From 55054d004c779531512da86db4c9040eaa76cf3c Mon Sep 17 00:00:00 2001 From: am Date: Fri, 8 Feb 2008 11:38:14 +0000 Subject: restliche plugins git-svn-id: https://svn/ipuppet/trunk/modules/munin@788 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index dfd506f..0cd1cb5 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -163,26 +163,14 @@ class munin::plugins::vserver inherits munin::plugins::base { } class munin::plugins::gentoo inherits munin::plugins::base { - file { "$script_path/gentoo_lastupdated": - source => "puppet://$servername/munin/plugins/gentoo_lastupdated", - ensure => file, - mode => 0755, owner => root, group => 0; - } - - plugin{"gentoo_lastupdated": ensure => present;} + munin::plugin::deploy { "gentoo_lastupdated": } } class munin::plugins::centos inherits munin::plugins::base { } class munin::plugins::selinux inherits munin::plugins::base { - file { "$script_path/selinuxenforced": - source => "puppet://$servername/munin/plugins/selinuxenforced", - ensure => file, - mode => 0755, owner => root, group => 0; - } - - plugin{"selinuxenforced": ensure => present;} + munin::plugin::deploy { "selinuxenforced": } } define munin::plugin::deploy ($source = '', $enabled = 'true') { -- cgit v1.2.3 From 322e46b3d2ac0447e5d681491c82df9fbba25292 Mon Sep 17 00:00:00 2001 From: mh Date: Thu, 14 Feb 2008 17:18:23 +0000 Subject: fixed lsb release stuff it should be like that git-svn-id: https://svn/ipuppet/trunk/modules/munin@815 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/init.pp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/manifests/init.pp b/manifests/init.pp index a1ea92c..9c4b1de 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -13,5 +13,7 @@ import "host.pp" import "client.pp" import "plugin.pp" -include assert_lsbdistcodename +case $operatingsystem { + debian,ubuntu: { include assert_lsbdistcodename } +} -- cgit v1.2.3 From ff89c05910e5185a3c5cf47bd6f4e3f52596cf33 Mon Sep 17 00:00:00 2001 From: David Schmitt Date: Wed, 5 Mar 2008 09:57:31 +0100 Subject: added feisty config (==etch) --- templates/munin-node.conf.Debian.feisty | 1 + 1 file changed, 1 insertion(+) create mode 120000 templates/munin-node.conf.Debian.feisty diff --git a/templates/munin-node.conf.Debian.feisty b/templates/munin-node.conf.Debian.feisty new file mode 120000 index 0000000..e0646b9 --- /dev/null +++ b/templates/munin-node.conf.Debian.feisty @@ -0,0 +1 @@ +munin-node.conf.Debian.etch \ No newline at end of file -- cgit v1.2.3 From 2ec5c3d5940384a008a3053e4f59454df7b114d4 Mon Sep 17 00:00:00 2001 From: am Date: Mon, 10 Mar 2008 13:59:07 +0000 Subject: =?UTF-8?q?*=20iostat=20nur=20f=C3=BCr=20dom0=20*=20firewall=20auf?= =?UTF-8?q?=20shorewall=20war=20deaktiviert=20..=20warum=3F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn/ipuppet/trunk/modules/munin@1059 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 0cd1cb5..e4702c2 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -135,7 +135,7 @@ class munin::plugins::interfaces inherits munin::plugins::base { class munin::plugins::linux inherits munin::plugins::base { plugin { - [ df_abs, forks, iostat, memory, processes, cpu, df_inode, irqstats, + [ df_abs, forks, memory, processes, cpu, df_inode, irqstats, netstat, open_files, swap, df, entropy, interrupts, load, open_inodes, vmstat ]: -- cgit v1.2.3 From 039b7118a4ad96b0e404084029255856b7f15034 Mon Sep 17 00:00:00 2001 From: mh Date: Mon, 17 Mar 2008 14:55:24 +0000 Subject: added gutsy link git-svn-id: https://svn/ipuppet/trunk/modules/munin@1072 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- templates/munin-node.conf.Debian.gutsy | 1 + 1 file changed, 1 insertion(+) create mode 120000 templates/munin-node.conf.Debian.gutsy diff --git a/templates/munin-node.conf.Debian.gutsy b/templates/munin-node.conf.Debian.gutsy new file mode 120000 index 0000000..e0646b9 --- /dev/null +++ b/templates/munin-node.conf.Debian.gutsy @@ -0,0 +1 @@ +munin-node.conf.Debian.etch \ No newline at end of file -- cgit v1.2.3 From 096514004dbdda6e9441a744e211a9584a8b84ad Mon Sep 17 00:00:00 2001 From: mh Date: Mon, 17 Mar 2008 15:05:24 +0000 Subject: fixed allow stuff git-svn-id: https://svn/ipuppet/trunk/modules/munin@1073 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- templates/munin-node.conf.Debian.etch | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/templates/munin-node.conf.Debian.etch b/templates/munin-node.conf.Debian.etch index 0673937..0f0f568 100644 --- a/templates/munin-node.conf.Debian.etch +++ b/templates/munin-node.conf.Debian.etch @@ -33,4 +33,5 @@ host_name <%= fqdn %> # regular expression, due to brain damage in Net::Server, which # doesn't understand CIDR-style network notation. You may repeat # the allow line as many times as you'd like -allow <%= munin_allow %> +allow <%= munin_allow1 %> +allow <%= munin_allow2 %> -- cgit v1.2.3 From 89ef873f7b1f26e670fb4abc8cadea8e87e76de0 Mon Sep 17 00:00:00 2001 From: mh Date: Fri, 21 Mar 2008 15:54:48 +0000 Subject: rearranged some munin stuff git-svn-id: https://svn/ipuppet/trunk/modules/munin@1081 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 8 +++++--- manifests/plugin.pp | 10 +++++----- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/manifests/client.pp b/manifests/client.pp index 13f3e09..0a65418 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -39,9 +39,6 @@ class munin::client { guest: { include munin::plugins::vserver } default: { include munin::plugins::linux - case $virtual { - xen0: { include munin::plugins::dom0 } - } } } } @@ -49,6 +46,11 @@ class munin::client { err( "Don't know which munin plugins to install for $kernel" ) } } + case $virtual { + physical: { munin::plugins::physical } + xen0: { include munin::plugins::dom0 } + xenu: { include munin::plugins::domU } + } } diff --git a/manifests/plugin.pp b/manifests/plugin.pp index e4702c2..81bab27 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -169,10 +169,6 @@ class munin::plugins::gentoo inherits munin::plugins::base { class munin::plugins::centos inherits munin::plugins::base { } -class munin::plugins::selinux inherits munin::plugins::base { - munin::plugin::deploy { "selinuxenforced": } -} - define munin::plugin::deploy ($source = '', $enabled = 'true') { $real_source = $source ? { '' => "munin/plugins/$name", @@ -192,13 +188,17 @@ define munin::plugin::deploy ($source = '', $enabled = 'true') { } } -class munin::plugins::dom0 inherits munin::plugins::base { +class munin::plugins::dom0 inherits munin::plugins::physical { munin::plugin::deploy { "xen": } munin::plugin::deploy { "xen-cpu": } munin::plugin::deploy { "xen_memory": } munin::plugin::deploy { "xen_vbd": } } +class munin::plugins::physical inherits munin::plugins::base { + munin::plugin { iostat: } +} + class munin::plugins::domU inherits munin::plugins::base { plugin { if_eth0: ensure => "if_" } } -- cgit v1.2.3 From 1804eec4a2d9d99964373595da00349adc869cac Mon Sep 17 00:00:00 2001 From: mh Date: Fri, 21 Mar 2008 15:57:06 +0000 Subject: fixed typo git-svn-id: https://svn/ipuppet/trunk/modules/munin@1082 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/client.pp b/manifests/client.pp index 0a65418..dbf175a 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -47,7 +47,7 @@ class munin::client { } } case $virtual { - physical: { munin::plugins::physical } + physical: { include munin::plugins::physical } xen0: { include munin::plugins::dom0 } xenu: { include munin::plugins::domU } } -- cgit v1.2.3 From 82dc3da0817f5709d6bbc96043c90db4b55b4deb Mon Sep 17 00:00:00 2001 From: mh Date: Fri, 21 Mar 2008 15:58:48 +0000 Subject: removed unnedded definition git-svn-id: https://svn/ipuppet/trunk/modules/munin@1083 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 81bab27..ebf1cd4 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -199,9 +199,7 @@ class munin::plugins::physical inherits munin::plugins::base { munin::plugin { iostat: } } -class munin::plugins::domU inherits munin::plugins::base { - plugin { if_eth0: ensure => "if_" } -} +class munin::plugins::domU inherits munin::plugins::base { } class munin::plugins::djbdns inherits munin::plugins::base { munin::plugin::deploy { "tinydns": } -- cgit v1.2.3 From ef97c202ad675255deb20bdfce59fe03ad757a63 Mon Sep 17 00:00:00 2001 From: mh Date: Sat, 29 Mar 2008 14:27:08 +0000 Subject: fixed header git-svn-id: https://svn/ipuppet/trunk/modules/munin@1142 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- files/plugins/selinuxenforced | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/files/plugins/selinuxenforced b/files/plugins/selinuxenforced index 2f88b9b..16a3f66 100755 --- a/files/plugins/selinuxenforced +++ b/files/plugins/selinuxenforced @@ -1,14 +1,9 @@ #!/bin/sh # -*- sh -*- # -# Plugin to count the daily amount of Virii (qmailscan) +# Plugin to monitor the status of selinux # -# Contributed by David Obando (david@cryptix.de) - 03.12.2005 -# - -# define the logfiles. when you rotate them at any other time than 00:00 you have to define two logfiles: -#LOG0=/var/spool/qmailscan/quarantine.log -#LOG1=/var/spool/qmailscan/quarantine.log.1 +# Contributed by admin(at)immerda.ch if [ "$1" = "autoconf" ]; then echo yes -- cgit v1.2.3 From a969b61bab854b4c4a9bb7f216073dd426514f73 Mon Sep 17 00:00:00 2001 From: mh Date: Sat, 29 Mar 2008 14:47:43 +0000 Subject: merged munin-module with davids git-svn-id: https://svn/ipuppet/trunk/modules/munin@1143 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 1 + manifests/host.pp | 9 ++++++++- plugins/puppet/parser/functions/muninport.rb | 7 ------- 3 files changed, 9 insertions(+), 8 deletions(-) delete mode 100644 plugins/puppet/parser/functions/muninport.rb diff --git a/manifests/client.pp b/manifests/client.pp index dbf175a..c81e6f4 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -74,6 +74,7 @@ define munin::register_snmp() @@file { "munin_snmp_${name}": path => "${NODESDIR}/${name}", ensure => present, content => template("munin/snmpclient.erb"), + tag => 'munin', } } diff --git a/manifests/host.pp b/manifests/host.pp index 844698d..286f5ee 100644 --- a/manifests/host.pp +++ b/manifests/host.pp @@ -6,12 +6,19 @@ class munin::host { package { [ "munin", "nmap"]: ensure => installed, } - File <<||>> + File <<| tag == 'munin' |>> concatenated_file { "/etc/munin/munin.conf": dir => $NODESDIR, header => "/etc/munin/munin.conf.header", } + + file { ["/var/log/munin-update.log", "/var/log/munin-limits.log", + "/var/log/munin-graph.log", "/var/log/munin-html.log"]: + ensure => present, + mode => 640, owner => munin, group => 0; + } + } diff --git a/plugins/puppet/parser/functions/muninport.rb b/plugins/puppet/parser/functions/muninport.rb deleted file mode 100644 index d0b5909..0000000 --- a/plugins/puppet/parser/functions/muninport.rb +++ /dev/null @@ -1,7 +0,0 @@ -# immerda -module Puppet::Parser::Functions - newfunction(:muninport, :type => :rvalue) do |args| - args[0]+65400 - end -end - -- cgit v1.2.3 From bb8699288512aa2d1de7ad12b0420146f8daabfd Mon Sep 17 00:00:00 2001 From: mh Date: Sun, 30 Mar 2008 17:34:40 +0000 Subject: added default apache modules git-svn-id: https://svn/ipuppet/trunk/modules/munin@1152 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- files/plugins/apache_activity | 99 +++++++++++++++++++++++++++++++++++++++++++ manifests/host.pp | 1 + manifests/plugin.pp | 12 ++++++ 3 files changed, 112 insertions(+) create mode 100755 files/plugins/apache_activity diff --git a/files/plugins/apache_activity b/files/plugins/apache_activity new file mode 100755 index 0000000..65fc072 --- /dev/null +++ b/files/plugins/apache_activity @@ -0,0 +1,99 @@ +#!/usr/bin/perl +# +# Parameters supported: +# +# config +# autoconf +# +# Configurable variables +# +# url - Override default status-url +# +# Magic markers: +#%# family=auto +#%# capabilities=autoconf + +my $ret = undef; +if (!eval "require LWP::UserAgent;") { + $ret = "LWP::UserAgent not found"; +} + +my $URL = exists $ENV{'url'} ? $ENV{'url'} : "http://127.0.0.1:%d/server-status?auto"; +my @PORTS = exists $ENV{'ports'} ? split(' ', $ENV{'ports'}) : (80); +my %chars = ( + # '\_' => 'Waiting', + # 'S' => 'Starting up', + 'R' => 'Reading request', + 'W' => 'Sending reply', + 'K' => 'Keepalive', + 'D' => 'DNS lookup', + 'C' => 'Closing', + # 'L' => 'Logging', + # 'G' => 'Gracefully finishing', + # 'I' => 'Idle cleanup', + # '\.' => 'Open slot', + ); + +# "_" Waiting for Connection, "S" Starting up, "R" Reading Request, +# "W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup, +# "C" Closing connection, "L" Logging, "G" Gracefully finishing, +# "I" Idle cleanup of worker, "." Open slot with no current process + +if (exists $ARGV[0] and $ARGV[0] eq "autoconf") { + if ($ret) { + print "no ($ret)\n"; + exit 1; + } + my $ua = LWP::UserAgent->new(timeout => 30); + my @badports; + + foreach my $port (@PORTS) { + my $url = sprintf $URL, $port; + my $response = $ua->request(HTTP::Request->new('GET',$url)); + push @badports, $port unless $response->is_success and $response->content =~ /Scoreboard/im; + } + + if (@badports) { + print "no (no apache server-status on ports @badports)\n"; + exit 1; + } else { + print "yes\n"; + exit 0; + } +} + +if (exists $ARGV[0] and $ARGV[0] eq "config") { + print "graph_title Apache activity\n"; + print "graph_args --base 1000 -l 0\n"; + print "graph_category apache\n"; + print "graph_vlabel processes\n"; + foreach my $port (@PORTS) { + while (my ($char, $val) = each (%chars)) { + $char =~ s/\\\./dot/; + $char =~ s/\\\_/underline/; + print "activity_${port}_${char}.label "; + print $val, "\n"; + print "activity_${port}_${char}.type GAUGE\n"; + } + } + exit 0; +} + +foreach my $port (@PORTS) { + my $ua = LWP::UserAgent->new (timeout => 30); + my $url = sprintf $URL, $port; + my $response = $ua->request (HTTP::Request->new('GET',$url)); + if ($response->content =~ /^Scoreboard\:\s?(.*)$/sm) { + my $string = $1; + chomp $string; + my @act = split (//, $string); + foreach my $char (keys (%chars)) { + my $num = scalar (grep (/$char/, @act)); + $char =~ s/\\\./dot/; + $char =~ s/\\\_/underline/; + print "activity_${port}_${char}.value $num\n"; + } + } +} + + diff --git a/manifests/host.pp b/manifests/host.pp index 286f5ee..3ae6065 100644 --- a/manifests/host.pp +++ b/manifests/host.pp @@ -19,6 +19,7 @@ class munin::host mode => 640, owner => munin, group => 0; } + munin::plugins::djbdns } diff --git a/manifests/plugin.pp b/manifests/plugin.pp index ebf1cd4..8a76df4 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -199,12 +199,24 @@ class munin::plugins::physical inherits munin::plugins::base { munin::plugin { iostat: } } +class munin::plugins::muninhost inherits munin::plugins::base { + munin::plugin { munin_update: } + munin::plugin { munin_graph: } +} + class munin::plugins::domU inherits munin::plugins::base { } class munin::plugins::djbdns inherits munin::plugins::base { munin::plugin::deploy { "tinydns": } } +class munin::plugins::apache inherits munin::plugins::base { + munin::plugin::deploy { "apache_accesses": } + munin::plugin::deploy { "apache_processes": } + munin::plugin::deploy { "apache_volume": } + munin::plugin::deploy { "apache_activity": } +} + class munin::plugins::postgres inherits munin::plugins::base { munin::plugin::deploy { "pg_conn": } munin::plugin::deploy { "pg__connections": enabled => false } -- cgit v1.2.3 From 060befb2e08b5419d7cb90ad9ff80d72ef3b1889 Mon Sep 17 00:00:00 2001 From: mh Date: Sun, 30 Mar 2008 17:49:13 +0000 Subject: added selinux plugins git-svn-id: https://svn/ipuppet/trunk/modules/munin@1153 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 8a76df4..39e9742 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -148,18 +148,14 @@ class munin::plugins::linux inherits munin::plugins::base { } class munin::plugins::debian inherits munin::plugins::base { - plugin { apt_all: ensure => present; } - } class munin::plugins::vserver inherits munin::plugins::base { - plugin { [ netstat, processes ]: ensure => present; } - } class munin::plugins::gentoo inherits munin::plugins::base { @@ -217,6 +213,11 @@ class munin::plugins::apache inherits munin::plugins::base { munin::plugin::deploy { "apache_activity": } } +class munin::plugins::selinux inherits munin::plugins::base { + munin::plugin::deploy { "selinuxenforced": } + munin::plugin::deploy { "selinux_avcstats": } +} + class munin::plugins::postgres inherits munin::plugins::base { munin::plugin::deploy { "pg_conn": } munin::plugin::deploy { "pg__connections": enabled => false } -- cgit v1.2.3 From e76dd0c92ee5d4dae78ef59013255339bf48e331 Mon Sep 17 00:00:00 2001 From: mh Date: Sun, 30 Mar 2008 17:51:13 +0000 Subject: fixed typo git-svn-id: https://svn/ipuppet/trunk/modules/munin@1154 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/host.pp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/manifests/host.pp b/manifests/host.pp index 3ae6065..4625ba9 100644 --- a/manifests/host.pp +++ b/manifests/host.pp @@ -19,8 +19,7 @@ class munin::host mode => 640, owner => munin, group => 0; } - munin::plugins::djbdns - + include munin::plugins::muninhost } class munin::snmp_collector -- cgit v1.2.3 From 13574dc22d09138b40433ff906efc2ab4895553e Mon Sep 17 00:00:00 2001 From: mh Date: Sat, 12 Apr 2008 14:12:53 +0000 Subject: extending apache to centos usage, vhost and crypto stuff on immer8 and class to enable server-status for munin-plugins, where not yet done git-svn-id: https://svn/ipuppet/trunk/modules/munin@1212 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 1 + 1 file changed, 1 insertion(+) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 39e9742..bc9f00c 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -207,6 +207,7 @@ class munin::plugins::djbdns inherits munin::plugins::base { } class munin::plugins::apache inherits munin::plugins::base { + include apache::status munin::plugin::deploy { "apache_accesses": } munin::plugin::deploy { "apache_processes": } munin::plugin::deploy { "apache_volume": } -- cgit v1.2.3 From 6ae8a3c99f66f63c51eb76fc9b3e4b49273c5b2c Mon Sep 17 00:00:00 2001 From: mh Date: Sat, 12 Apr 2008 15:02:34 +0000 Subject: fixed uneeded deployment and directories git-svn-id: https://svn/ipuppet/trunk/modules/munin@1217 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index bc9f00c..dbf8eb1 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -208,9 +208,9 @@ class munin::plugins::djbdns inherits munin::plugins::base { class munin::plugins::apache inherits munin::plugins::base { include apache::status - munin::plugin::deploy { "apache_accesses": } - munin::plugin::deploy { "apache_processes": } - munin::plugin::deploy { "apache_volume": } + munin::plugin{ "apache_accesses": } + munin::plugin{ "apache_processes": } + munin::plugin{ "apache_volume": } munin::plugin::deploy { "apache_activity": } } -- cgit v1.2.3 From 3de81e20f12d274efb0352693e394e98c1484c2b Mon Sep 17 00:00:00 2001 From: mh Date: Sun, 13 Apr 2008 17:15:48 +0000 Subject: not needed as this make it appear everywhere the exim stuff git-svn-id: https://svn/ipuppet/trunk/modules/munin@1222 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- templates/defaultclient.erb | 1 - 1 file changed, 1 deletion(-) diff --git a/templates/defaultclient.erb b/templates/defaultclient.erb index 954a0cb..ddce1bb 100644 --- a/templates/defaultclient.erb +++ b/templates/defaultclient.erb @@ -11,4 +11,3 @@ address <%= munin_host_real %> port <%= munin_port_real %> use_node_name yes - exim_mailstats.graph_period minute -- cgit v1.2.3 From 8b017ab9ff19f9a3773603fc33cc3820ec730c9e Mon Sep 17 00:00:00 2001 From: mh Date: Fri, 18 Apr 2008 11:47:24 +0000 Subject: rearranged some definitions, fixed config issues git-svn-id: https://svn/ipuppet/trunk/modules/munin@1229 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 56 ++++++++++++++++++++++++++++++----------------------- 1 file changed, 32 insertions(+), 24 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index dbf8eb1..782f9f2 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -1,6 +1,10 @@ # plugin.pp - configure a specific munin plugin # Copyright (C) 2007 David Schmitt # See LICENSE for the full license granted to you. +# adapted and improved by admin(at)immerda.ch + + +### configpaths class munin::plugin::scriptpaths { case $operatingsystem { @@ -19,6 +23,7 @@ class munin::plugin::scriptpaths { } } +### defines define munin::plugin ( $ensure = "present", @@ -87,6 +92,26 @@ define munin::remoteplugin($ensure = "present", $source, $config = '') { } } } +define munin::plugin::deploy ($source = '', $enabled = 'true') { + $real_source = $source ? { + '' => "munin/plugins/$name", + default => $source + } + include munin::plugin::scriptpaths + debug ( "munin_plugin_${name}: name=$name, source=$source, script_path=$munin::plugin::scriptpaths::script_path" ) + file { "munin_plugin_${name}": + path => "$munin::plugin::scriptpaths::script_path/${name}", + source => "puppet://$servername/$real_source", + ensure => file, + mode => 0755, owner => root, group => 0; + } + + if $enabled { + plugin{$name: ensure => present } + } +} + +### clases for plugins class munin::plugins::base { case $operatingsystem { @@ -148,47 +173,30 @@ class munin::plugins::linux inherits munin::plugins::base { } class munin::plugins::debian inherits munin::plugins::base { - plugin { apt_all: ensure => present; } + munin::plugin { apt_all: ensure => present; } } class munin::plugins::vserver inherits munin::plugins::base { - plugin { + munin::plugin { [ netstat, processes ]: ensure => present; } } class munin::plugins::gentoo inherits munin::plugins::base { - munin::plugin::deploy { "gentoo_lastupdated": } + 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::centos inherits munin::plugins::base { } -define munin::plugin::deploy ($source = '', $enabled = 'true') { - $real_source = $source ? { - '' => "munin/plugins/$name", - default => $source - } - include munin::plugin::scriptpaths - debug ( "munin_plugin_${name}: name=$name, source=$source, script_path=$munin::plugin::scriptpaths::script_path" ) - file { "munin_plugin_${name}": - path => "$munin::plugin::scriptpaths::script_path/${name}", - source => "puppet://$servername/$real_source", - ensure => file, - mode => 0755, owner => root, group => 0; - } - if $enabled { - plugin{$name: ensure => present } - } -} class munin::plugins::dom0 inherits munin::plugins::physical { - munin::plugin::deploy { "xen": } - munin::plugin::deploy { "xen-cpu": } - munin::plugin::deploy { "xen_memory": } - munin::plugin::deploy { "xen_vbd": } + 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_vbd": config => "user root"} } class munin::plugins::physical inherits munin::plugins::base { -- cgit v1.2.3 From f64b68757b2a26e77628060fe255cf1de3b2c0cb Mon Sep 17 00:00:00 2001 From: mh Date: Fri, 18 Apr 2008 11:49:00 +0000 Subject: added load borders git-svn-id: https://svn/ipuppet/trunk/modules/munin@1230 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- templates/defaultclient.erb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/templates/defaultclient.erb b/templates/defaultclient.erb index ddce1bb..5611bf4 100644 --- a/templates/defaultclient.erb +++ b/templates/defaultclient.erb @@ -11,3 +11,5 @@ address <%= munin_host_real %> port <%= munin_port_real %> use_node_name yes + load.load.warning 5 + load.load.critical 10 -- cgit v1.2.3 From 4b66892e98b993264e396b95a641c744a95c83c3 Mon Sep 17 00:00:00 2001 From: mh Date: Fri, 18 Apr 2008 12:04:59 +0000 Subject: fixed params and made it more all the same way git-svn-id: https://svn/ipuppet/trunk/modules/munin@1231 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 782f9f2..97bcbf3 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -92,7 +92,7 @@ define munin::remoteplugin($ensure = "present", $source, $config = '') { } } } -define munin::plugin::deploy ($source = '', $enabled = 'true') { +define munin::plugin::deploy ($source = '', $ensure = 'present', $config = '') { $real_source = $source ? { '' => "munin/plugins/$name", default => $source @@ -106,9 +106,7 @@ define munin::plugin::deploy ($source = '', $enabled = 'true') { mode => 0755, owner => root, group => 0; } - if $enabled { - plugin{$name: ensure => present } - } + munin::plugin{$name: ensure => $ensure, config => $config } } ### clases for plugins -- cgit v1.2.3 From ebe1a5fdc83e550529fb11f6dd136bda38a0c689 Mon Sep 17 00:00:00 2001 From: mh Date: Fri, 18 Apr 2008 14:51:32 +0000 Subject: fixed renaming git-svn-id: https://svn/ipuppet/trunk/modules/munin@1236 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 97bcbf3..2b66ce2 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -227,6 +227,6 @@ class munin::plugins::selinux inherits munin::plugins::base { class munin::plugins::postgres inherits munin::plugins::base { munin::plugin::deploy { "pg_conn": } - munin::plugin::deploy { "pg__connections": enabled => false } - munin::plugin::deploy { "pg__locks": enabled => false } + munin::plugin::deploy { "pg__connections": ensure => false } + munin::plugin::deploy { "pg__locks": ensure => false } } -- cgit v1.2.3 From ebdcae0d53a7ee50e2abb2f6606f731cb76c83e8 Mon Sep 17 00:00:00 2001 From: Marcel Haerry Date: Tue, 22 Apr 2008 11:28:54 +0200 Subject: empty module $MODULENAME --- files/.git_placeholder | 1 + manifests/init.pp | 9 +++++++++ 2 files changed, 10 insertions(+) create mode 100644 files/.git_placeholder create mode 100644 manifests/init.pp diff --git a/files/.git_placeholder b/files/.git_placeholder new file mode 100644 index 0000000..89cb1fe --- /dev/null +++ b/files/.git_placeholder @@ -0,0 +1 @@ +# file needed for git - don't remove it diff --git a/manifests/init.pp b/manifests/init.pp new file mode 100644 index 0000000..c4c4db0 --- /dev/null +++ b/manifests/init.pp @@ -0,0 +1,9 @@ +####################################### +# munin module +# Puzzle ITC - haerry+puppet(at)puzzle.ch +# GPLv3 +####################################### + + +# modules_dir { "munin": } +class munin {} -- cgit v1.2.3 From 4014ccdfea44498e8abd51a33073e0c5ecde0c36 Mon Sep 17 00:00:00 2001 From: Marcel Haerry Date: Tue, 22 Apr 2008 11:52:31 +0200 Subject: merged last things --- manifests/init.pp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index e1f62a6..6b6cd08 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -1,12 +1,8 @@ # munin.pp - everything a sitewide munin installation needs # Copyright (C) 2007 David Schmitt # See LICENSE for the full license granted to you. -<<<<<<< HEAD:manifests/init.pp # adapted by Puzzle ITC - haerry+puppet(at)puzzle.ch # -======= - ->>>>>>> immerda/master:manifests/init.pp # the port is a parameter so vservers can share IP addresses and still be happy # Define where the individual nodes' configs are stored -- cgit v1.2.3 From 8e503cf77c5f5390e6502688a341b3f2a32e0baa Mon Sep 17 00:00:00 2001 From: Marcel Haerry Date: Tue, 22 Apr 2008 14:24:48 +0200 Subject: fixed status way --- manifests/plugin.pp | 1 - 1 file changed, 1 deletion(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 2b66ce2..6eaa518 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -213,7 +213,6 @@ class munin::plugins::djbdns inherits munin::plugins::base { } class munin::plugins::apache inherits munin::plugins::base { - include apache::status munin::plugin{ "apache_accesses": } munin::plugin{ "apache_processes": } munin::plugin{ "apache_volume": } -- cgit v1.2.3 From c6f6cca89f7a89b5ba72b0bd65e469c93e3cf3ce Mon Sep 17 00:00:00 2001 From: Marcel Haerry Date: Tue, 22 Apr 2008 15:01:48 +0200 Subject: added nagios class --- manifests/plugin.pp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 6eaa518..36773ee 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -229,3 +229,11 @@ class munin::plugins::postgres inherits munin::plugins::base { munin::plugin::deploy { "pg__connections": ensure => false } munin::plugin::deploy { "pg__locks": ensure => false } } +class munin::plugins::nagios inherits munin::plugins::base { + munin::plugin { + nagios_hosts: script_path => "/usr/local/bin", config => 'user root'; + nagios_svc: script_path => "/usr/local/bin", config => 'user root'; + nagios_perf_hosts: ensure => nagios_perf_, script_path => "/usr/local/bin", config => 'user root'; + nagios_perf_svc: ensure => nagios_perf_, script_path => "/usr/local/bin", config => 'user root'; + } +} -- cgit v1.2.3 From fd83ae45a94213366b069b1e0278868129430006 Mon Sep 17 00:00:00 2001 From: Marcel Haerry Date: Tue, 22 Apr 2008 15:31:37 +0200 Subject: added nagios plugins --- files/plugins/nagios_hosts | 28 ++++++++++++++++++++++++++++ files/plugins/nagios_perf_ | 35 +++++++++++++++++++++++++++++++++++ files/plugins/nagios_svc | 33 +++++++++++++++++++++++++++++++++ manifests/plugin.pp | 10 +++++----- 4 files changed, 101 insertions(+), 5 deletions(-) create mode 100755 files/plugins/nagios_hosts create mode 100755 files/plugins/nagios_perf_ create mode 100755 files/plugins/nagios_svc diff --git a/files/plugins/nagios_hosts b/files/plugins/nagios_hosts new file mode 100755 index 0000000..04fe8ed --- /dev/null +++ b/files/plugins/nagios_hosts @@ -0,0 +1,28 @@ +#!/bin/bash + +if [ "$1" = "config" ]; then + echo 'graph_title Nagios host stats' + echo 'graph_args --base 1000 -l 0' + echo 'graph_vlabel hosts' + echo 'graph_category nagios' + echo 'graph_info The number of hosts checked by nagios' + echo 'up.label up' + echo 'up.draw AREA' + echo 'up.info number of hosts UP' + echo 'down.label down' + echo 'down.draw STACK' + echo 'down.info number of hosts DOWN' + echo 'unr.label unr' + echo 'unr.draw STACK' + echo 'unr.info number of hosts UNREACHABLE' + + exit 0 +fi + +echo -n 'up.value ' +nagios2stats --mrtg --data NUMHSTUP +echo -n 'down.value ' +nagios2stats --mrtg --data NUMHSTDOWN +echo -n 'unr.value ' +nagios2stats --mrtg --data NUMHSTUNR + diff --git a/files/plugins/nagios_perf_ b/files/plugins/nagios_perf_ new file mode 100755 index 0000000..f819def --- /dev/null +++ b/files/plugins/nagios_perf_ @@ -0,0 +1,35 @@ +#!/bin/bash + +NAME=$(basename $0) + +TYPE=${NAME##nagios_perf_} + +[ "x$TYPE" = 'xhosts' ] && TYPE_ABBR=HST +[ "x$TYPE" = 'xsvc' ] && TYPE_ABBR=SVC +[ -z "$TYPE_ABBR" ] && echo "unknown type $TYPE" >&2 && exit 1 + +if [ "$1" = "config" ]; then + echo "graph_title Nagios $TYPE performance stats" + echo "graph_args --base 1000" + echo "graph_vlabel seconds" + echo "graph_category nagios" + echo "graph_info Check performance statistics" + + echo "act_lat_$TYPE_ABBR.label act lat" + echo "act_lat_$TYPE_ABBR.type GAUGE" + echo "act_lat_$TYPE_ABBR.draw AREA" + echo "act_lat_$TYPE_ABBR.cdef act_lat_$TYPE_ABBR,1000,/" + echo "act_lat_$TYPE_ABBR.info average latency of active checks over the last 5 minutes" + + echo "act_ext_$TYPE_ABBR.label act ext" + echo "act_ext_$TYPE_ABBR.type GAUGE" + echo "act_ext_$TYPE_ABBR.draw LINE1" + echo "act_ext_$TYPE_ABBR.cdef act_ext_$TYPE_ABBR,1000,/" + echo "act_ext_$TYPE_ABBR.info average execution time of active checks over the last 5 minutes" + + exit 0 +fi + +echo "act_lat_$TYPE_ABBR.value " $(nagios2stats --mrtg --data AVGACT${TYPE_ABBR}LAT) +echo "act_ext_$TYPE_ABBR.value " $(nagios2stats --mrtg --data AVGACT${TYPE_ABBR}EXT) + diff --git a/files/plugins/nagios_svc b/files/plugins/nagios_svc new file mode 100755 index 0000000..3938999 --- /dev/null +++ b/files/plugins/nagios_svc @@ -0,0 +1,33 @@ +#!/bin/bash + +if [ "$1" = "config" ]; then + echo 'graph_title Nagios service stats' + echo 'graph_args --base 1000 -l 0' + echo 'graph_vlabel services' + echo 'graph_category nagios' + echo 'graph_info The number of services checked by nagios' + echo 'ok.label ok' + echo 'ok.draw AREA' + echo 'ok.info number of services OK' + echo 'warn.label warn' + echo 'warn.draw STACK' + echo 'warn.info number of services WARNING' + echo 'crit.label crit' + echo 'crit.draw STACK' + echo 'crit.info number of services CRITICAL' + echo 'unkn.label unkn' + echo 'unkn.draw STACK' + echo 'unkn.info number of services UNKNOWN' + + exit 0 +fi + +echo -n 'ok.value ' +nagios2stats --mrtg --data NUMSVCOK +echo -n 'warn.value ' +nagios2stats --mrtg --data NUMSVCWARN +echo -n 'crit.value ' +nagios2stats --mrtg --data NUMSVCCRIT +echo -n 'unkn.value ' +nagios2stats --mrtg --data NUMSVCUNKN + diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 36773ee..40e7f47 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -230,10 +230,10 @@ class munin::plugins::postgres inherits munin::plugins::base { munin::plugin::deploy { "pg__locks": ensure => false } } class munin::plugins::nagios inherits munin::plugins::base { - munin::plugin { - nagios_hosts: script_path => "/usr/local/bin", config => 'user root'; - nagios_svc: script_path => "/usr/local/bin", config => 'user root'; - nagios_perf_hosts: ensure => nagios_perf_, script_path => "/usr/local/bin", config => 'user root'; - nagios_perf_svc: ensure => nagios_perf_, script_path => "/usr/local/bin", config => 'user root'; + munin::plugin::deploy { + nagios_hosts: config => 'user root'; + nagios_svc: config => 'user root'; + nagios_perf_hosts: ensure => nagios_perf_, config => 'user root'; + nagios_perf_svc: ensure => nagios_perf_, config => 'user root'; } } -- cgit v1.2.3 From 70e9b0703c41ebbd7f9902488f41c3d90e77981a Mon Sep 17 00:00:00 2001 From: Marcel Haerry Date: Tue, 22 Apr 2008 15:41:02 +0200 Subject: added new xen plugin --- files/plugins/xen_traffic_all | 63 +++++++++++++++++++++++++++++++++++++++++++ manifests/plugin.pp | 1 + 2 files changed, 64 insertions(+) create mode 100644 files/plugins/xen_traffic_all diff --git a/files/plugins/xen_traffic_all b/files/plugins/xen_traffic_all new file mode 100644 index 0000000..1216a7d --- /dev/null +++ b/files/plugins/xen_traffic_all @@ -0,0 +1,63 @@ +#!/bin/sh +# Author: mario manno +# Description: measure traffic for all xen hosts +# +#%# family=auto +#%# capabilities=autoconf + +if [ "$1" = "autoconf" ]; then + if which xm > /dev/null ; then + echo yes + else + echo "no (xm not found)" + exit 1 + fi + if [ -r /proc/net/dev ]; then + echo yes + else + echo "no (/proc/net/dev not found)" + exit 1 + fi + exit 0 +fi + +if [ "$1" = "config" ]; then + echo 'graph_title Xen Traffic' + echo 'graph_vlabel bits received (-) / sent (+) per ${graph_period}' + echo 'graph_args --base 1024 -l 0' + echo 'graph_category xen' + DOMAINS=$(xm list | awk '{print $1}' | egrep -v "^(Name|Domain-0)") + for dom in $DOMAINS; do + name=$( echo $dom | sed -e's/-/_/g' ) + #echo $name"UP.label $name" + #echo $name"DOWN.label $name" + + echo $name'Down.label received' + echo $name'Down.type COUNTER' + echo $name'Down.graph no' + echo "${name}Down.cdef ${name}Down,8,*" + echo "${name}Up.label ${name}" + echo $name'Up.type COUNTER' + echo "${name}Up.negative ${name}Down" + echo "${name}Up.cdef ${name}Up,8,*" + done + exit 0 +fi + +DOMAINS=$(xm list | awk '{print $1}' | egrep -v "^(Name|Domain-0)") +for dom in $DOMAINS; do + dev=$( xm network-list $dom |\ + egrep "^[0-9]+" | sed 's@^.*vif/\([0-9]*\)/\([0-9]*\).*$@vif\1.\2@') + name=$( echo $dom | sed -e's/-/_/g' ) + #awk -v name="$name" -v interface="$dev" -F'[: \t]+' \ + #'{ sub(/^ */,""); if ($1 == interface) \ + #print name"DOWN.value "$2"\n"name"UP.value "$10; }' /proc/net/dev + awk -v name="$name" -v interface="$dev" \ + 'BEGIN { gsub(/\./, "\\.", interface) } \ + $1 ~ "^" interface ":" { + split($0, a, /: */); $0 = a[2]; \ + print name"Down.value " $1 "\n"name"Up.value " $9 \ + }' \ + /proc/net/dev +done + diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 40e7f47..d7fad3d 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -195,6 +195,7 @@ class munin::plugins::dom0 inherits munin::plugins::physical { munin::plugin::deploy { "xen-cpu": config => "user root"} munin::plugin::deploy { "xen_memory": config => "user root"} munin::plugin::deploy { "xen_vbd": config => "user root"} + munin::plugin::deploy { "xen_traffic_all": config => "user root"} } class munin::plugins::physical inherits munin::plugins::base { -- cgit v1.2.3 From 7a059412363908e454d96af9c2a4e879bb2a4620 Mon Sep 17 00:00:00 2001 From: Marcel Haerry Date: Tue, 22 Apr 2008 16:17:56 +0200 Subject: refactore base client class --- manifests/client.pp | 160 +++++++++++++++------------------------------------- manifests/plugin.pp | 15 +++++ 2 files changed, 59 insertions(+), 116 deletions(-) diff --git a/manifests/client.pp b/manifests/client.pp index 2d13d24..c5b8969 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -11,46 +11,15 @@ class munin::client { default => $munin_host } - case $operatingsystem { - darwin: { include munin::client::darwin } - debian: { - include munin::client::debian - include munin::plugins::debian - } - ubuntu: { - info ( "Trying to configure Ubuntu's munin with Debian class" ) - include munin::client::debian - include munin::plugins::debian - } - gentoo: { - include munin::client::gentoo - include munin::plugins::gentoo - } - centos: { - include munin::client::centos - include munin::plugins::centos - } - default: { fail ("Don't know how to handle munin on $operatingsystem") } - } - - case $kernel { - linux: { - case $vserver { - guest: { include munin::plugins::vserver } - default: { - include munin::plugins::linux - } - } - } - default: { - err( "Don't know which munin plugins to install for $kernel" ) - } - } - case $virtual { - physical: { include munin::plugins::physical } - xen0: { include munin::plugins::dom0 } - xenu: { include munin::plugins::domU } + case $operatingsystem { + darwin: { include munin::client::darwin } + debian: { include munin::client::debian } + ubuntu: { include munin::client::ubuntu } + centos: { include munin::client::centos } + gentoo: { include munin::client::gentoo } + default: { include munin::client:: base } } + } define munin::register() @@ -78,8 +47,30 @@ define munin::register_snmp() } } -class munin::client::darwin -{ +class munin::client:: base { + package { "munin-node": ensure => installed } + service { "munin-node": + ensure => running, + hasstatus => true, + hasrestart => true, + require => Package[munin-node], + } + file { + "/etc/munin/": + ensure => directory, + mode => 0755, owner => root, group => 0; + "/etc/munin/munin-node.conf": + content => template("munin/munin-node.conf.$operatingsystem.$lsbdistrelease"), + mode => 0644, owner => root, group => 0, + # this has to be installed before the package, so the postinst can + # boot the munin-node without failure! + before => Package["munin-node"], + } + munin::register { $fqdn: } + include munin::plugins::base +} + +class munin::client::darwin { file { "/usr/share/snmp/snmpd.conf": mode => 744, content => template("munin/darwin_snmpd.conf.erb"), @@ -101,93 +92,30 @@ class munin::client::darwin munin::register_snmp { $fqdn: } } -class munin::client::debian -{ - package { "munin-node": ensure => installed } +class munin::client::debian inherits munin::client::base { # the plugin will need that package { "iproute": ensure => installed } - file { - "/etc/munin/": - ensure => directory, - mode => 0755, owner => root, group => 0; - "/etc/munin/munin-node.conf": - content => template("munin/munin-node.conf.${operatingsystem}.${lsbdistcodename}"), - mode => 0644, owner => root, group => 0, - # this has to be installed before the package, so the postinst can - # boot the munin-node without failure! - before => Package["munin-node"], - notify => Service["munin-node"], - } - - service { "munin-node": - ensure => running, + Service["munin-node"]: # sarge's munin-node init script has no status hasstatus => $lsbdistcodename ? { sarge => false, default => true } } - - munin::register { $fqdn: } - # workaround bug in munin_node_configure plugin { "postfix_mailvolume": ensure => absent } + include munin::plugins::debian } -class munin::client::gentoo -{ - $acpi_available = "absent" - package { 'munin-node': - name => 'munin', - ensure => present, - category => $operatingsystem ? { - gentoo => 'net-analyzer', - default => '', - }, - } - - file { - "/etc/munin/": - ensure => directory, - mode => 0755, owner => root, group => 0; - "/etc/munin/munin-node.conf": - content => template("munin/munin-node.conf.Gentoo."), - mode => 0644, owner => root, group => 0, - # this has to be installed before the package, so the postinst can - # boot the munin-node without failure! - before => Package["munin-node"], - # notify => Service["munin"], - } - - service { "munin-node": - ensure => running, - } +class munin::client::ubuntu inherits munin::client::debian {} - munin::register { $fqdn: } -} - -class munin::client::centos -{ - package { 'munin-node': - ensure => present, +class munin::client::gentoo inherits munin::client::base { + Package['munin-node'] { + name => 'munin', + category => 'net-analyzer', } + include munin::plugins::gentoo +} - file { - "/etc/munin/": - ensure => directory, - mode => 0755, owner => root, group =>0; - "/etc/munin/munin-node.conf": - content => template("munin/munin-node.conf.CentOS."), - mode => 0644, owner => root, group => 0, - # this has to be installed before the package, so the postinst can - # boot the munin-node without failure! - before => Package["munin-node"], - notify => Service["munin-node"], - } - - service { "munin-node": - ensure => running, - } - - munin::register { $fqdn: } - +class munin::client::centos inherits munin::client::base { + include munin::plugins::centos } diff --git a/manifests/plugin.pp b/manifests/plugin.pp index d7fad3d..aec1951 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -142,6 +142,21 @@ class munin::plugins::base { } } } + 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 } + xenu: { include munin::plugins::domU } + } } # handle if_ and if_err_ plugins -- cgit v1.2.3 From 6764234701c49349d25105642202aaee5a380e1b Mon Sep 17 00:00:00 2001 From: Marcel Haerry Date: Tue, 22 Apr 2008 16:32:30 +0200 Subject: fixed typo --- manifests/client.pp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/manifests/client.pp b/manifests/client.pp index c5b8969..143046c 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -17,9 +17,8 @@ class munin::client { ubuntu: { include munin::client::ubuntu } centos: { include munin::client::centos } gentoo: { include munin::client::gentoo } - default: { include munin::client:: base } + default: { include munin::client::base } } - } define munin::register() -- cgit v1.2.3 From 6413032228f89698c27fa33ef73e19bafe689d1b Mon Sep 17 00:00:00 2001 From: Marcel Haerry Date: Tue, 22 Apr 2008 16:34:08 +0200 Subject: fixed typo --- manifests/client.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/client.pp b/manifests/client.pp index 143046c..0d701af 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -46,7 +46,7 @@ define munin::register_snmp() } } -class munin::client:: base { +class munin::client::base { package { "munin-node": ensure => installed } service { "munin-node": ensure => running, -- cgit v1.2.3 From 35a0cd69d1ecb7fdd2e77545d79f8e685a226f96 Mon Sep 17 00:00:00 2001 From: Marcel Haerry Date: Tue, 22 Apr 2008 16:36:37 +0200 Subject: fixed typo --- manifests/client.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/client.pp b/manifests/client.pp index 0d701af..69e9f2e 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -95,7 +95,7 @@ class munin::client::debian inherits munin::client::base { # the plugin will need that package { "iproute": ensure => installed } - Service["munin-node"]: + Service["munin-node"]{ # sarge's munin-node init script has no status hasstatus => $lsbdistcodename ? { sarge => false, default => true } } -- cgit v1.2.3 From e85b733cb91b1987b38caec793ccce51dff88550 Mon Sep 17 00:00:00 2001 From: Marcel Haerry Date: Tue, 22 Apr 2008 17:48:10 +0200 Subject: initialised server var --- manifests/host.pp | 2 +- manifests/plugin.pp | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/manifests/host.pp b/manifests/host.pp index 74492b1..cdd7773 100644 --- a/manifests/host.pp +++ b/manifests/host.pp @@ -27,7 +27,7 @@ class munin::snmp_collector file { "/var/lib/puppet/modules/munin/create_snmp_links": - source => "puppet://$servername/munin/create_snmp_links.sh", + source => "puppet://$server/munin/create_snmp_links.sh", mode => 755, owner => root, group => 0; } diff --git a/manifests/plugin.pp b/manifests/plugin.pp index aec1951..ec025f5 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -101,7 +101,7 @@ define munin::plugin::deploy ($source = '', $ensure = 'present', $config = '') { debug ( "munin_plugin_${name}: name=$name, source=$source, script_path=$munin::plugin::scriptpaths::script_path" ) file { "munin_plugin_${name}": path => "$munin::plugin::scriptpaths::script_path/${name}", - source => "puppet://$servername/$real_source", + source => "puppet://$server/$real_source", ensure => file, mode => 0755, owner => root, group => 0; } @@ -116,7 +116,7 @@ class munin::plugins::base { centos: { file { [ "/etc/munin/plugins", "/etc/munin/plugin-conf.d" ]: - source => "puppet://$servername/munin/empty", + source => "puppet://$server/munin/empty", ensure => directory, checksum => mtime, recurse => true, purge => true, force => true, mode => 0755, owner => root, group => 0; @@ -129,7 +129,7 @@ class munin::plugins::base { default: { file { [ "/etc/munin/plugins", "/etc/munin/plugin-conf.d" ]: - source => "puppet://$servername/munin/empty", + source => "puppet://$server/munin/empty", ensure => directory, checksum => mtime, recurse => true, purge => true, force => true, mode => 0755, owner => root, group => 0, -- cgit v1.2.3 From 175ca7bf6dfa4a410e0cca920164b90c64a15d6b Mon Sep 17 00:00:00 2001 From: Marcel Haerry Date: Tue, 22 Apr 2008 19:54:25 +0200 Subject: removed unneeded nmap --- manifests/host.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/host.pp b/manifests/host.pp index cdd7773..8f79020 100644 --- a/manifests/host.pp +++ b/manifests/host.pp @@ -4,7 +4,7 @@ class munin::host { - package { [ "munin", "nmap"]: ensure => installed, } + package {"munin": ensure => installed, } File <<| tag == 'munin' |>> -- cgit v1.2.3 From 414020e7c349ec509eced5a12c54d9abd5dc5812 Mon Sep 17 00:00:00 2001 From: Marcel Haerry Date: Tue, 22 Apr 2008 20:00:47 +0200 Subject: fixed plugin source with relative plugins --- manifests/plugin.pp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index ec025f5..a2f8231 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -93,8 +93,9 @@ define munin::remoteplugin($ensure = "present", $source, $config = '') { } } define munin::plugin::deploy ($source = '', $ensure = 'present', $config = '') { + $plugin_src = $ensure ? { "present" => $name, default => $ensure } $real_source = $source ? { - '' => "munin/plugins/$name", + '' => "munin/plugins/$plugin_src", default => $source } include munin::plugin::scriptpaths -- cgit v1.2.3 From 65fb027d8cf639c565b0f9fb53b5fbe9ee25dc7b Mon Sep 17 00:00:00 2001 From: Marcel Haerry Date: Tue, 22 Apr 2008 20:26:12 +0200 Subject: try to add an empty dir --- files/empty/.git_placeholder | 1 + 1 file changed, 1 insertion(+) create mode 100644 files/empty/.git_placeholder diff --git a/files/empty/.git_placeholder b/files/empty/.git_placeholder new file mode 100644 index 0000000..91162ec --- /dev/null +++ b/files/empty/.git_placeholder @@ -0,0 +1 @@ +# just used for git -- cgit v1.2.3 From 4ade531347d2cfef7945f2521fb9e1ae3730098c Mon Sep 17 00:00:00 2001 From: mh Date: Thu, 24 Apr 2008 09:48:23 +0000 Subject: rearranged plugin ordering, fixed some yum stuff git-svn-id: https://svn/ipuppet/trunk/modules/munin@1247 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 1 - 1 file changed, 1 deletion(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 2b66ce2..6eaa518 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -213,7 +213,6 @@ class munin::plugins::djbdns inherits munin::plugins::base { } class munin::plugins::apache inherits munin::plugins::base { - include apache::status munin::plugin{ "apache_accesses": } munin::plugin{ "apache_processes": } munin::plugin{ "apache_volume": } -- cgit v1.2.3 From a3ac1c067e22f25b6fa5643873a4a935358561f1 Mon Sep 17 00:00:00 2001 From: mh Date: Thu, 24 Apr 2008 11:05:25 +0000 Subject: fixed munin stuff git-svn-id: https://svn/ipuppet/trunk/modules/munin@1248 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 3 ++- manifests/plugin.pp | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/manifests/client.pp b/manifests/client.pp index c81e6f4..8181845 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -66,6 +66,7 @@ define munin::register() @@file { "${NODESDIR}/${name}_${munin_port_real}": ensure => present, content => template("munin/defaultclient.erb"), + tag => 'munin', } } @@ -129,7 +130,7 @@ class munin::client::debian munin::register { $fqdn: } # workaround bug in munin_node_configure - plugin { "postfix_mailvolume": ensure => absent } + munin::plugin { "postfix_mailvolume": ensure => absent } } class munin::client::gentoo diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 6eaa518..161bf88 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -149,7 +149,7 @@ class munin::plugins::interfaces inherits munin::plugins::base { $ifs = gsub(split($interfaces, " "), "(.+)", "if_\\1") $if_errs = gsub(split($interfaces, " "), "(.+)", "if_err_\\1") - plugin { + munin::plugin { $ifs: ensure => "if_"; $if_errs: ensure => "if_err_"; } @@ -157,7 +157,7 @@ class munin::plugins::interfaces inherits munin::plugins::base { class munin::plugins::linux inherits munin::plugins::base { - plugin { + munin::plugin { [ df_abs, forks, memory, processes, cpu, df_inode, irqstats, netstat, open_files, swap, df, entropy, interrupts, load, open_inodes, vmstat -- cgit v1.2.3 From b1381333f577b0b4c6ff17a2cfff1abfa58c00e3 Mon Sep 17 00:00:00 2001 From: mh Date: Thu, 24 Apr 2008 12:26:34 +0000 Subject: unified fileserver location, in the future the fileserver should only be accessed by $server git-svn-id: https://svn/ipuppet/trunk/modules/munin@1251 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/host.pp | 2 +- manifests/plugin.pp | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/manifests/host.pp b/manifests/host.pp index 4625ba9..d49c5a2 100644 --- a/manifests/host.pp +++ b/manifests/host.pp @@ -27,7 +27,7 @@ class munin::snmp_collector file { "/var/lib/puppet/modules/munin/create_snmp_links": - source => "puppet://$servername/munin/create_snmp_links.sh", + source => "puppet://$server/munin/create_snmp_links.sh", mode => 755, owner => root, group => 0; } diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 161bf88..ac25abf 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -101,7 +101,7 @@ define munin::plugin::deploy ($source = '', $ensure = 'present', $config = '') { debug ( "munin_plugin_${name}: name=$name, source=$source, script_path=$munin::plugin::scriptpaths::script_path" ) file { "munin_plugin_${name}": path => "$munin::plugin::scriptpaths::script_path/${name}", - source => "puppet://$servername/$real_source", + source => "puppet://$server/$real_source", ensure => file, mode => 0755, owner => root, group => 0; } @@ -116,7 +116,7 @@ class munin::plugins::base { centos: { file { [ "/etc/munin/plugins", "/etc/munin/plugin-conf.d" ]: - source => "puppet://$servername/munin/empty", + source => "puppet://$server/munin/empty", ensure => directory, checksum => mtime, recurse => true, purge => true, force => true, mode => 0755, owner => root, group => 0; @@ -129,7 +129,7 @@ class munin::plugins::base { default: { file { [ "/etc/munin/plugins", "/etc/munin/plugin-conf.d" ]: - source => "puppet://$servername/munin/empty", + source => "puppet://$server/munin/empty", ensure => directory, checksum => mtime, recurse => true, purge => true, force => true, mode => 0755, owner => root, group => 0, -- cgit v1.2.3 From 9dca19736cd11ed42cfdb8aed30c8628b22231cb Mon Sep 17 00:00:00 2001 From: mh Date: Thu, 24 Apr 2008 13:26:14 +0000 Subject: merged with puzzle upstream git-svn-id: https://svn/ipuppet/trunk/modules/munin@1254 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- files/plugins/nagios_hosts | 28 ++++++ files/plugins/nagios_perf_ | 35 +++++++ files/plugins/nagios_svc | 33 +++++++ files/plugins/xen_traffic_all | 63 ++++++++++++ manifests/client.pp | 168 +++++++++----------------------- manifests/host.pp | 4 +- manifests/init.pp | 4 +- manifests/plugin.pp | 27 ++++- templates/munin-node.conf.Debian.gutsy | 1 - templates/munin-node.conf.Ubuntu.feisty | 1 + templates/munin-node.conf.Ubuntu.gutsy | 1 + templates/munin-node.conf.Ubuntu.hardy | 1 + 12 files changed, 238 insertions(+), 128 deletions(-) create mode 100755 files/plugins/nagios_hosts create mode 100755 files/plugins/nagios_perf_ create mode 100755 files/plugins/nagios_svc create mode 100644 files/plugins/xen_traffic_all delete mode 120000 templates/munin-node.conf.Debian.gutsy create mode 120000 templates/munin-node.conf.Ubuntu.feisty create mode 120000 templates/munin-node.conf.Ubuntu.gutsy create mode 120000 templates/munin-node.conf.Ubuntu.hardy diff --git a/files/plugins/nagios_hosts b/files/plugins/nagios_hosts new file mode 100755 index 0000000..04fe8ed --- /dev/null +++ b/files/plugins/nagios_hosts @@ -0,0 +1,28 @@ +#!/bin/bash + +if [ "$1" = "config" ]; then + echo 'graph_title Nagios host stats' + echo 'graph_args --base 1000 -l 0' + echo 'graph_vlabel hosts' + echo 'graph_category nagios' + echo 'graph_info The number of hosts checked by nagios' + echo 'up.label up' + echo 'up.draw AREA' + echo 'up.info number of hosts UP' + echo 'down.label down' + echo 'down.draw STACK' + echo 'down.info number of hosts DOWN' + echo 'unr.label unr' + echo 'unr.draw STACK' + echo 'unr.info number of hosts UNREACHABLE' + + exit 0 +fi + +echo -n 'up.value ' +nagios2stats --mrtg --data NUMHSTUP +echo -n 'down.value ' +nagios2stats --mrtg --data NUMHSTDOWN +echo -n 'unr.value ' +nagios2stats --mrtg --data NUMHSTUNR + diff --git a/files/plugins/nagios_perf_ b/files/plugins/nagios_perf_ new file mode 100755 index 0000000..f819def --- /dev/null +++ b/files/plugins/nagios_perf_ @@ -0,0 +1,35 @@ +#!/bin/bash + +NAME=$(basename $0) + +TYPE=${NAME##nagios_perf_} + +[ "x$TYPE" = 'xhosts' ] && TYPE_ABBR=HST +[ "x$TYPE" = 'xsvc' ] && TYPE_ABBR=SVC +[ -z "$TYPE_ABBR" ] && echo "unknown type $TYPE" >&2 && exit 1 + +if [ "$1" = "config" ]; then + echo "graph_title Nagios $TYPE performance stats" + echo "graph_args --base 1000" + echo "graph_vlabel seconds" + echo "graph_category nagios" + echo "graph_info Check performance statistics" + + echo "act_lat_$TYPE_ABBR.label act lat" + echo "act_lat_$TYPE_ABBR.type GAUGE" + echo "act_lat_$TYPE_ABBR.draw AREA" + echo "act_lat_$TYPE_ABBR.cdef act_lat_$TYPE_ABBR,1000,/" + echo "act_lat_$TYPE_ABBR.info average latency of active checks over the last 5 minutes" + + echo "act_ext_$TYPE_ABBR.label act ext" + echo "act_ext_$TYPE_ABBR.type GAUGE" + echo "act_ext_$TYPE_ABBR.draw LINE1" + echo "act_ext_$TYPE_ABBR.cdef act_ext_$TYPE_ABBR,1000,/" + echo "act_ext_$TYPE_ABBR.info average execution time of active checks over the last 5 minutes" + + exit 0 +fi + +echo "act_lat_$TYPE_ABBR.value " $(nagios2stats --mrtg --data AVGACT${TYPE_ABBR}LAT) +echo "act_ext_$TYPE_ABBR.value " $(nagios2stats --mrtg --data AVGACT${TYPE_ABBR}EXT) + diff --git a/files/plugins/nagios_svc b/files/plugins/nagios_svc new file mode 100755 index 0000000..3938999 --- /dev/null +++ b/files/plugins/nagios_svc @@ -0,0 +1,33 @@ +#!/bin/bash + +if [ "$1" = "config" ]; then + echo 'graph_title Nagios service stats' + echo 'graph_args --base 1000 -l 0' + echo 'graph_vlabel services' + echo 'graph_category nagios' + echo 'graph_info The number of services checked by nagios' + echo 'ok.label ok' + echo 'ok.draw AREA' + echo 'ok.info number of services OK' + echo 'warn.label warn' + echo 'warn.draw STACK' + echo 'warn.info number of services WARNING' + echo 'crit.label crit' + echo 'crit.draw STACK' + echo 'crit.info number of services CRITICAL' + echo 'unkn.label unkn' + echo 'unkn.draw STACK' + echo 'unkn.info number of services UNKNOWN' + + exit 0 +fi + +echo -n 'ok.value ' +nagios2stats --mrtg --data NUMSVCOK +echo -n 'warn.value ' +nagios2stats --mrtg --data NUMSVCWARN +echo -n 'crit.value ' +nagios2stats --mrtg --data NUMSVCCRIT +echo -n 'unkn.value ' +nagios2stats --mrtg --data NUMSVCUNKN + diff --git a/files/plugins/xen_traffic_all b/files/plugins/xen_traffic_all new file mode 100644 index 0000000..1216a7d --- /dev/null +++ b/files/plugins/xen_traffic_all @@ -0,0 +1,63 @@ +#!/bin/sh +# Author: mario manno +# Description: measure traffic for all xen hosts +# +#%# family=auto +#%# capabilities=autoconf + +if [ "$1" = "autoconf" ]; then + if which xm > /dev/null ; then + echo yes + else + echo "no (xm not found)" + exit 1 + fi + if [ -r /proc/net/dev ]; then + echo yes + else + echo "no (/proc/net/dev not found)" + exit 1 + fi + exit 0 +fi + +if [ "$1" = "config" ]; then + echo 'graph_title Xen Traffic' + echo 'graph_vlabel bits received (-) / sent (+) per ${graph_period}' + echo 'graph_args --base 1024 -l 0' + echo 'graph_category xen' + DOMAINS=$(xm list | awk '{print $1}' | egrep -v "^(Name|Domain-0)") + for dom in $DOMAINS; do + name=$( echo $dom | sed -e's/-/_/g' ) + #echo $name"UP.label $name" + #echo $name"DOWN.label $name" + + echo $name'Down.label received' + echo $name'Down.type COUNTER' + echo $name'Down.graph no' + echo "${name}Down.cdef ${name}Down,8,*" + echo "${name}Up.label ${name}" + echo $name'Up.type COUNTER' + echo "${name}Up.negative ${name}Down" + echo "${name}Up.cdef ${name}Up,8,*" + done + exit 0 +fi + +DOMAINS=$(xm list | awk '{print $1}' | egrep -v "^(Name|Domain-0)") +for dom in $DOMAINS; do + dev=$( xm network-list $dom |\ + egrep "^[0-9]+" | sed 's@^.*vif/\([0-9]*\)/\([0-9]*\).*$@vif\1.\2@') + name=$( echo $dom | sed -e's/-/_/g' ) + #awk -v name="$name" -v interface="$dev" -F'[: \t]+' \ + #'{ sub(/^ */,""); if ($1 == interface) \ + #print name"DOWN.value "$2"\n"name"UP.value "$10; }' /proc/net/dev + awk -v name="$name" -v interface="$dev" \ + 'BEGIN { gsub(/\./, "\\.", interface) } \ + $1 ~ "^" interface ":" { + split($0, a, /: */); $0 = a[2]; \ + print name"Down.value " $1 "\n"name"Up.value " $9 \ + }' \ + /proc/net/dev +done + diff --git a/manifests/client.pp b/manifests/client.pp index 8181845..69e9f2e 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -11,47 +11,14 @@ class munin::client { default => $munin_host } - case $operatingsystem { - darwin: { include munin::client::darwin } - debian: { - include munin::client::debian - include munin::plugins::debian - } - ubuntu: { - info ( "Trying to configure Ubuntu's munin with Debian class" ) - include munin::client::debian - include munin::plugins::debian - } - gentoo: { - include munin::client::gentoo - include munin::plugins::gentoo - } - centos: { - include munin::client::centos - include munin::plugins::centos - } - default: { fail ("Don't know how to handle munin on $operatingsystem") } - } - - case $kernel { - linux: { - case $vserver { - guest: { include munin::plugins::vserver } - default: { - include munin::plugins::linux - } - } - } - default: { - err( "Don't know which munin plugins to install for $kernel" ) - } - } - case $virtual { - physical: { include munin::plugins::physical } - xen0: { include munin::plugins::dom0 } - xenu: { include munin::plugins::domU } + case $operatingsystem { + darwin: { include munin::client::darwin } + debian: { include munin::client::debian } + ubuntu: { include munin::client::ubuntu } + centos: { include munin::client::centos } + gentoo: { include munin::client::gentoo } + default: { include munin::client::base } } - } define munin::register() @@ -66,7 +33,7 @@ define munin::register() @@file { "${NODESDIR}/${name}_${munin_port_real}": ensure => present, content => template("munin/defaultclient.erb"), - tag => 'munin', + tag => 'munin', } } @@ -75,12 +42,34 @@ define munin::register_snmp() @@file { "munin_snmp_${name}": path => "${NODESDIR}/${name}", ensure => present, content => template("munin/snmpclient.erb"), - tag => 'munin', + tag => 'munin', } } -class munin::client::darwin -{ +class munin::client::base { + package { "munin-node": ensure => installed } + service { "munin-node": + ensure => running, + hasstatus => true, + hasrestart => true, + require => Package[munin-node], + } + file { + "/etc/munin/": + ensure => directory, + mode => 0755, owner => root, group => 0; + "/etc/munin/munin-node.conf": + content => template("munin/munin-node.conf.$operatingsystem.$lsbdistrelease"), + mode => 0644, owner => root, group => 0, + # this has to be installed before the package, so the postinst can + # boot the munin-node without failure! + before => Package["munin-node"], + } + munin::register { $fqdn: } + include munin::plugins::base +} + +class munin::client::darwin { file { "/usr/share/snmp/snmpd.conf": mode => 744, content => template("munin/darwin_snmpd.conf.erb"), @@ -102,95 +91,30 @@ class munin::client::darwin munin::register_snmp { $fqdn: } } -class munin::client::debian -{ - package { "munin-node": ensure => installed } +class munin::client::debian inherits munin::client::base { # the plugin will need that package { "iproute": ensure => installed } - file { - "/etc/munin/": - ensure => directory, - mode => 0755, owner => root, group => 0; - "/etc/munin/munin-node.conf": - content => template("munin/munin-node.conf.${operatingsystem}.${lsbdistcodename}"), - mode => 0644, owner => root, group => 0, - # this has to be installed before the package, so the postinst can - # boot the munin-node without failure! - before => Package["munin-node"], - notify => Service["munin-node"], - } - - service { "munin-node": - ensure => running, + Service["munin-node"]{ # sarge's munin-node init script has no status hasstatus => $lsbdistcodename ? { sarge => false, default => true } } - - munin::register { $fqdn: } - # workaround bug in munin_node_configure - munin::plugin { "postfix_mailvolume": ensure => absent } + plugin { "postfix_mailvolume": ensure => absent } + include munin::plugins::debian } -class munin::client::gentoo -{ - $acpi_available = "absent" - package { 'munin-node': - name => 'munin', - ensure => present, - category => $operatingsystem ? { - gentoo => 'net-analyzer', - default => '', - }, - } - - file { - "/etc/munin/": - ensure => directory, - mode => 0755, owner => root, group => 0; - "/etc/munin/munin-node.conf": - content => template("munin/munin-node.conf.Gentoo."), - mode => 0644, owner => root, group => 0, - # this has to be installed before the package, so the postinst can - # boot the munin-node without failure! - before => Package["munin-node"], - # notify => Service["munin"], - } - - service { "munin-node": - ensure => running, - } - - munin::register { $fqdn: } -} +class munin::client::ubuntu inherits munin::client::debian {} -class munin::client::centos -{ - package { 'munin-node': - ensure => present, +class munin::client::gentoo inherits munin::client::base { + Package['munin-node'] { + name => 'munin', + category => 'net-analyzer', } - - file { - "/etc/munin/": - ensure => directory, - mode => 0755, owner => root, group =>0; - "/etc/munin/munin-node.conf": - content => template("munin/munin-node.conf.CentOS."), - mode => 0644, owner => root, group => 0, - # this has to be installed before the package, so the postinst can - # boot the munin-node without failure! - before => Package["munin-node"], - notify => Service["munin-node"], - } - - service { "munin-node": - ensure => running, - } - - munin::register { $fqdn: } - + include munin::plugins::gentoo } - +class munin::client::centos inherits munin::client::base { + include munin::plugins::centos +} diff --git a/manifests/host.pp b/manifests/host.pp index d49c5a2..8f79020 100644 --- a/manifests/host.pp +++ b/manifests/host.pp @@ -4,7 +4,7 @@ class munin::host { - package { [ "munin", "nmap"]: ensure => installed, } + package {"munin": ensure => installed, } File <<| tag == 'munin' |>> @@ -12,7 +12,7 @@ class munin::host dir => $NODESDIR, header => "/etc/munin/munin.conf.header", } - + file { ["/var/log/munin-update.log", "/var/log/munin-limits.log", "/var/log/munin-graph.log", "/var/log/munin-html.log"]: ensure => present, diff --git a/manifests/init.pp b/manifests/init.pp index 9c4b1de..6b6cd08 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -1,7 +1,8 @@ # munin.pp - everything a sitewide munin installation needs # Copyright (C) 2007 David Schmitt # See LICENSE for the full license granted to you. - +# adapted by Puzzle ITC - haerry+puppet(at)puzzle.ch +# # the port is a parameter so vservers can share IP addresses and still be happy # Define where the individual nodes' configs are stored @@ -16,4 +17,3 @@ import "plugin.pp" case $operatingsystem { debian,ubuntu: { include assert_lsbdistcodename } } - diff --git a/manifests/plugin.pp b/manifests/plugin.pp index ac25abf..6a92c56 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -93,8 +93,9 @@ define munin::remoteplugin($ensure = "present", $source, $config = '') { } } define munin::plugin::deploy ($source = '', $ensure = 'present', $config = '') { + $plugin_src = $ensure ? { "present" => $name, default => $ensure } $real_source = $source ? { - '' => "munin/plugins/$name", + '' => "munin/plugins/$plugin_src", default => $source } include munin::plugin::scriptpaths @@ -142,6 +143,21 @@ class munin::plugins::base { } } } + 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 } + xenu: { include munin::plugins::domU } + } } # handle if_ and if_err_ plugins @@ -195,6 +211,7 @@ class munin::plugins::dom0 inherits munin::plugins::physical { munin::plugin::deploy { "xen-cpu": config => "user root"} munin::plugin::deploy { "xen_memory": config => "user root"} munin::plugin::deploy { "xen_vbd": config => "user root"} + munin::plugin::deploy { "xen_traffic_all": config => "user root"} } class munin::plugins::physical inherits munin::plugins::base { @@ -229,3 +246,11 @@ class munin::plugins::postgres inherits munin::plugins::base { munin::plugin::deploy { "pg__connections": ensure => false } munin::plugin::deploy { "pg__locks": ensure => false } } +class munin::plugins::nagios inherits munin::plugins::base { + munin::plugin::deploy { + nagios_hosts: config => 'user root'; + nagios_svc: config => 'user root'; + nagios_perf_hosts: ensure => nagios_perf_, config => 'user root'; + nagios_perf_svc: ensure => nagios_perf_, config => 'user root'; + } +} diff --git a/templates/munin-node.conf.Debian.gutsy b/templates/munin-node.conf.Debian.gutsy deleted file mode 120000 index e0646b9..0000000 --- a/templates/munin-node.conf.Debian.gutsy +++ /dev/null @@ -1 +0,0 @@ -munin-node.conf.Debian.etch \ No newline at end of file diff --git a/templates/munin-node.conf.Ubuntu.feisty b/templates/munin-node.conf.Ubuntu.feisty new file mode 120000 index 0000000..e0646b9 --- /dev/null +++ b/templates/munin-node.conf.Ubuntu.feisty @@ -0,0 +1 @@ +munin-node.conf.Debian.etch \ No newline at end of file diff --git a/templates/munin-node.conf.Ubuntu.gutsy b/templates/munin-node.conf.Ubuntu.gutsy new file mode 120000 index 0000000..e0646b9 --- /dev/null +++ b/templates/munin-node.conf.Ubuntu.gutsy @@ -0,0 +1 @@ +munin-node.conf.Debian.etch \ No newline at end of file diff --git a/templates/munin-node.conf.Ubuntu.hardy b/templates/munin-node.conf.Ubuntu.hardy new file mode 120000 index 0000000..e0646b9 --- /dev/null +++ b/templates/munin-node.conf.Ubuntu.hardy @@ -0,0 +1 @@ +munin-node.conf.Debian.etch \ No newline at end of file -- cgit v1.2.3 From 3b9dff3584c98fe8e2754fe91204748853e84d84 Mon Sep 17 00:00:00 2001 From: mh Date: Thu, 24 Apr 2008 14:35:15 +0000 Subject: refixed template path git-svn-id: https://svn/ipuppet/trunk/modules/munin@1257 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 2 +- templates/munin-node.conf.Debian.feisty | 1 + templates/munin-node.conf.Debian.gutsy | 1 + templates/munin-node.conf.Debian.hardy | 1 + templates/munin-node.conf.Ubuntu.feisty | 1 - templates/munin-node.conf.Ubuntu.gutsy | 1 - templates/munin-node.conf.Ubuntu.hardy | 1 - 7 files changed, 4 insertions(+), 4 deletions(-) create mode 120000 templates/munin-node.conf.Debian.feisty create mode 120000 templates/munin-node.conf.Debian.gutsy create mode 120000 templates/munin-node.conf.Debian.hardy delete mode 120000 templates/munin-node.conf.Ubuntu.feisty delete mode 120000 templates/munin-node.conf.Ubuntu.gutsy delete mode 120000 templates/munin-node.conf.Ubuntu.hardy diff --git a/manifests/client.pp b/manifests/client.pp index 69e9f2e..39d9a15 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -59,7 +59,7 @@ class munin::client::base { ensure => directory, mode => 0755, owner => root, group => 0; "/etc/munin/munin-node.conf": - content => template("munin/munin-node.conf.$operatingsystem.$lsbdistrelease"), + content => template("munin/munin-node.conf.$operatingsystem.$lsbdistcodename"), mode => 0644, owner => root, group => 0, # this has to be installed before the package, so the postinst can # boot the munin-node without failure! diff --git a/templates/munin-node.conf.Debian.feisty b/templates/munin-node.conf.Debian.feisty new file mode 120000 index 0000000..e0646b9 --- /dev/null +++ b/templates/munin-node.conf.Debian.feisty @@ -0,0 +1 @@ +munin-node.conf.Debian.etch \ No newline at end of file diff --git a/templates/munin-node.conf.Debian.gutsy b/templates/munin-node.conf.Debian.gutsy new file mode 120000 index 0000000..e0646b9 --- /dev/null +++ b/templates/munin-node.conf.Debian.gutsy @@ -0,0 +1 @@ +munin-node.conf.Debian.etch \ No newline at end of file diff --git a/templates/munin-node.conf.Debian.hardy b/templates/munin-node.conf.Debian.hardy new file mode 120000 index 0000000..e0646b9 --- /dev/null +++ b/templates/munin-node.conf.Debian.hardy @@ -0,0 +1 @@ +munin-node.conf.Debian.etch \ No newline at end of file diff --git a/templates/munin-node.conf.Ubuntu.feisty b/templates/munin-node.conf.Ubuntu.feisty deleted file mode 120000 index e0646b9..0000000 --- a/templates/munin-node.conf.Ubuntu.feisty +++ /dev/null @@ -1 +0,0 @@ -munin-node.conf.Debian.etch \ No newline at end of file diff --git a/templates/munin-node.conf.Ubuntu.gutsy b/templates/munin-node.conf.Ubuntu.gutsy deleted file mode 120000 index e0646b9..0000000 --- a/templates/munin-node.conf.Ubuntu.gutsy +++ /dev/null @@ -1 +0,0 @@ -munin-node.conf.Debian.etch \ No newline at end of file diff --git a/templates/munin-node.conf.Ubuntu.hardy b/templates/munin-node.conf.Ubuntu.hardy deleted file mode 120000 index e0646b9..0000000 --- a/templates/munin-node.conf.Ubuntu.hardy +++ /dev/null @@ -1 +0,0 @@ -munin-node.conf.Debian.etch \ No newline at end of file -- cgit v1.2.3 From 540d97e640a7b1415cdaffae922a5253f0e3790d Mon Sep 17 00:00:00 2001 From: mh Date: Thu, 24 Apr 2008 15:03:26 +0000 Subject: fixed munin-conf on gentoo git-svn-id: https://svn/ipuppet/trunk/modules/munin@1258 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/manifests/client.pp b/manifests/client.pp index 39d9a15..08fc3ba 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -111,6 +111,9 @@ class munin::client::gentoo inherits munin::client::base { name => 'munin', category => 'net-analyzer', } + File["/etc/munin/munin-node.conf"]{ + content => template("munin/munin-node.conf.$operatingsystem"), + } include munin::plugins::gentoo } -- cgit v1.2.3 From 6bc29ac288bcc25dec161a96679f1ac872f11837 Mon Sep 17 00:00:00 2001 From: mh Date: Fri, 25 Apr 2008 10:43:41 +0000 Subject: another try to fix this problem git-svn-id: https://svn/ipuppet/trunk/modules/munin@1261 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/manifests/client.pp b/manifests/client.pp index 08fc3ba..2208b8d 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -59,7 +59,7 @@ class munin::client::base { ensure => directory, mode => 0755, owner => root, group => 0; "/etc/munin/munin-node.conf": - content => template("munin/munin-node.conf.$operatingsystem.$lsbdistcodename"), + content => template("munin/munin-node.conf.$operatingsystem"), mode => 0644, owner => root, group => 0, # this has to be installed before the package, so the postinst can # boot the munin-node without failure! @@ -99,6 +99,9 @@ class munin::client::debian inherits munin::client::base { # sarge's munin-node init script has no status hasstatus => $lsbdistcodename ? { sarge => false, default => true } } + File["/etc/munin/munin-node.conf"]{ + content => template("munin/munin-node.conf.$operatingsystem"), + } # workaround bug in munin_node_configure plugin { "postfix_mailvolume": ensure => absent } include munin::plugins::debian @@ -111,9 +114,7 @@ class munin::client::gentoo inherits munin::client::base { name => 'munin', category => 'net-analyzer', } - File["/etc/munin/munin-node.conf"]{ - content => template("munin/munin-node.conf.$operatingsystem"), - } + include munin::plugins::gentoo } -- cgit v1.2.3 From 561b770f24a688842bfad68143826aefd8ab1fd0 Mon Sep 17 00:00:00 2001 From: mh Date: Fri, 25 Apr 2008 11:03:45 +0000 Subject: forgot lsbdistcodename in debian git-svn-id: https://svn/ipuppet/trunk/modules/munin@1262 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/manifests/client.pp b/manifests/client.pp index 2208b8d..b2bad8b 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -1,6 +1,7 @@ # client.pp - configure a munin node # Copyright (C) 2007 David Schmitt # See LICENSE for the full license granted to you. +# Adapted and improved by admin(at)immerda.ch class munin::client { @@ -100,7 +101,7 @@ class munin::client::debian inherits munin::client::base { hasstatus => $lsbdistcodename ? { sarge => false, default => true } } File["/etc/munin/munin-node.conf"]{ - content => template("munin/munin-node.conf.$operatingsystem"), + content => template("munin/munin-node.conf.$operatingsystem.$lsbdistcodename"), } # workaround bug in munin_node_configure plugin { "postfix_mailvolume": ensure => absent } -- cgit v1.2.3 From b312f62d11fa036c2e75d6afaafb14b03d38660b Mon Sep 17 00:00:00 2001 From: mh Date: Fri, 25 Apr 2008 11:23:45 +0000 Subject: fixed category git-svn-id: https://svn/ipuppet/trunk/modules/munin@1263 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- files/plugins/selinux_avcstats | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/plugins/selinux_avcstats b/files/plugins/selinux_avcstats index 9687be0..b7d2dbb 100755 --- a/files/plugins/selinux_avcstats +++ b/files/plugins/selinux_avcstats @@ -31,7 +31,7 @@ if [ "$1" = "config" ]; then echo "graph_title SELinux's Access Vector Cache" echo 'graph_args -l 0 --base 1000' echo 'graph_vlabel AVC operations' - echo 'graph_category system' + echo 'graph_category selinux' echo 'lookups.label lookups' echo 'lookups.type DERIVE' -- cgit v1.2.3 From e80b4c9f2aff54318f2f3338ef23b73a3a40a58c Mon Sep 17 00:00:00 2001 From: mh Date: Fri, 25 Apr 2008 11:37:59 +0000 Subject: antoher try to fix the problem git-svn-id: https://svn/ipuppet/trunk/modules/munin@1264 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/client.pp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/manifests/client.pp b/manifests/client.pp index b2bad8b..8305bf0 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -55,11 +55,11 @@ class munin::client::base { hasrestart => true, require => Package[munin-node], } - file { - "/etc/munin/": + file {"/etc/munin/": ensure => directory, mode => 0755, owner => root, group => 0; - "/etc/munin/munin-node.conf": + } + file {"/etc/munin/munin-node.conf": content => template("munin/munin-node.conf.$operatingsystem"), mode => 0644, owner => root, group => 0, # this has to be installed before the package, so the postinst can -- cgit v1.2.3 From a043afef5e8fb14385f59b4fee558f7f9618b050 Mon Sep 17 00:00:00 2001 From: mh Date: Fri, 25 Apr 2008 14:47:46 +0000 Subject: added missing template git-svn-id: https://svn/ipuppet/trunk/modules/munin@1265 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- templates/munin-node.conf.Debian | 1 + 1 file changed, 1 insertion(+) create mode 120000 templates/munin-node.conf.Debian diff --git a/templates/munin-node.conf.Debian b/templates/munin-node.conf.Debian new file mode 120000 index 0000000..e0646b9 --- /dev/null +++ b/templates/munin-node.conf.Debian @@ -0,0 +1 @@ +munin-node.conf.Debian.etch \ No newline at end of file -- cgit v1.2.3 From 876a2769f2c48979202ed03bbb7baeb0ebde14e1 Mon Sep 17 00:00:00 2001 From: Marcel Haerry Date: Tue, 29 Apr 2008 17:50:40 +0200 Subject: enabled munin client --- manifests/client.pp | 1 + 1 file changed, 1 insertion(+) diff --git a/manifests/client.pp b/manifests/client.pp index 8305bf0..bee3609 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -51,6 +51,7 @@ class munin::client::base { package { "munin-node": ensure => installed } service { "munin-node": ensure => running, + enable => true, hasstatus => true, hasrestart => true, require => Package[munin-node], -- cgit v1.2.3 From c2565e972ccd7159001984e6cb351bc30a81eb51 Mon Sep 17 00:00:00 2001 From: mh Date: Sun, 11 May 2008 13:22:49 +0000 Subject: fixed absent pluginsource git-svn-id: https://svn/ipuppet/trunk/modules/munin@1426 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 6a92c56..91b0178 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -93,7 +93,11 @@ define munin::remoteplugin($ensure = "present", $source, $config = '') { } } define munin::plugin::deploy ($source = '', $ensure = 'present', $config = '') { - $plugin_src = $ensure ? { "present" => $name, default => $ensure } + $plugin_src = $ensure ? { + 'present' => $name, + 'absent' => $name, + default => $ensure + } $real_source = $source ? { '' => "munin/plugins/$plugin_src", default => $source -- cgit v1.2.3 From d7048f01be3cfdb8e588361c6987283de45a57ef Mon Sep 17 00:00:00 2001 From: mh Date: Sun, 11 May 2008 13:33:08 +0000 Subject: ensure is present, absent or source git-svn-id: https://svn/ipuppet/trunk/modules/munin@1427 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 91b0178..e2827cd 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -247,8 +247,8 @@ class munin::plugins::selinux inherits munin::plugins::base { class munin::plugins::postgres inherits munin::plugins::base { munin::plugin::deploy { "pg_conn": } - munin::plugin::deploy { "pg__connections": ensure => false } - munin::plugin::deploy { "pg__locks": ensure => false } + munin::plugin::deploy { "pg__connections": ensure => 'absent' } + munin::plugin::deploy { "pg__locks": ensure => 'absent' } } class munin::plugins::nagios inherits munin::plugins::base { munin::plugin::deploy { -- cgit v1.2.3 From 0449faea92a65380646c5591ee0509fcdc67ab0b Mon Sep 17 00:00:00 2001 From: mh Date: Sun, 11 May 2008 14:02:11 +0000 Subject: added squid plugins git-svn-id: https://svn/ipuppet/trunk/modules/munin@1428 d66ca3ae-40d7-4aa7-90d4-87d79ca94279 --- manifests/plugin.pp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index e2827cd..d24b580 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -245,6 +245,13 @@ class munin::plugins::selinux inherits munin::plugins::base { munin::plugin::deploy { "selinux_avcstats": } } +class munin::plugins::squid inherits munin::plugins::base { + munin::plugin{ 'squid_cache': config => "user root\nenv.squidhost localhost\nenv.squidport 80"} + munin::plugin{ 'squid_icp': } + munin::plugin{ 'squid_requests': } + munin::plugin{ 'squid_traffic': } +} + class munin::plugins::postgres inherits munin::plugins::base { munin::plugin::deploy { "pg_conn": } munin::plugin::deploy { "pg__connections": ensure => 'absent' } -- cgit v1.2.3 From d4baba70e6c5d8b1a40100497dce733d7457ab6a Mon Sep 17 00:00:00 2001 From: Marcel Haerry Date: Mon, 19 May 2008 18:46:07 +0200 Subject: added require option for plugins --- manifests/plugin.pp | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index d24b580..1745b40 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -50,6 +50,12 @@ define munin::plugin ( require => Package['munin-node'], notify => Service['munin-node']; } + + if $require { + File[$plugin]{ + require +> $require, + } + } } } case $config { @@ -69,6 +75,11 @@ define munin::plugin ( content => "[${name}]\n$config\n", mode => 0644, owner => root, group => 0, } + if $require { + File[$plugin_conf]{ + require +> $require, + } + } } } } @@ -107,11 +118,19 @@ define munin::plugin::deploy ($source = '', $ensure = 'present', $config = '') { file { "munin_plugin_${name}": path => "$munin::plugin::scriptpaths::script_path/${name}", source => "puppet://$server/$real_source", - ensure => file, + require => Package['munin-node'], mode => 0755, owner => root, group => 0; } + if $require { + File["munin_plugin_${name}"]{ + require +> $require, + } + munin::plugin{$name: ensure => $ensure, config => $config, require => $require } + } else { + munin::plugin{$name: ensure => $ensure, config => $config } + } - munin::plugin{$name: ensure => $ensure, config => $config } + } ### clases for plugins -- cgit v1.2.3 From e9910cf5749f5c3f96199cd2a91c269dbbaa5ef3 Mon Sep 17 00:00:00 2001 From: Marcel Haerry Date: Mon, 19 May 2008 18:50:29 +0200 Subject: removed unneeded file --- files/.git_placeholder | 1 - 1 file changed, 1 deletion(-) delete mode 100644 files/.git_placeholder diff --git a/files/.git_placeholder b/files/.git_placeholder deleted file mode 100644 index 89cb1fe..0000000 --- a/files/.git_placeholder +++ /dev/null @@ -1 +0,0 @@ -# file needed for git - don't remove it -- cgit v1.2.3 From 5d77d0429ccfb352c38ef8fee55b1a6658dab484 Mon Sep 17 00:00:00 2001 From: Marcel Haerry Date: Tue, 20 May 2008 12:22:53 +0200 Subject: fixed require order --- manifests/plugin.pp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index af2c9e0..22a8a7f 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -45,17 +45,17 @@ define munin::plugin ( } default: { debug ( "munin_plugin: making $plugin using src: $plugin_src" ) + if $require { + $real_require = [ $require, Package['munin-node'] ] + } else { + $real_require = Package['munin-node'] + } file { $plugin: ensure => "${real_script_path}/${plugin_src}", - require => Package['munin-node'], + require => $require, notify => Service['munin-node']; } - if $require { - File[$plugin]{ - require +> $require, - } - } } } case $config { -- cgit v1.2.3 From 5547be2954d17040727d048d16fb245965ebe144 Mon Sep 17 00:00:00 2001 From: Marcel Haerry Date: Tue, 20 May 2008 12:29:07 +0200 Subject: adjusted require --- manifests/plugin.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/plugin.pp b/manifests/plugin.pp index 22a8a7f..76d12a0 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -52,7 +52,7 @@ define munin::plugin ( } file { $plugin: ensure => "${real_script_path}/${plugin_src}", - require => $require, + require => $real_require, notify => Service['munin-node']; } -- cgit v1.2.3 From 013317ba7744477be001bb3850f69ec37cc1540b Mon Sep 17 00:00:00 2001 From: Marcel Haerry Date: Mon, 26 May 2008 11:21:28 +0200 Subject: made munin_allow a lot more scalable --- README | 4 ++++ manifests/client.pp | 4 ++++ templates/munin-node.conf.Debian.etch | 6 ++++-- templates/munin-node.conf.default | 7 +++---- 4 files changed, 15 insertions(+), 6 deletions(-) diff --git a/README b/README index 762a802..4f0e2db 100644 --- a/README +++ b/README @@ -45,6 +45,10 @@ To use this module, follow these directions: connect to your individual munin-nodes (this is typically your main munin host's IP): $munin_allow = '192.168.0.1' + + If you want to define more than one host, you can seperate them by colon: + + $munin_allow = '127.0.0.1:192.168.0.1' e. In the node definition in your site.pp for your main munin host, add the following: diff --git a/manifests/client.pp b/manifests/client.pp index bee3609..59b6980 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -60,6 +60,10 @@ class munin::client::base { ensure => directory, mode => 0755, owner => root, group => 0; } + $real_munin_allow = $munin_allow ? { + '' => '127.0.0.1', + default => $munin_allow + } file {"/etc/munin/munin-node.conf": content => template("munin/munin-node.conf.$operatingsystem"), mode => 0644, owner => root, group => 0, diff --git a/templates/munin-node.conf.Debian.etch b/templates/munin-node.conf.Debian.etch index 0f0f568..56da89d 100644 --- a/templates/munin-node.conf.Debian.etch +++ b/templates/munin-node.conf.Debian.etch @@ -33,5 +33,7 @@ host_name <%= fqdn %> # regular expression, due to brain damage in Net::Server, which # doesn't understand CIDR-style network notation. You may repeat # the allow line as many times as you'd like -allow <%= munin_allow1 %> -allow <%= munin_allow2 %> +<% real_munin_allow.split(':').each do |val| -%> +allow <%= '^'+val.gsub(/\./, '\.')+'$' %> +<% end -%> + diff --git a/templates/munin-node.conf.default b/templates/munin-node.conf.default index f10349e..5eed749 100644 --- a/templates/munin-node.conf.default +++ b/templates/munin-node.conf.default @@ -33,7 +33,6 @@ host_name <%= fqdn %> # regular expression, due to brain damage in Net::Server, which # doesn't understand CIDR-style network notation. You may repeat # the allow line as many times as you'd like -allow ^127\.0\.0\.1$ -allow <%= munin_allow1 %> -allow <%= munin_allow2 %> - +<% real_munin_allow.split(':').each do |val| -%> +allow <%= '^'+val.gsub(/\./, '\.')+'$' %> +<% end -%> -- cgit v1.2.3 From 07a5491ba8f4fb8cbf556eebf562da918548bda0 Mon Sep 17 00:00:00 2001 From: Simon Josi Date: Thu, 29 May 2008 18:39:42 +0200 Subject: added puzzle copyright notice --- manifests/init.pp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index 6b6cd08..b0c2ba1 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -1,9 +1,19 @@ +# +# munin module # munin.pp - everything a sitewide munin installation needs # Copyright (C) 2007 David Schmitt -# See LICENSE for the full license granted to you. -# adapted by Puzzle ITC - haerry+puppet(at)puzzle.ch +# +# Copyright 2008, Puzzle ITC GmbH +# Marcel Härry haerry+puppet(at)puzzle.ch +# Simon Josi josi+puppet(at)puzzle.ch +# +# This program is free software; you can redistribute +# it and/or modify it under the terms of the GNU +# General Public License version 3 as published by +# the Free Software Foundation. # -# the port is a parameter so vservers can share IP addresses and still be happy +# the port is a parameter so vservers can share +# IP addresses and still be happy # Define where the individual nodes' configs are stored $NODESDIR="/var/lib/puppet/modules/munin/nodes" -- cgit v1.2.3