diff options
42 files changed, 444 insertions, 407 deletions
diff --git a/files/config/host/munin.conf.header.CentOS b/files/config/host/munin.conf.header.CentOS index dcadd6b..413cd84 100644 --- a/files/config/host/munin.conf.header.CentOS +++ b/files/config/host/munin.conf.header.CentOS @@ -1,21 +1,51 @@ # Example configuration file for Munin, generated by 'make build' # The next three variables specifies where the location of the RRD -# databases, the HTML output, and the logs, severally. They all -# must be writable by the user running munin-cron. -dbdir /var/lib/munin -htmldir /var/www/html/munin/ -logdir /var/log/munin -rundir /var/run/munin +# databases, the HTML output, logs and the lock/pid files. They all +# must be writable by the user running munin-cron. They are all +# defaulted to the values you see here. +# +# dbdir /var/lib/munin +# htmldir /var/www/html/munin +# logdir /var/log/munin +# rundir /var/run/munin +# +# tmpldir /etc/munin/templates -# Where to look for the HTML templates -tmpldir /etc/munin/templates +# (Exactly one) directory to include all files from. +# +# includedir /etc/munin/munin-conf.d # Make graphs show values per minute instead of per second #graph_period minute +# Graphics files are normaly generated by munin-graph, no matter if +# the graphs are used or not. You can change this to +# on-demand-graphing by following the instructions in +# http://munin.projects.linpro.no/wiki/CgiHowto +# graph_strategy cgi +# munin-cgi-graph is invoked by the web server up to very many times at the +# same time. This is not optimal since it results in high CPU and memory +# consumption to the degree that the system can thrash. Again the default is +# 6. Most likely the optimal number for max_cgi_graph_jobs is the same as +# max_graph_jobs. +# +#munin_cgi_graph_jobs 6 + +# If the automatic CGI url is wrong for your system override it here: +# +#cgiurl_graph /cgi-bin/munin-cgi-graph + +# munin-graph runs in parallel, the number of concurrent processes is +# 6. If you want munin-graph to not be parallel set to 0. If set too +# high it will slow down munin-graph. Some experiments are needed to +# determine how many are optimal on your system. On a multi-core +# system with good SCSI disks the number can probably be quite high. +# +#max_graph_jobs 6 + # Drop somejuser@fnord.comm and anotheruser@blibb.comm an email everytime # something changes (OK -> WARNING, CRITICAL -> OK, etc) #contact.someuser.command mail -s "Munin notification" somejuser@fnord.comm diff --git a/files/config/host/munin.conf.header.Debian b/files/config/host/munin.conf.header.Debian new file mode 100644 index 0000000..082f01f --- /dev/null +++ b/files/config/host/munin.conf.header.Debian @@ -0,0 +1,75 @@ +# Example configuration file for Munin, generated by 'make build' + +# The next three variables specifies where the location of the RRD +# databases, the HTML output, and the logs, severally. They all +# must be writable by the user running munin-cron. +dbdir /var/lib/munin +htmldir /var/www/munin +logdir /var/log/munin +rundir /var/run/munin + +# Where to look for the HTML templates +tmpldir /etc/munin/templates + +# Make graphs show values per minute instead of per second +#graph_period minute + +# Drop somejuser@fnord.comm and anotheruser@blibb.comm an email everytime +# something changes (OK -> WARNING, CRITICAL -> OK, etc) +#contact.someuser.command mail -s "Munin notification" somejuser@fnord.comm +#contact.anotheruser.command mail -s "Munin notification" anotheruser@blibb.comm +# +# For those with Nagios, the following might come in handy. In addition, +# the services must be defined in the Nagios server as well. +#contact.nagios.command /usr/sbin/send_nsca -H nagios.host.com -c /etc/send_nsca.cfg + +#contacts me +#contact.me.command mail -s "Munin notification ${var:group} :: ${var:host} :: ${var:graph_title}" root +#contact.me.always_send warning critical + +# a simple host tree +#[localhost] +# address 127.0.0.1 +# use_node_name yes + +# +# A more complex example of a host tree +# +## First our "normal" host. +# [fii.foo.com] +# address foo +# +## Then our other host... +# [fay.foo.com] +# address fay +# +## Then we want totals... +# [foo.com;Totals] #Force it into the "foo.com"-domain... +# update no # Turn off data-fetching for this "host". +# +# # The graph "load1". We want to see the loads of both machines... +# # "fii=fii.foo.com:load.load" means "label=machine:graph.field" +# load1.graph_title Loads side by side +# load1.graph_order fii=fii.foo.com:load.load fay=fay.foo.com:load.load +# +# # The graph "load2". Now we want them stacked on top of each other. +# load2.graph_title Loads on top of each other +# load2.dummy_field.stack fii=fii.foo.com:load.load fay=fay.foo.com:load.load +# load2.dummy_field.draw AREA # We want area instead the default LINE2. +# load2.dummy_field.label dummy # This is needed. Silly, really. +# +# # The graph "load3". Now we want them summarised into one field +# load3.graph_title Loads summarised +# load3.combined_loads.sum fii.foo.com:load.load fay.foo.com:load.load +# load3.combined_loads.label Combined loads # Must be set, as this is +# # not a dummy field! +# +## ...and on a side note, I want them listen in another order (default is +## alphabetically) +# +# # Since [foo.com] would be interpreted as a host in the domain "com", we +# # specify that this is a domain by adding a semicolon. +# [foo.com;] +# node_order Totals fii.foo.com fay.foo.com +# + diff --git a/files/plugins/nagios_hosts b/files/plugins/nagios_hosts deleted file mode 100755 index 04fe8ed..0000000 --- a/files/plugins/nagios_hosts +++ /dev/null @@ -1,28 +0,0 @@ -#!/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_ deleted file mode 100755 index f819def..0000000 --- a/files/plugins/nagios_perf_ +++ /dev/null @@ -1,35 +0,0 @@ -#!/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 deleted file mode 100755 index 3938999..0000000 --- a/files/plugins/nagios_svc +++ /dev/null @@ -1,33 +0,0 @@ -#!/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 b/files/plugins/xen index 575cd3b..a9f1a1e 100755 --- a/files/plugins/xen +++ b/files/plugins/xen @@ -8,8 +8,6 @@ # autoconf (optinal - used by munin-config) # -MAXDOMAINS=16 - if [ "$1" = "autoconf" ]; then if which xm > /dev/null ; then echo yes @@ -19,6 +17,11 @@ if [ "$1" = "autoconf" ]; then exit 1 fi +# we cache xm list for 5 min for perfomance reasons +((find /var/lib/munin/plugin-state/xm_list.state -mmin -5 2>&1 | grep -qE '^\/var\/lib\/munin\/plugin-state\/xm_list\.state$') && \ + [ `cat /var/lib/munin/plugin-state/xm_list.state | wc -l` -gt 1 ]) || \ + /usr/sbin/xm list | grep -v "^Name .* Console$" > /var/lib/munin/plugin-state/xm_list.state + if [ "$1" = "config" ]; then echo 'graph_title Xen Domain Utilerisation' @@ -27,7 +30,7 @@ if [ "$1" = "config" ]; then 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$" | \ + cat /var/lib/munin/plugin-state/xm_list.state | \ while read name domid mem cpu state time console; do name=`echo $name | sed -e"s/-/_/"` echo "$name.label $name" @@ -43,7 +46,7 @@ if [ "$1" = "config" ]; then exit 0 fi -/usr/sbin/xm list | grep -v "^Name" | grep -v "^Name .* Console$" | \ +cat /var/lib/munin/plugin-state/xm_list.state | \ while read name domid mem cpu state time console; do name=`echo $name | sed -e"s/-/_/"` time=`echo $time | sed -e "s/\.//"` diff --git a/files/plugins/xen-cpu b/files/plugins/xen-cpu index 0ef301e..b456a14 100755 --- a/files/plugins/xen-cpu +++ b/files/plugins/xen-cpu @@ -28,6 +28,10 @@ use strict; $ENV{PATH} = '/bin:/usr/bin:/usr/sbin'; +# we cache xm list for 5 min for perfomance reasons +system('((find /var/lib/munin/plugin-state/xm_list.state -mmin -5 2>&1 | grep -qE \'^\/var\/lib\/munin\/plugin-state\/xm_list\.state$\') && [ `cat /var/lib/munin/plugin-state/xm_list.state | wc -l` -gt 1 ]) || /usr/sbin/xm list | grep -v "^Name .* Console$" > /var/lib/munin/plugin-state/xm_list.state'); +system('((find /var/lib/munin/plugin-state/xm_top.state -mmin -5 2>&1 | grep -qE \'^\/var\/lib\/munin\/plugin-state\/xm_top\.state$\') && [ `cat /var/lib/munin/plugin-state/xm_top.state | wc -l` -gt 1 ]) || /usr/sbin/xentop -b -i1 > /var/lib/munin/plugin-state/xm_top.state'); + my $arg; undef($arg); if (defined($ARGV[0])) { $arg = 'config' if ($ARGV[0] eq 'config'); @@ -53,8 +57,9 @@ if (defined($ARGV[0])) { 'graph_info' => 'Display the % of CPU Usage for each domain', ); - my @domains = `$XM list`; - shift(@domains); # we dont need the header line + my @domains = `cat /var/lib/munin/plugin-state/xm_list.state`; + # the header line is not in the cached file + #shift(@domains); # we dont need the header line my $cnt = "0"; foreach my $domain ( @domains ) { my ($dom,undef) = split(/\s/, $domain, 2); @@ -81,16 +86,7 @@ if (defined($ARGV[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)); +my @stats = `cat /var/lib/munin/plugin-state/xm_top.state`; # remove the first 4 items that are junk that we don't need. shift(@stats); diff --git a/files/plugins/xen_mem b/files/plugins/xen_mem index 5e985a5..16d91cf 100644 --- a/files/plugins/xen_mem +++ b/files/plugins/xen_mem @@ -43,7 +43,10 @@ #%# family=auto #%# capabilities=autoconf -XM="/usr/sbin/xm" +# we cache xm list for 5 min for perfomance reasons +((find /var/lib/munin/plugin-state/xm_list.state -mmin -5 2>&1 | grep -qE '^\/var\/lib\/munin\/plugin-state\/xm_list\.state$') && \ + [ `cat /var/lib/munin/plugin-state/xm_list.state | wc -l` -gt 1 ]) || \ + /usr/sbin/xm list | grep -v "^Name .* Console$" > /var/lib/munin/plugin-state/xm_list.state if [ "$1" = "autoconf" ]; then echo yes @@ -60,7 +63,7 @@ if [ "$1" = "config" ]; then echo 'graph_info This graph shows affected memory for each domain.' echo 'Domain_0.label Domain-0' echo 'Domain_0.draw AREA' -$XM list | grep -v 'Mem' | grep -v 'Domain-0' | while read i; do +cat /var/lib/munin/plugin-state/xm_list.state | grep -v 'Mem' | grep -v 'Domain-0' | while read i; do name=`echo $i | awk '{ print $1 }' | sed 's/[\/.-]/_/g'` echo -n "$name.label " echo $i | awk '{ print $1 }' @@ -70,7 +73,7 @@ done exit 0 fi -$XM list | grep -v 'Mem' | while read i; do +cat /var/lib/munin/plugin-state/xm_list.state | grep -v 'Mem' | while read i; do name=`echo $i | awk '{ print $1 }' | sed 's/[\/.-]/_/g'` echo -n "$name.value " echo $i | awk '{ print $3 * 1024 * 1024 }' diff --git a/files/plugins/xen_traffic_all b/files/plugins/xen_traffic_all index 76d4ded..c5bbfbb 100644 --- a/files/plugins/xen_traffic_all +++ b/files/plugins/xen_traffic_all @@ -11,6 +11,11 @@ #%# family=auto #%# capabilities=autoconf +# we cache xm list for 5 min for perfomance reasons +((find /var/lib/munin/plugin-state/xm_list.state -mmin -5 2>&1 | grep -qE '^\/var\/lib\/munin\/plugin-state\/xm_list\.state$') && \ + [ `cat /var/lib/munin/plugin-state/xm_list.state | wc -l` -gt 1 ]) || \ + /usr/sbin/xm list | grep -v "^Name .* Console$" > /var/lib/munin/plugin-state/xm_list.state + if [ "$1" = "autoconf" ]; then if which xm > /dev/null ; then echo yes @@ -32,34 +37,42 @@ if [ "$1" = "config" ]; then 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)") + DOMAINS=$(cat /var/lib/munin/plugin-state/xm_list.state | awk '{print $1}' | egrep -v "^(Name|Domain-0)") for dom in $DOMAINS; do - devs=$( xm network-list $dom |\ - egrep "^[0-9]+" | sed 's@^.*vif/\([0-9]*\)/\([0-9]*\).*$@vif\1.\2@') - real_name=$( echo $dom | sed -e's/-/_/g' ) - name=$real_name - for dev in $devs; do - if [ ${#devs} -gt 1 ]; then - name=$real_name"_"`echo $dev | sed 's/\./\_/'` - fi + # we update network devices only twice an hour + ((find /var/lib/munin/plugin-state/xm_net_$dom.state -mmin -30 > /dev/null 2>&1) && \ + [ `cat /var/lib/munin/plugin-state/xm_net_$dom.state | wc -l` -gt 0 ]) || \ + (/usr/sbin/xm network-list $dom |\ + egrep "^[0-9]+" | sed 's@^.*vif/\([0-9]*\)/\([0-9]*\).*$@vif\1.\2@' > /var/lib/munin/plugin-state/xm_net_$dom.state) + devs=$(cat /var/lib/munin/plugin-state/xm_net_$dom.state) + real_name=$( echo $dom | sed -e's/-/_/g' ) + name=$real_name + for dev in $devs; do + if [ ${#devs} -gt 1 ]; then + name=$real_name"_"`echo $dev | sed 's/\./\_/'` + fi - 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 + 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 done exit 0 fi -DOMAINS=$(xm list | awk '{print $1}' | egrep -v "^(Name|Domain-0)") +DOMAINS=$(cat /var/lib/munin/plugin-state/xm_list.state | awk '{print $1}' | egrep -v "^(Name|Domain-0)") for dom in $DOMAINS; do - devs=$( xm network-list $dom |\ - egrep "^[0-9]+" | sed 's@^.*vif/\([0-9]*\)/\([0-9]*\).*$@vif\1.\2@') + # we update network devices only twice an hour + ((find /var/lib/munin/plugin-state/xm_net_$dom.state -mmin -30 > /dev/null 2>&1) && \ + [ `cat /var/lib/munin/plugin-state/xm_net_$dom.state | wc -l` -gt 0 ]) || \ + (/usr/sbin/xm network-list $dom |\ + egrep "^[0-9]+" | sed 's@^.*vif/\([0-9]*\)/\([0-9]*\).*$@vif\1.\2@' > /var/lib/munin/plugin-state/xm_net_$dom.state) + devs=$(cat /var/lib/munin/plugin-state/xm_net_$dom.state) real_name=$( echo $dom | sed -e's/-/_/g' ) name=$real_name for dev in $devs; do diff --git a/files/plugins/xen_vbd b/files/plugins/xen_vbd index 238bf08..4eca5a6 100755 --- a/files/plugins/xen_vbd +++ b/files/plugins/xen_vbd @@ -16,6 +16,10 @@ $XM = '/usr/sbin/xm'; $XMTOP = '/usr/sbin/xentop'; +# we cache xm list for 5 min for perfomance reasons +system('((find /var/lib/munin/plugin-state/xm_list.state -mmin -5 2>&1 | grep -qE \'^\/var\/lib\/munin\/plugin-state\/xm_list\.state$\') && [ `cat /var/lib/munin/plugin-state/xm_list.state | wc -l` -gt 1 ]) || /usr/sbin/xm list | grep -v "^Name .* Console$" > /var/lib/munin/plugin-state/xm_list.state'); +system('((find /var/lib/munin/plugin-state/xm_top.state -mmin -5 2>&1 | grep -qE \'^\/var\/lib\/munin\/plugin-state\/xm_top\.state$\') && [ `cat /var/lib/munin/plugin-state/xm_top.state | wc -l` -gt 1 ]) || /usr/sbin/xentop -b -i1 > /var/lib/munin/plugin-state/xm_top.state'); + # ah, parameters coming in if ( defined($ARGV[0])) { @@ -46,7 +50,7 @@ if ( defined($ARGV[0])) 'graph_info' => 'Display the I/O operations for each domain', ); - @domains = `$XM list`; + @domains = `cat /var/lib/munin/plugin-state/xm_list.state`; shift(@domains); # we don't need the header line foreach $domain ( @domains ) @@ -82,16 +86,24 @@ if ( defined($ARGV[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(<I>){ - chomp; - s/^\s*//g; - @tmp=split(/\s+/, $_); - next if $tmp[0] eq "NAME"; +my @stats = `cat /var/lib/munin/plugin-state/xm_top.state`; + +# 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 @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 + $tmp[0] =~ s/[-.]/_/g; $domname = $tmp[0]; $domname =~ s/[-.]/_/g; diff --git a/files/plugins/xen_vm b/files/plugins/xen_vm index a0dc0b7..a69b5fe 100644 --- a/files/plugins/xen_vm +++ b/files/plugins/xen_vm @@ -45,6 +45,11 @@ XM="/usr/sbin/xm" +# we cache xm list for 5 min for perfomance reasons +((find /var/lib/munin/plugin-state/xm_list.state -mmin -5 2>&1 | grep -qE '^\/var\/lib\/munin\/plugin-state\/xm_list\.state$') && \ + [ `cat /var/lib/munin/plugin-state/xm_list.state | wc -l` -gt 1 ]) || \ + /usr/sbin/xm list | grep -v "^Name .* Console$" > /var/lib/munin/plugin-state/xm_list.state + if [ "$1" = "autoconf" ]; then echo yes exit 0 @@ -61,7 +66,7 @@ if [ "$1" = "config" ]; then exit 0 fi -domains=`$XM list | wc -l` +domains=`cat /var/lib/munin/plugin-state/xm_list.state | wc -l` echo -n "domains.value " echo $(($domains-2)) diff --git a/manifests/client.pp b/manifests/client.pp index d033c28..273070d 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -3,14 +3,14 @@ # See LICENSE for the full license granted to you. # Adapted and improved by admin(at)immerda.ch -class munin::client { +class munin::client inherits munin { - $munin_port_real = $munin_port ? { '' => 4949, default => $munin_port } - $munin_host_real = $munin_host ? { - '' => '*', - 'fqdn' => '*', - default => $munin_host - } + $munin_port_real = $munin_port ? { '' => 4949, default => $munin_port } + $munin_host_real = $munin_host ? { + '' => '*', + 'fqdn' => '*', + default => $munin_host + } case $operatingsystem { openbsd: { include munin::client::openbsd } diff --git a/manifests/client/base.pp b/manifests/client/base.pp index 1f72e7e..17387e8 100644 --- a/manifests/client/base.pp +++ b/manifests/client/base.pp @@ -1,11 +1,11 @@ class munin::client::base { service { 'munin-node': - ensure => running, + ensure => running, enable => true, hasstatus => true, hasrestart => true, } - file {'/etc/munin/': + file {'/etc/munin': ensure => directory, mode => 0755, owner => root, group => 0; } @@ -14,10 +14,12 @@ class munin::client::base { default => $munin_allow } file {'/etc/munin/munin-node.conf': - content => template("munin/munin-node.conf.$operatingsystem"), + content => template("munin/munin-node.conf.$operatingsystem"), notify => Service['munin-node'], - mode => 0644, owner => root, group => 0, - } - munin::register { $fqdn: } - include munin::plugins::base + mode => 0644, owner => root, group => 0, + } + munin::register { $fqdn: + config => [ 'use_node_name yes', 'load.load.warning 5', 'load.load.critical 10'], + } + include munin::plugins::base } diff --git a/manifests/client/centos.pp b/manifests/client/centos.pp index 46a7e3f..42e8c59 100644 --- a/manifests/client/centos.pp +++ b/manifests/client/centos.pp @@ -1,3 +1,3 @@ class munin::client::centos inherits munin::client::package { - include munin::plugins::centos + include munin::plugins::centos } diff --git a/manifests/client/debian.pp b/manifests/client/debian.pp index a6d677e..97f5fbf 100644 --- a/manifests/client/debian.pp +++ b/manifests/client/debian.pp @@ -1,15 +1,15 @@ class munin::client::debian inherits munin::client::package { # the plugin will need that - package { "iproute": ensure => installed } + package { "iproute": ensure => installed } - Service["munin-node"]{ - # sarge's munin-node init script has no status - hasstatus => $lsbdistcodename ? { sarge => false, default => true } - } + Service["munin-node"]{ + # 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.$lsbdistcodename"), + content => template("munin/munin-node.conf.$operatingsystem.$lsbdistcodename"), } - # workaround bug in munin_node_configure - plugin { "postfix_mailvolume": ensure => absent } - include munin::plugins::debian + # workaround bug in munin_node_configure + plugin { "postfix_mailvolume": ensure => absent } + include munin::plugins::debian } diff --git a/manifests/client/gentoo.pp b/manifests/client/gentoo.pp index 53d472b..c24d317 100644 --- a/manifests/client/gentoo.pp +++ b/manifests/client/gentoo.pp @@ -3,6 +3,6 @@ class munin::client::gentoo inherits munin::client::package { name => 'munin', category => 'net-analyzer', } - - include munin::plugins::gentoo + + include munin::plugins::gentoo } diff --git a/manifests/client/openbsd.pp b/manifests/client/openbsd.pp index 4c2807c..7012c00 100644 --- a/manifests/client/openbsd.pp +++ b/manifests/client/openbsd.pp @@ -1,39 +1,55 @@ # currently we install munin on openbsd by targz # :( class munin::client::openbsd inherits munin::client::base { - file{'/usr/src/munin_openbsd.tar.gz': + if $operatingsystemrelease == '4.3' { + file{'/usr/src/munin_openbsd.tar.gz': source => "puppet:///modules/munin/openbsd/package/munin_openbsd.tar.gz", owner => root, group => 0, mode => 0600; - } - package{ [ 'p5-Compress-Zlib', 'p5-Crypt-SSLeay', 'p5-HTML-Parser', - 'p5-HTML-Tagset', 'p5-HTTP-GHTTP', 'p5-LWP-UserAgent-Determined', - 'p5-Net-SSLeay', 'p5-Net-Server', 'p5-URI', 'p5-libwww', 'pcre', 'curl' ]: - ensure => installed, - before => File['/var/run/munin'], - } - exec{'extract_openbsd': + } + exec{'extract_openbsd': command => 'cd /;tar xzf /usr/src/munin_openbsd.tar.gz', unless => 'test -d /opt/munin', require => File['/usr/src/munin_openbsd.tar.gz'], + before => File['/var/run/munin'], + } + package{'p5-Compress-Zlib': + ensure => installed, + before => File['/var/run/munin'], + } + } else { + package{'munin-node': + ensure => installed, + } + } + package{ [ 'p5-Crypt-SSLeay', 'p5-HTML-Parser', 'p5-HTML-Tagset', 'p5-HTTP-GHTTP', + 'p5-LWP-UserAgent-Determined', 'p5-Net-SSLeay', 'p5-Net-Server', + 'p5-URI', 'p5-libwww', 'pcre', 'curl' ]: + ensure => installed, + before => File['/var/run/munin'], } file{[ '/var/run/munin', '/var/log/munin' ]: - ensure => directory, - require => Exec['extract_openbsd'], - owner => root, group => 0, mode => 0755; + ensure => directory, + owner => root, group => 0, mode => 0755; } openbsd::rc_local{'munin-node': - binary => '/opt/munin/sbin/munin-node', + binary => $operatingsystemrelease ? { + '4.3' => '/opt/munin/sbin/munin-node', + default => '/usr/local/sbin/munin-node' + }, require => File['/var/run/munin'], } Service['munin-node']{ restart => '/bin/kill -HUP `/bin/cat /var/run/munin/munin-node.pid`', stop => '/bin/kill `/bin/cat /var/run/munin/munin-node.pid`', - start => '/opt/munin/sbin/munin-node', - hasstatus => false, - hasrestart => false, + start => $operatingsystemrelease ? { + '4.3' => '/opt/munin/sbin/munin-node', + default => '/usr/local/sbin/munin-node' + }, + status => 'test -e /var/run/munin/munin-node.pid && (ps ax | egrep -q "^$(cat /var/run/munin/munin-node.pid).*munin-node")', + hasstatus => true, + hasrestart => true, require => [ File['/var/run/munin'], File['/var/log/munin'] ], } - cron{'clean_munin_logfile': command => 'rm /var/log/munin/munin-node.log; kill -HUP `cat /var/run/munin/munin-node.pid`', minute => 0, diff --git a/manifests/client/package.pp b/manifests/client/package.pp index 84fcf5c..18566b8 100644 --- a/manifests/client/package.pp +++ b/manifests/client/package.pp @@ -1,11 +1,11 @@ class munin::client::package inherits munin::client::base { - package { 'munin-node': ensure => installed } + package { 'munin-node': ensure => installed } Service['munin-node']{ require => Package[munin-node], } File['/etc/munin/munin-node.conf']{ - # this has to be installed before the package, so the postinst can - # boot the munin-node without failure! - before => 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'], } } diff --git a/manifests/host.pp b/manifests/host.pp index 734eea6..3e4f5ea 100644 --- a/manifests/host.pp +++ b/manifests/host.pp @@ -2,11 +2,11 @@ # Copyright (C) 2007 David Schmitt <david@schmitt.edv-bus.at> # See LICENSE for the full license granted to you. -class munin::host +class munin::host inherits munin { - package {"munin": ensure => installed, } + package {"munin": ensure => installed, } - File <<| tag == 'munin' |>> + File <<| tag == 'munin' |>> file{'/etc/munin/munin.conf.header': source => [ "puppet:///modules/site-munin/config/host/${fqdn}/munin.conf.header", @@ -18,21 +18,15 @@ class munin::host owner => root, group => 0, mode => 0644; } - concatenated_file { "/etc/munin/munin.conf": - dir => '/var/lib/puppet/modules/munin/nodes', - 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; + concatenated_file { "/etc/munin/munin.conf": + dir => '/var/lib/puppet/modules/munin/nodes', + header => "/etc/munin/munin.conf.header", } include munin::plugins::muninhost - case $operatingsystem { - centos: { include munin::host::cgi } + if $munin_do_cgi_graphing { + include munin::host::cgi } # from time to time we cleanup hanging munin-runs diff --git a/manifests/init.pp b/manifests/init.pp index e5a92af..bae83a4 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -2,21 +2,20 @@ # munin module # munin.pp - everything a sitewide munin installation needs # Copyright (C) 2007 David Schmitt <david@schmitt.edv-bus.at> -# +# # 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 +# 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 +# the port is a parameter so vservers can share # IP addresses and still be happy -modules_dir { [ "munin", "munin/nodes", "munin/plugins" ]: } - -case $operatingsystem { - debian,ubuntu: { include assert_lsbdistcodename } +class munin { + include common::moduledir + module_dir { [ "munin", "munin/nodes", "munin/plugins" ]: } } diff --git a/manifests/plugin.pp b/manifests/plugin.pp index e688a39..69b7322 100644 --- a/manifests/plugin.pp +++ b/manifests/plugin.pp @@ -14,11 +14,13 @@ define munin::plugin ( $plugin_src = $ensure ? { "present" => $name, default => $ensure } $plugin = "/etc/munin/plugins/$name" $plugin_conf = "/etc/munin/plugin-conf.d/$name.conf" + + include munin::plugins::setup case $ensure { - "absent": { - file { $plugin: ensure => absent, } - } - default: { + "absent": { + file { $plugin: ensure => absent, } + } + default: { case $kernel { openbsd: { $basic_require = File['/var/run/munin'] } default: { $basic_require = Package['munin-node'] } @@ -28,35 +30,35 @@ define munin::plugin ( } else { $real_require = $basic_require } - file { $plugin: - ensure => "${real_script_path}/${plugin_src}", - require => $real_require, - notify => Service['munin-node']; - } + file { $plugin: + ensure => "${real_script_path}/${plugin_src}", + require => $real_require, + notify => Service['munin-node']; + } - } + } } case $config { - '': { - file { $plugin_conf: ensure => absent } - } - default: { - case $ensure { - absent: { - file { $plugin_conf: ensure => absent } - } - default: { - file { $plugin_conf: - content => "[${name}]\n$config\n", - mode => 0644, owner => root, group => 0, - } + '': { + file { $plugin_conf: ensure => absent } + } + default: { + case $ensure { + absent: { + file { $plugin_conf: ensure => absent } + } + default: { + file { $plugin_conf: + content => "[${name}]\n$config\n", + mode => 0644, owner => root, group => 0, + } if $require { File[$plugin_conf]{ require +> $require, } } - } - } - } + } + } + } } } diff --git a/manifests/plugin/scriptpaths.pp b/manifests/plugin/scriptpaths.pp index ebaa6fa..164a17e 100644 --- a/manifests/plugin/scriptpaths.pp +++ b/manifests/plugin/scriptpaths.pp @@ -1,9 +1,12 @@ class munin::plugin::scriptpaths { case $operatingsystem { - gentoo: { $script_path = "/usr/libexec/munin/plugins" } - debian: { $script_path = "/usr/share/munin/plugins" } - centos: { $script_path = "/usr/share/munin/plugins" } - openbsd: { $script_path = "/opt/munin/lib/plugins/" } - default: { $script_path = "/usr/share/munin/plugins" } + gentoo: { $script_path = "/usr/libexec/munin/plugins" } + debian: { $script_path = "/usr/share/munin/plugins" } + centos: { $script_path = "/usr/share/munin/plugins" } + openbsd: { $script_path = $operatingsystemrelease ? { + '4.3' => '/opt/munin/lib/plugins/', + default => '/usr/local/libexec/munin/plugins/' + } } + default: { $script_path = "/usr/share/munin/plugins" } } } diff --git a/manifests/plugins/apache.pp b/manifests/plugins/apache.pp index ee90de8..dca3cea 100644 --- a/manifests/plugins/apache.pp +++ b/manifests/plugins/apache.pp @@ -1,6 +1,4 @@ -class munin::plugins::apache inherits munin::plugins::base { - munin::plugin{ "apache_accesses": } - munin::plugin{ "apache_processes": } - munin::plugin{ "apache_volume": } - munin::plugin::deploy { "apache_activity": } +class munin::plugins::apache { + munin::plugin{ [ 'apache_accesses', 'apache_processes', 'apache_volume' ]: } + munin::plugin::deploy { 'apache_activity': } } diff --git a/manifests/plugins/base.pp b/manifests/plugins/base.pp index 80a957e..007579c 100644 --- a/manifests/plugins/base.pp +++ b/manifests/plugins/base.pp @@ -1,50 +1,24 @@ class munin::plugins::base { - file { - [ '/etc/munin/plugins', '/etc/munin/plugin-conf.d' ]: - source => "puppet:///modules/common/empty", - ignore => [ '\.ignore', 'snmp_*' ], - ensure => directory, checksum => mtime, - recurse => true, purge => true, force => true, - mode => 0755, owner => root, group => 0, - notify => Service['munin-node']; - '/etc/munin/plugin-conf.d/munin-node': + # setup basic plugins + munin::plugin { + [ df, cpu, interrupts, load, memory, netstat, open_files, + processes, swap, uptime, users, vmstat ]: ensure => present, - mode => 0644, owner => root, group => 0, - notify => Service['munin-node'], - } - - munin::plugin { - [ df, cpu, interrupts, load, memory, netstat, open_files, - processes, swap, uptime, users, vmstat - ]: - ensure => present, - } - include munin::plugins::interfaces + } + include munin::plugins::interfaces - case $kernel { - openbsd: { - File['/etc/munin/plugin-conf.d/munin-node']{ - before => File['/var/run/munin'], - } - } - default: { - File['/etc/munin/plugin-conf.d/munin-node']{ - before => Package['munin-node'], - } - } - } - case $kernel { - linux: { - case $vserver { - guest: { include munin::plugins::vserver } - default: { - include munin::plugins::linux - } - } - } - } - case $virtual { - physical: { include munin::plugins::physical } - xen0: { include munin::plugins::dom0 } + case $kernel { + openbsd: { include munin::plugins::openbsd } + linux: { + case $vserver { + guest: { include munin::plugins::vserver } + default: { include munin::plugins::linux } + } } + } + + case $virtual { + physical: { include munin::plugins::physical } + xen0: { include munin::plugins::dom0 } + } } diff --git a/manifests/plugins/debian.pp b/manifests/plugins/debian.pp index f239989..f756150 100644 --- a/manifests/plugins/debian.pp +++ b/manifests/plugins/debian.pp @@ -1,4 +1 @@ -class munin::plugins::debian inherits munin::plugins::base { - munin::plugin { apt_all: ensure => present; } -} - +class munin::plugins::debian { } diff --git a/manifests/plugins/djbdns.pp b/manifests/plugins/djbdns.pp index 37d8ed6..c0a5163 100644 --- a/manifests/plugins/djbdns.pp +++ b/manifests/plugins/djbdns.pp @@ -1,3 +1,3 @@ -class munin::plugins::djbdns inherits munin::plugins::base { +class munin::plugins::djbdns { munin::plugin::deploy { "tinydns": } } diff --git a/manifests/plugins/dom0.pp b/manifests/plugins/dom0.pp index 8d919c3..ed4f62c 100644 --- a/manifests/plugins/dom0.pp +++ b/manifests/plugins/dom0.pp @@ -1,9 +1,7 @@ -class munin::plugins::dom0 inherits munin::plugins::physical { - munin::plugin::deploy { "xen": config => "user root"} - munin::plugin::deploy { "xen-cpu": config => "user root"} - munin::plugin::deploy { "xen_memory": config => "user root"} - munin::plugin::deploy { "xen_mem": config => "user root"} - munin::plugin::deploy { "xen_vm": config => "user root"} - munin::plugin::deploy { "xen_vbd": config => "user root"} - munin::plugin::deploy { "xen_traffic_all": config => "user root"} +class munin::plugins::dom0 { + munin::plugin::deploy { + [ 'xen', 'xen-cpu', 'xen_memory', 'xen_mem', + 'xen_vm', 'xen_vbd', 'xen_traffic_all' ]: + config => 'user root'; + } } diff --git a/manifests/plugins/gentoo.pp b/manifests/plugins/gentoo.pp index 81d0e6b..25c1626 100644 --- a/manifests/plugins/gentoo.pp +++ b/manifests/plugins/gentoo.pp @@ -1,3 +1,5 @@ -class munin::plugins::gentoo inherits munin::plugins::base { - munin::plugin::deploy { "gentoo_lastupdated": config => "user portage\nenv.logfile /var/log/emerge.log\nenv.tail /usr/bin/tail\nenv.grep /bin/grep"} +class munin::plugins::gentoo { + munin::plugin::deploy { 'gentoo_lastupdated': + config => "user portage\nenv.logfile /var/log/emerge.log\nenv.tail /usr/bin/tail\nenv.grep /bin/grep" + } } diff --git a/manifests/plugins/interfaces.pp b/manifests/plugins/interfaces.pp index 35ef648..18a713b 100644 --- a/manifests/plugins/interfaces.pp +++ b/manifests/plugins/interfaces.pp @@ -1,23 +1,22 @@ # handle if_ and if_err_ plugins -class munin::plugins::interfaces inherits munin::plugins::base { +class munin::plugins::interfaces { - # replaced gsub with regsubst - $ifs = regsubst(split($interfaces, " |,"), "(.+)", "if_\\1") - munin::plugin { + $ifs = regsubst(split($interfaces, " |,"), "(.+)", "if_\\1") + munin::plugin { $ifs: ensure => "if_"; + } + case $operatingsystem { + openbsd: { + $if_errs = regsubst(split($interfaces, " |,"), "(.+)", "if_errcoll_\\1") + munin::plugin{ + $if_errs: ensure => "if_errcoll_"; + } } - case $operatingsystem { - openbsd: { - $if_errs = regsubst(split($interfaces, " |,"), "(.+)", "if_errcoll_\\1") - munin::plugin{ - $if_errs: ensure => "if_errcoll_"; - } - } - default: { - $if_errs = regsubst(split($interfaces, " |,"), "(.+)", "if_err_\\1") - munin::plugin{ - $if_errs: ensure => "if_err_"; - } - } + default: { + $if_errs = regsubst(split($interfaces, " |,"), "(.+)", "if_err_\\1") + munin::plugin{ + $if_errs: ensure => "if_err_"; + } } + } } diff --git a/manifests/plugins/linux.pp b/manifests/plugins/linux.pp index c7beb59..30e0af6 100644 --- a/manifests/plugins/linux.pp +++ b/manifests/plugins/linux.pp @@ -1,10 +1,8 @@ -class munin::plugins::linux inherits munin::plugins::base { - munin::plugin { - [ df_abs, forks, df_inode, irqstats, entropy, open_inodes ]: - ensure => present; - acpi: - ensure => $acpi_available; - } - - include munin::plugins::interfaces +class munin::plugins::linux { + munin::plugin { + [ df_abs, forks, df_inode, irqstats, entropy, open_inodes ]: + ensure => present; + acpi: + ensure => $acpi_available; + } } diff --git a/manifests/plugins/muninhost.pp b/manifests/plugins/muninhost.pp index 2af4897..e4fb87d 100644 --- a/manifests/plugins/muninhost.pp +++ b/manifests/plugins/muninhost.pp @@ -1,4 +1,3 @@ -class munin::plugins::muninhost inherits munin::plugins::base { - munin::plugin { munin_update: } - munin::plugin { munin_graph: } +class munin::plugins::muninhost { + munin::plugin { ['munin_update', 'munin_graph']: } } diff --git a/manifests/plugins/nagios.pp b/manifests/plugins/nagios.pp deleted file mode 100644 index 93a261c..0000000 --- a/manifests/plugins/nagios.pp +++ /dev/null @@ -1,8 +0,0 @@ -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/manifests/plugins/openbsd.pp b/manifests/plugins/openbsd.pp index 67cf32d..b549994 100644 --- a/manifests/plugins/openbsd.pp +++ b/manifests/plugins/openbsd.pp @@ -1,13 +1,6 @@ -class munin::plugins::openbsd inherits munin::plugins::base { - munin::plugin { - [ df, cpu, interrupts, load, memory, netstat, open_files, - processes, swap, users, vmstat - ]: - ensure => present, - } - munin::plugin { - [ memory_pools, memory_types ]: - ensure => present, - } - +class munin::plugins::openbsd { + munin::plugin { + [ memory_pools, memory_types ]: + ensure => present, + } } diff --git a/manifests/plugins/physical.pp b/manifests/plugins/physical.pp index 6706711..ac050a5 100644 --- a/manifests/plugins/physical.pp +++ b/manifests/plugins/physical.pp @@ -1,5 +1,5 @@ -class munin::plugins::physical inherits munin::plugins::base { - case $kernel { - linux: { munin::plugin { iostat: } } - } +class munin::plugins::physical { + case $kernel { + linux: { munin::plugin { iostat: } } + } } diff --git a/manifests/plugins/selinux.pp b/manifests/plugins/selinux.pp index 6affc86..faf610a 100644 --- a/manifests/plugins/selinux.pp +++ b/manifests/plugins/selinux.pp @@ -1,4 +1,3 @@ -class munin::plugins::selinux inherits munin::plugins::base { - munin::plugin::deploy { "selinuxenforced": } - munin::plugin::deploy { "selinux_avcstats": } +class munin::plugins::selinux { + munin::plugin::deploy { [ 'selinuxenforced', 'selinux_avcstats' ]: } } diff --git a/manifests/plugins/setup.pp b/manifests/plugins/setup.pp new file mode 100644 index 0000000..c88f9e0 --- /dev/null +++ b/manifests/plugins/setup.pp @@ -0,0 +1,26 @@ +class munin::plugins::setup { + file { + [ '/etc/munin/plugins', '/etc/munin/plugin-conf.d' ]: + ignore => 'snmp_*', + ensure => directory, checksum => mtime, + recurse => true, purge => true, force => true, + mode => 0755, owner => root, group => 0, + notify => Service['munin-node']; + '/etc/munin/plugin-conf.d/munin-node': + ensure => present, + mode => 0644, owner => root, group => 0, + notify => Service['munin-node'], + } + case $kernel { + openbsd: { + File['/etc/munin/plugin-conf.d/munin-node']{ + before => File['/var/run/munin'], + } + } + default: { + File['/etc/munin/plugin-conf.d/munin-node']{ + before => Package['munin-node'], + } + } + } +} diff --git a/manifests/plugins/vserver.pp b/manifests/plugins/vserver.pp index bce28a1..e3eec05 100644 --- a/manifests/plugins/vserver.pp +++ b/manifests/plugins/vserver.pp @@ -1,7 +1,7 @@ -class munin::plugins::vserver inherits munin::plugins::base { - munin::plugin { - [ netstat, processes ]: - ensure => present; - } +class munin::plugins::vserver { + munin::plugin { + [ netstat, processes ]: + ensure => present; + } } diff --git a/manifests/remoteplugin.pp b/manifests/remoteplugin.pp index 4bca235..ce87492 100644 --- a/manifests/remoteplugin.pp +++ b/manifests/remoteplugin.pp @@ -1,18 +1,18 @@ 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 => 0; - } - munin::plugin { $name: - ensure => $ensure, - config => $config, - script_path_in => "/var/lib/puppet/modules/munin/plugins", - } - } + "absent": { munin::plugin{ $name: ensure => absent } } + default: { + file { + "/var/lib/puppet/modules/munin/plugins/${name}": + source => $source, + mode => 0755, owner => root, group => 0; + } + munin::plugin { $name: + ensure => $ensure, + config => $config, + script_path_in => "/var/lib/puppet/modules/munin/plugins", + } + } } } diff --git a/manifests/snmp_collector.pp b/manifests/snmp_collector.pp index 60fd573..0f8318a 100644 --- a/manifests/snmp_collector.pp +++ b/manifests/snmp_collector.pp @@ -5,10 +5,10 @@ class munin::snmp_collector{ mode => 755, owner => root, group => 0; } - exec { "create_snmp_links": - command => "/var/lib/puppet/modules/munin/create_snmp_links /var/lib/puppet/modules/munin/nodes", - require => File["snmp_links"], - timeout => "2048", - schedule => daily - } + exec { "create_snmp_links": + command => "/var/lib/puppet/modules/munin/create_snmp_links /var/lib/puppet/modules/munin/nodes", + require => File["snmp_links"], + timeout => "2048", + schedule => daily + } } diff --git a/templates/client.erb b/templates/client.erb index 286631f..15e05c6 100644 --- a/templates/client.erb +++ b/templates/client.erb @@ -1,7 +1,7 @@ <% - # Downcase all information - dom = domain.downcase - host = hostname.downcase + # Downcase all information + dom = domain.downcase + host = hostname.downcase %> ### Munin client from Puppet template @@ -12,7 +12,8 @@ # Description: <%= description.gsub!(/\n/, ' ') %> <% end -%> [<%= fhost.downcase %>] - address <%= munin_host_real -%> -<% if config -%><% config.each do |val| -%> + address <%= munin_host_real %> + port <%= munin_port_real %> +<% if config -%><% config.each do |val| -%> <%= val -%> <% end -%><% end -%> diff --git a/templates/munin-node.conf.Debian.lucid b/templates/munin-node.conf.Debian.lucid new file mode 120000 index 0000000..e0646b9 --- /dev/null +++ b/templates/munin-node.conf.Debian.lucid @@ -0,0 +1 @@ +munin-node.conf.Debian.etch
\ No newline at end of file diff --git a/templates/munin-node.conf.default b/templates/munin-node.conf.default index 85c0051..be62848 100644 --- a/templates/munin-node.conf.default +++ b/templates/munin-node.conf.default @@ -1,6 +1,9 @@ ########## ########## Managed by puppet ########## +# +# Example config-file for munin-node +# log_level 4 log_file /var/log/munin/munin-node.log |