munin: Add default 1.4.4 configuration.
authorMatthijs Kooijman <matthijs@stdin.nl>
Tue, 4 May 2010 13:57:07 +0000 (15:57 +0200)
committerMatthijs Kooijman <matthijs@stdin.nl>
Tue, 4 May 2010 19:30:35 +0000 (21:30 +0200)
43 files changed:
etc/munin/munin-node.conf [new file with mode: 0644]
etc/munin/munin.conf [new file with mode: 0644]
etc/munin/plugin-conf.d/munin-node [new file with mode: 0644]
etc/munin/plugins/cpu [new symlink]
etc/munin/plugins/df [new symlink]
etc/munin/plugins/df_inode [new symlink]
etc/munin/plugins/entropy [new symlink]
etc/munin/plugins/forks [new symlink]
etc/munin/plugins/if_err_eth0 [new symlink]
etc/munin/plugins/if_err_eth1 [new symlink]
etc/munin/plugins/if_eth0 [new symlink]
etc/munin/plugins/if_eth1 [new symlink]
etc/munin/plugins/interrupts [new symlink]
etc/munin/plugins/iostat [new symlink]
etc/munin/plugins/irqstats [new symlink]
etc/munin/plugins/load [new symlink]
etc/munin/plugins/memory [new symlink]
etc/munin/plugins/open_files [new symlink]
etc/munin/plugins/open_inodes [new symlink]
etc/munin/plugins/processes [new symlink]
etc/munin/plugins/swap [new symlink]
etc/munin/plugins/vmstat [new symlink]
etc/munin/templates/definitions.html [new file with mode: 0644]
etc/munin/templates/favicon.ico [new file with mode: 0644]
etc/munin/templates/logo-h.png [new file with mode: 0644]
etc/munin/templates/logo.png [new file with mode: 0644]
etc/munin/templates/munin-comparison-day.tmpl [new file with mode: 0644]
etc/munin/templates/munin-comparison-month.tmpl [new file with mode: 0644]
etc/munin/templates/munin-comparison-week.tmpl [new file with mode: 0644]
etc/munin/templates/munin-comparison-year.tmpl [new file with mode: 0644]
etc/munin/templates/munin-domainview.tmpl [new file with mode: 0644]
etc/munin/templates/munin-nodeview.tmpl [new file with mode: 0644]
etc/munin/templates/munin-overview.tmpl [new file with mode: 0644]
etc/munin/templates/munin-serviceview.tmpl [new file with mode: 0644]
etc/munin/templates/partial/bottom_navigation.tmpl [new file with mode: 0644]
etc/munin/templates/partial/generated_by.tmpl [new file with mode: 0644]
etc/munin/templates/partial/head.tmpl [new file with mode: 0644]
etc/munin/templates/partial/logo_navigation.tmpl [new file with mode: 0644]
etc/munin/templates/partial/logo_navigation_comparison.tmpl [new file with mode: 0644]
etc/munin/templates/partial/logo_path.tmpl [new file with mode: 0644]
etc/munin/templates/partial/path.tmpl [new file with mode: 0644]
etc/munin/templates/style-1.2.css [new file with mode: 0644]
etc/munin/templates/style.css [new file with mode: 0644]

diff --git a/etc/munin/munin-node.conf b/etc/munin/munin-node.conf
new file mode 100644 (file)
index 0000000..3052e09
--- /dev/null
@@ -0,0 +1,53 @@
+#
+# Example config-file for munin-node
+#
+
+log_level 4
+log_file /var/log/munin/munin-node.log
+pid_file /var/run/munin/munin-node.pid
+
+background 1
+setsid 1
+
+user root
+group root
+
+# Regexps for files to ignore
+
+ignore_file ~$
+#ignore_file [#~]$  # FIX doesn't work. '#' starts a comment
+ignore_file DEADJOE$ 
+ignore_file \.bak$
+ignore_file %$
+ignore_file \.dpkg-(tmp|new|old|dist)$
+ignore_file \.rpm(save|new)$
+ignore_file \.pod$
+
+# 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, since Net::Server does not understand CIDR-style
+# network notation unless the perl module Net::CIDR is installed.  You
+# may repeat the allow line as many times as you'd like
+
+allow ^127\.0\.0\.1$
+
+# If you have installed the Net::CIDR perl module, you can use
+# multiple cidr_allow and cidr_deny address/mask patterns.  A
+# connecting client must match any cidr_allow, and not match any
+# cidr_deny.  Example:
+
+# cidr_allow 127.0.0.1/32
+# cidr_allow 192.0.2.0/24
+# cidr_deny  192.0.2.42/32
+
+# Which address to bind to;
+host *
+# host 127.0.0.1
+
+# And which port
+port 4949
+
diff --git a/etc/munin/munin.conf b/etc/munin/munin.conf
new file mode 100644 (file)
index 0000000..147e7e8
--- /dev/null
@@ -0,0 +1,104 @@
+# Example configuration file for Munin, generated by 'make build'
+
+# The next three variables specifies where the location of the RRD
+# 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/cache/munin/www
+# logdir /var/log/munin
+# rundir  /var/run/munin
+#
+# 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
+#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/bin/send_nsca nagios.host.comm -c /etc/nsca.conf
+
+# a simple host tree
+[localhost.localdomain]
+    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/etc/munin/plugin-conf.d/munin-node b/etc/munin/plugin-conf.d/munin-node
new file mode 100644 (file)
index 0000000..ee363c1
--- /dev/null
@@ -0,0 +1,119 @@
+# This file is used to configure how the plugins are invoked.
+# Place in /etc/munin/plugin-conf.d/ or corresponding directory.
+#
+# PLEASE NOTE: Changes in the plugin-conf.d directory are only
+# read at munin-node startup, so restart at any changes.
+#
+# user <user>         # Set the user to run the plugin as.
+# group <group>       # Set the group to run the plugin as.
+# command <command>   # Run <command> instead of the plugin. %c expands to
+#                       what would normally be run.
+# env.<variable> <value> # Sets <variable> in the plugin's environment, see the
+#                       individual plugins to find out which variables they
+#                       care about.
+
+
+[amavis]
+group adm
+env.MUNIN_MKTEMP /bin/mktemp -p /tmp/ $1
+env.amavislog /var/log/mail.info
+
+[apt]
+user root
+
+[courier_mta_mailqueue]
+group daemon
+
+[courier_mta_mailstats]
+group adm
+
+[courier_mta_mailvolume]
+group adm
+
+[cps*]
+user root
+
+[df*]
+env.exclude none unknown iso9660 squashfs udf romfs ramfs debugfs
+env.warning 92
+env.critical 98
+
+[exim_mailqueue]
+group adm, (Debian-exim)
+
+[exim_mailstats]
+group adm, (Debian-exim)
+env.logdir /var/log/exim4/
+env.logname mainlog
+
+[fw_conntrack]
+user root
+
+[fw_forwarded_local]
+user root
+
+[hddtemp_smartctl]
+user root
+
+[hddtemp2]
+user root
+
+[if_*]
+user root
+
+[if_err_*]
+user nobody
+
+[ip_*]
+user root
+
+[ipmi_*]
+user root
+
+[mysql*]
+user root
+env.mysqlopts --defaults-file=/etc/mysql/debian.cnf
+env.mysqluser debian-sys-maint
+env.mysqlconnection DBI:mysql:mysql;mysql_read_default_file=/etc/mysql/debian.cnf
+
+[postfix_mailqueue]
+user postfix
+
+[postfix_mailstats]
+group adm
+
+[postfix_mailvolume]
+group adm
+env.logfile mail.log
+
+[smart_*]
+user root
+
+[vlan*]
+user root
+
+[ejabberd*]
+user ejabberd
+env.statuses available away chat xa
+env.days 1 7 30
+
+[dhcpd3]
+user root
+env.leasefile /var/lib/dhcp3/dhcpd.leases
+env.configfile /etc/dhcp3/dhcpd.conf
+
+[jmx_*]
+env.ip 127.0.0.1
+env.port 5400
+
+[samba]
+user root
+
+[munin_stats]
+user munin
+group munin
+
+[postgres_*]
+user postgres
+env.PGUSER postgres
+env.PGPORT 5432
diff --git a/etc/munin/plugins/cpu b/etc/munin/plugins/cpu
new file mode 120000 (symlink)
index 0000000..2e07a35
--- /dev/null
@@ -0,0 +1 @@
+/usr/share/munin/plugins/cpu
\ No newline at end of file
diff --git a/etc/munin/plugins/df b/etc/munin/plugins/df
new file mode 120000 (symlink)
index 0000000..9d18212
--- /dev/null
@@ -0,0 +1 @@
+/usr/share/munin/plugins/df
\ No newline at end of file
diff --git a/etc/munin/plugins/df_inode b/etc/munin/plugins/df_inode
new file mode 120000 (symlink)
index 0000000..f57bc74
--- /dev/null
@@ -0,0 +1 @@
+/usr/share/munin/plugins/df_inode
\ No newline at end of file
diff --git a/etc/munin/plugins/entropy b/etc/munin/plugins/entropy
new file mode 120000 (symlink)
index 0000000..9545158
--- /dev/null
@@ -0,0 +1 @@
+/usr/share/munin/plugins/entropy
\ No newline at end of file
diff --git a/etc/munin/plugins/forks b/etc/munin/plugins/forks
new file mode 120000 (symlink)
index 0000000..bf00335
--- /dev/null
@@ -0,0 +1 @@
+/usr/share/munin/plugins/forks
\ No newline at end of file
diff --git a/etc/munin/plugins/if_err_eth0 b/etc/munin/plugins/if_err_eth0
new file mode 120000 (symlink)
index 0000000..2bc989c
--- /dev/null
@@ -0,0 +1 @@
+/usr/share/munin/plugins/if_err_
\ No newline at end of file
diff --git a/etc/munin/plugins/if_err_eth1 b/etc/munin/plugins/if_err_eth1
new file mode 120000 (symlink)
index 0000000..2bc989c
--- /dev/null
@@ -0,0 +1 @@
+/usr/share/munin/plugins/if_err_
\ No newline at end of file
diff --git a/etc/munin/plugins/if_eth0 b/etc/munin/plugins/if_eth0
new file mode 120000 (symlink)
index 0000000..acef9af
--- /dev/null
@@ -0,0 +1 @@
+/usr/share/munin/plugins/if_
\ No newline at end of file
diff --git a/etc/munin/plugins/if_eth1 b/etc/munin/plugins/if_eth1
new file mode 120000 (symlink)
index 0000000..acef9af
--- /dev/null
@@ -0,0 +1 @@
+/usr/share/munin/plugins/if_
\ No newline at end of file
diff --git a/etc/munin/plugins/interrupts b/etc/munin/plugins/interrupts
new file mode 120000 (symlink)
index 0000000..dcd3605
--- /dev/null
@@ -0,0 +1 @@
+/usr/share/munin/plugins/interrupts
\ No newline at end of file
diff --git a/etc/munin/plugins/iostat b/etc/munin/plugins/iostat
new file mode 120000 (symlink)
index 0000000..b3b1256
--- /dev/null
@@ -0,0 +1 @@
+/usr/share/munin/plugins/iostat
\ No newline at end of file
diff --git a/etc/munin/plugins/irqstats b/etc/munin/plugins/irqstats
new file mode 120000 (symlink)
index 0000000..39b6d6f
--- /dev/null
@@ -0,0 +1 @@
+/usr/share/munin/plugins/irqstats
\ No newline at end of file
diff --git a/etc/munin/plugins/load b/etc/munin/plugins/load
new file mode 120000 (symlink)
index 0000000..bc5acaf
--- /dev/null
@@ -0,0 +1 @@
+/usr/share/munin/plugins/load
\ No newline at end of file
diff --git a/etc/munin/plugins/memory b/etc/munin/plugins/memory
new file mode 120000 (symlink)
index 0000000..a3428d7
--- /dev/null
@@ -0,0 +1 @@
+/usr/share/munin/plugins/memory
\ No newline at end of file
diff --git a/etc/munin/plugins/open_files b/etc/munin/plugins/open_files
new file mode 120000 (symlink)
index 0000000..791589a
--- /dev/null
@@ -0,0 +1 @@
+/usr/share/munin/plugins/open_files
\ No newline at end of file
diff --git a/etc/munin/plugins/open_inodes b/etc/munin/plugins/open_inodes
new file mode 120000 (symlink)
index 0000000..fea0798
--- /dev/null
@@ -0,0 +1 @@
+/usr/share/munin/plugins/open_inodes
\ No newline at end of file
diff --git a/etc/munin/plugins/processes b/etc/munin/plugins/processes
new file mode 120000 (symlink)
index 0000000..b9a883f
--- /dev/null
@@ -0,0 +1 @@
+/usr/share/munin/plugins/processes
\ No newline at end of file
diff --git a/etc/munin/plugins/swap b/etc/munin/plugins/swap
new file mode 120000 (symlink)
index 0000000..68b4a09
--- /dev/null
@@ -0,0 +1 @@
+/usr/share/munin/plugins/swap
\ No newline at end of file
diff --git a/etc/munin/plugins/vmstat b/etc/munin/plugins/vmstat
new file mode 120000 (symlink)
index 0000000..11f2333
--- /dev/null
@@ -0,0 +1 @@
+/usr/share/munin/plugins/vmstat
\ No newline at end of file
diff --git a/etc/munin/templates/definitions.html b/etc/munin/templates/definitions.html
new file mode 100644 (file)
index 0000000..a4148fb
--- /dev/null
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+          "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+  <link rel="stylesheet" href="style.css" type="text/css" /> 
+  <meta http-equiv="refresh" content="300" />
+  <title>Munin :: definitions</title>
+  <meta http-equiv="content-type" content="application/xhtml+xml; charset=iso-8859-1" />
+  <meta name="author" content="Jimmy Olsen" />
+</head>
+<body> 
+ <table cellpadding="3" border="0">
+  <tr>
+     <td><div class="logo">&nbsp;</div></td>
+     <td valign="top"><h1>Definition of terms used in Munin</h1></td>
+    </tr>
+ </table>
+ <div class="box">
+ <table cellpadding="2" cellspacing="4" border="0">
+   <tr>
+     <td valign="top" align="left"><a id="data_types">Data&nbsp;types:</a></td>
+   </tr>
+   <tr>
+     <td colspan="2"><hr class="ruler" /></td>
+   </tr>
+   <tr>
+     <td valign="top" align="left">&ndash;&nbsp;<a id="gauge">Gauge</a></td>
+        <td valign="top" align="left">A data source of type gauge shows the state of the data source at the
+        exact moment that Munin is run (every 5 minutes). Any peaks in-between data gatherings, will not be in
+        the graph.</td>
+   </tr>
+   <tr>
+     <td valign="top" align="left">&ndash;&nbsp;<a id="counter">Counter</a></td>
+        <td valign="top" align="left">A data source of type counter shows the state of the data source as an
+        average between two plots (i.e. 5 minutes). Short peaks will therefore be hard to spot, but long peaks
+        will be spottable, even though it occurs between plots.</td>
+   </tr>
+   <tr>
+     <td valign="top" align="left">&ndash;&nbsp;<a id="derive">Derive</a></td>
+        <td valign="top" align="left">For the purposes of viewing data, the derive type works the same way as a
+        counter</td>
+   </tr>
+   <tr>
+     <td valign="top" align="left">&ndash;&nbsp;<a id="absolute">Absolute</a></td>
+        <td valign="top" align="left">Absolute works much as a counter, with the exception that it is assumed
+        that the counter value is set to 0 upon each read of it. It's not a good idea to run these plugins by
+        hand in-between Munin runs, since Munin won't receive all the data it expects.</td>
+   </tr>
+   <tr>
+     <td colspan="2"><hr class="ruler2" /></td>
+   </tr>
+   <tr>
+     <td valign="top" align="left"></td>
+   </tr>
+ </table>
+ </div>
+<table cellpadding="2" cellspacing="4" border="0">        
+  <tr>
+    <td><i class="small"><a href="http://www.linpro.no/projects/munin/">Munin</a></i></td>
+  </tr>
+</table>
+</body>
+</html>
diff --git a/etc/munin/templates/favicon.ico b/etc/munin/templates/favicon.ico
new file mode 100644 (file)
index 0000000..08a8534
Binary files /dev/null and b/etc/munin/templates/favicon.ico differ
diff --git a/etc/munin/templates/logo-h.png b/etc/munin/templates/logo-h.png
new file mode 100644 (file)
index 0000000..3c90067
Binary files /dev/null and b/etc/munin/templates/logo-h.png differ
diff --git a/etc/munin/templates/logo.png b/etc/munin/templates/logo.png
new file mode 100644 (file)
index 0000000..eac65d9
Binary files /dev/null and b/etc/munin/templates/logo.png differ
diff --git a/etc/munin/templates/munin-comparison-day.tmpl b/etc/munin/templates/munin-comparison-day.tmpl
new file mode 100644 (file)
index 0000000..9a9973f
--- /dev/null
@@ -0,0 +1,40 @@
+<TMPL_INCLUDE NAME="partial/head.tmpl">
+<body>
+
+<TMPL_INCLUDE NAME="partial/logo_navigation_comparison.tmpl">
+
+<table class="invisiblebox">
+  <TMPL_LOOP NAME="CATEGORIES">
+  <tr><td class="graphbox" id="<TMPL_VAR ESCAPE="HTML" NAME="GROUPNAME">">
+  <table>
+        <tr><td colspan="<TMPL_VAR NAME="NGROUPS">"><h3 class="nobottom"> <TMPL_VAR ESCAPE="HTML" NAME="GROUPNAME"></h3></td></tr>
+        <TMPL_LOOP NAME="SERVICES">
+          <tr>
+                   <TMPL_LOOP NAME="NODES">
+            <td valign="top">
+                       <table class="invisiblebox">
+                         <tr><td colspan="2"></td></tr>
+                         <tr><td colspan="2"><div class="lighttext"><a href="<TMPL_VAR ESCAPE="URL" NAME="NODENAME">/index.html"><TMPL_VAR ESCAPE="HTML" NAME="NODENAME"></a> :: <TMPL_IF NAME="URL1"><a <TMPL_IF NAME="STATE_WARNING">class="warn"</TMPL_IF><TMPL_IF NAME="STATE_CRITICAL">class="crit"</TMPL_IF> href="<TMPL_VAR NAME="URL1">"></TMPL_IF><TMPL_VAR ESCAPE="HTML" NAME="LABEL"><TMPL_IF NAME="URL1"></a></TMPL_IF></div></td></tr>
+                         <tr><td>
+                       <a title="<TMPL_VAR ESCAPE="HTML" NAME="LABEL">"/><TMPL_IF NAME="CIMGDAY"><a href="<TMPL_VAR NAME="URL1">"><img src="<TMPL_VAR NAME="CIMGDAY">" alt="<TMPL_VAR ESCAPE="HTML" NAME="LABEL">" <TMPL_IF NAME="IMGDAYWIDTH">width="<TMPL_VAR NAME="IMGDAYWIDTH">" </TMPL_IF> <TMPL_IF NAME="IMGDAYHEIGHT">height="<TMPL_VAR NAME="IMGDAYHEIGHT">"</TMPL_IF>/></a></TMPL_IF>
+                       </td></tr>
+                       </table>
+                       </td>
+                       </TMPL_LOOP>
+          </tr>
+        </TMPL_LOOP>
+       </table>
+  </td></tr>
+
+  <tr><td></td></tr>
+
+  </TMPL_LOOP>
+  <tr>
+      <td class="linkbox">
+        <TMPL_INCLUDE NAME="partial/bottom_navigation.tmpl">
+      </td>
+  </tr>
+ </table>
+ <TMPL_INCLUDE NAME="partial/generated_by.tmpl">
+</body>
+</html>
diff --git a/etc/munin/templates/munin-comparison-month.tmpl b/etc/munin/templates/munin-comparison-month.tmpl
new file mode 100644 (file)
index 0000000..87ecb83
--- /dev/null
@@ -0,0 +1,40 @@
+<TMPL_INCLUDE NAME="partial/head.tmpl">
+<body>
+
+<TMPL_INCLUDE NAME="partial/logo_navigation_comparison.tmpl">
+
+<table class="invisiblebox">
+  <TMPL_LOOP NAME="CATEGORIES">
+  <tr><td class="graphbox" id="<TMPL_VAR ESCAPE="HTML" NAME="GROUPNAME">">
+  <table>
+        <tr><td colspan="<TMPL_VAR NAME="NGROUPS">"><h3 class="nobottom"> <TMPL_VAR ESCAPE="HTML" NAME="GROUPNAME"></h3></td></tr>
+        <TMPL_LOOP NAME="SERVICES">
+          <tr>
+                   <TMPL_LOOP NAME="NODES">
+            <td valign="top">
+                       <table class="invisiblebox">
+                         <tr><td colspan="2"></td></tr>
+                         <tr><td colspan="2"><div class="lighttext"><a href="<TMPL_VAR ESCAPE="URL" NAME="NODENAME">/index.html"><TMPL_VAR ESCAPE="HTML" NAME="NODENAME"></a> :: <TMPL_IF NAME="URL1"><a <TMPL_IF NAME="STATE_WARNING">class="warn"</TMPL_IF><TMPL_IF NAME="STATE_CRITICAL">class="crit"</TMPL_IF> href="<TMPL_VAR NAME="URL1">"></TMPL_IF><TMPL_VAR ESCAPE="HTML" NAME="LABEL"><TMPL_IF NAME="URL1"></a></TMPL_IF></div></td></tr>
+                         <tr><td>
+                       <a title="<TMPL_VAR ESCAPE="HTML" NAME="LABEL">"/><TMPL_IF NAME="CIMGMONTH"><a href="<TMPL_VAR NAME="URL1">"><img src="<TMPL_VAR NAME="CIMGMONTH">" alt="<TMPL_VAR ESCAPE="HTML" NAME="LABEL">" <TMPL_IF NAME="IMGMONTHWIDTH">width="<TMPL_VAR NAME="IMGMONTHWIDTH">" </TMPL_IF> <TMPL_IF NAME="IMGMONTHHEIGHT">height="<TMPL_VAR NAME="IMGMONTHHEIGHT">"</TMPL_IF>/></a></TMPL_IF>
+                       </td></tr>
+                       </table>
+                       </td>
+                       </TMPL_LOOP>
+          </tr>
+        </TMPL_LOOP>
+       </table>
+  </td></tr>
+
+  <tr><td></td></tr>
+
+  </TMPL_LOOP>
+  <tr>
+     <td class="linkbox">
+     <TMPL_INCLUDE NAME="partial/bottom_navigation.tmpl">
+     </td>
+</tr>
+</table>
+  <TMPL_INCLUDE NAME="partial/generated_by.tmpl">
+</body>
+</html>
diff --git a/etc/munin/templates/munin-comparison-week.tmpl b/etc/munin/templates/munin-comparison-week.tmpl
new file mode 100644 (file)
index 0000000..960b725
--- /dev/null
@@ -0,0 +1,41 @@
+<TMPL_INCLUDE NAME="partial/head.tmpl">
+<body>
+
+<TMPL_INCLUDE NAME="partial/logo_navigation_comparison.tmpl">
+
+<table class="invisiblebox">
+  <TMPL_LOOP NAME="CATEGORIES">
+  <tr><td class="graphbox" id="<TMPL_VAR ESCAPE="HTML" NAME="GROUPNAME">">
+  <table>
+        <tr><td colspan="<TMPL_VAR NAME="NGROUPS">"><h3 class="nobottom"> <TMPL_VAR ESCAPE="HTML" NAME="GROUPNAME"></h3></td></tr>
+        <TMPL_LOOP NAME="SERVICES">
+          <tr>
+                   <TMPL_LOOP NAME="NODES">
+            <td valign="top">
+                       <table class="invisiblebox">
+                         <tr><td colspan="2"></td></tr>
+                         <tr><td colspan="2"><div class="lighttext"><a href="<TMPL_VAR ESCAPE="URL" NAME="NODENAME">/index.html"><TMPL_VAR ESCAPE="HTML" NAME="NODENAME"></a> :: <TMPL_IF NAME="URL1"><a <TMPL_IF NAME="STATE_WARNING">class="warn"</TMPL_IF><TMPL_IF NAME="STATE_CRITICAL">class="crit"</TMPL_IF> href="<TMPL_VAR NAME="URL1">"></TMPL_IF><TMPL_VAR ESCAPE="HTML" NAME="LABEL"><TMPL_IF NAME="URL1"></a></TMPL_IF></div></td></tr>
+                         <tr><td>
+                       <a title="<TMPL_VAR ESCAPE="HTML" NAME="LABEL">"/><TMPL_IF NAME="CIMGWEEK"><a href="<TMPL_VAR NAME="URL1">"><img src="<TMPL_VAR NAME="CIMGWEEK">" alt="<TMPL_VAR ESCAPE="HTML" NAME="LABEL">" <TMPL_IF NAME="IMGWEEKWIDTH">width="<TMPL_VAR NAME="IMGWEEKWIDTH">" </TMPL_IF> <TMPL_IF NAME="IMGWEEKHEIGHT">height="<TMPL_VAR NAME="IMGWEEKHEIGHT">"</TMPL_IF>/></a></TMPL_IF>
+                       </td></tr>
+                       </table>
+                       </td>
+                       </TMPL_LOOP>
+          </tr>
+        </TMPL_LOOP>
+       </table>
+  </td></tr>
+
+  <tr><td></td></tr>
+
+  </TMPL_LOOP>
+  <tr>
+     <td class="linkbox">
+     <TMPL_INCLUDE NAME="partial/bottom_navigation.tmpl">
+     </td>
+  </tr>
+</table>
+
+  <TMPL_INCLUDE NAME="partial/generated_by.tmpl">
+</body>
+</html>
diff --git a/etc/munin/templates/munin-comparison-year.tmpl b/etc/munin/templates/munin-comparison-year.tmpl
new file mode 100644 (file)
index 0000000..d6c0a78
--- /dev/null
@@ -0,0 +1,40 @@
+<TMPL_INCLUDE NAME="partial/head.tmpl">
+<body>
+
+<TMPL_INCLUDE NAME="partial/logo_navigation_comparison.tmpl">
+
+<table class="invisiblebox">
+  <TMPL_LOOP NAME="CATEGORIES">
+  <tr><td class="graphbox" id="<TMPL_VAR ESCAPE="HTML" NAME="GROUPNAME">">
+  <table>
+        <tr><td colspan="<TMPL_VAR NAME="NGROUPS">"><h3 class="nobottom"> <TMPL_VAR ESCAPE="HTML" NAME="GROUPNAME"></h3></td></tr>
+        <TMPL_LOOP NAME="SERVICES">
+          <tr>
+                   <TMPL_LOOP NAME="NODES">
+            <td valign="top">
+                       <table class="invisiblebox">
+                         <tr><td colspan="2"></td></tr>
+                         <tr><td colspan="2"><div class="lighttext"><a href="<TMPL_VAR ESCAPE="URL" NAME="NODENAME">/index.html"><TMPL_VAR ESCAPE="HTML" NAME="NODENAME"></a> :: <TMPL_IF NAME="URL1"><a <TMPL_IF NAME="STATE_WARNING">class="warn"</TMPL_IF><TMPL_IF NAME="STATE_CRITICAL">class="crit"</TMPL_IF> href="<TMPL_VAR NAME="URL1">"></TMPL_IF><TMPL_VAR ESCAPE="HTML" NAME="LABEL"><TMPL_IF NAME="URL1"></a></TMPL_IF></div></td></tr>
+                         <tr><td>
+                       <a title="<TMPL_VAR ESCAPE="HTML" NAME="LABEL">"/><TMPL_IF NAME="CIMGYEAR"><a href="<TMPL_VAR NAME="URL1">"><img src="<TMPL_VAR NAME="CIMGYEAR">" alt="<TMPL_VAR ESCAPE="HTML" NAME="LABEL">" <TMPL_IF NAME="IMGYEARWIDTH">width="<TMPL_VAR NAME="IMGYEARWIDTH">" </TMPL_IF> <TMPL_IF NAME="IMGYEARHEIGHT">height="<TMPL_VAR NAME="IMGYEARHEIGHT">"</TMPL_IF>/></a></TMPL_IF>
+                       </td></tr>
+                       </table>
+                       </td>
+                       </TMPL_LOOP>
+          </tr>
+        </TMPL_LOOP>
+       </table>
+  </td></tr>
+
+  <tr><td></td></tr>
+
+  </TMPL_LOOP>
+  <tr>
+     <td class="linkbox">
+     <TMPL_INCLUDE NAME="partial/bottom_navigation.tmpl">
+     </td>
+  </tr>
+ </table>
+  <TMPL_INCLUDE NAME="partial/generated_by.tmpl">
+</body>
+</html>
diff --git a/etc/munin/templates/munin-domainview.tmpl b/etc/munin/templates/munin-domainview.tmpl
new file mode 100644 (file)
index 0000000..01ac044
--- /dev/null
@@ -0,0 +1,83 @@
+<TMPL_INCLUDE NAME="partial/head.tmpl">
+<!--
+       BODY matter.  Starts off with a table with the logo on the left, and various headlines on the right.
+-->
+<body> 
+
+<TMPL_INCLUDE NAME="partial/logo_navigation.tmpl">
+
+ <table class="largeinvisiblebox">
+ <tr>
+   <td class="linkbox">
+ <ul>  
+<!--
+    Outer body loop, going down, the groups (at this (current) level.  Listing level 1!
+-->
+  <TMPL_LOOP NAME="GROUPS">
+      <li><span class="domain"><a href="<TMPL_VAR NAME="URLX">"><TMPL_VAR ESCAPE="HTML" NAME="NAME"></a></span>
+      <ul>
+       <!-- In each group there are N categories -->
+         <TMPL_IF NAME="NCATEGORIES"><TMPL_LOOP NAME="CATEGORIES">
+              <li><span class="host"><a href="<TMPL_VAR NAME="URLX">"><TMPL_VAR ESCAPE="HTML" NAME="NAME"></a></span>
+              <ul>
+               <!-- And in each categroy there are M services -->
+                 <TMPL_LOOP NAME="SERVICES">
+                     <li><span class="service"><a <TMPL_IF NAME="STATE_WARNING">class="warn"</TMPL_IF> <TMPL_IF NAME="STATE_CRITICAL">class="crit"</TMPL_IF> href="<TMPL_VAR NAME="URLX">"><TMPL_VAR ESCAPE="HTML" NAME="NAME"></a></span></li>
+                 </TMPL_LOOP><!-- SERVICES -->
+             </ul>
+             </li>
+         </TMPL_LOOP><!--CATEGORIES --></TMPL_IF><!-- NCATEGORIES -->
+      <TMPL_IF NAME="NGROUPS">
+<!-- GROUPS Listing level 2 -->
+  <TMPL_LOOP NAME="GROUPS">
+      <li><span class="domain"><a href="<TMPL_VAR NAME="URLX">"><TMPL_VAR ESCAPE="HTML" NAME="NAME"></a></span>
+      <ul>
+         <TMPL_IF NAME="NCATEGORIES"><TMPL_LOOP NAME="CATEGORIES">
+              <li><span class="host"><a href="<TMPL_VAR NAME="URLX">"><TMPL_VAR ESCAPE="HTML" NAME="NAME"></a></span>
+              <ul>
+                 <TMPL_LOOP NAME="SERVICES">
+                     <li><span class="service"><a <TMPL_IF NAME="STATE_WARNING">class="warn"</TMPL_IF> <TMPL_IF NAME="STATE_CRITICAL">class="crit"</TMPL_IF> href="<TMPL_VAR NAME="URLX">"><TMPL_VAR ESCAPE="HTML" NAME="NAME"></a></span></li>
+                 </TMPL_LOOP> 
+             </ul>
+             </li>
+         </TMPL_LOOP></TMPL_IF>
+      <TMPL_IF NAME="NGROUPS"><!-- NGROUPS level 3 -->
+  <TMPL_LOOP NAME="GROUPS"><!-- GROUPS Listing level 3 -->
+      <li><span class="domain"><a href="<TMPL_VAR NAME="URLX">"><TMPL_VAR ESCAPE="HTML" NAME="NAME"></a></span>
+      <ul>
+       <!-- In each group N categories and so on -->
+         <TMPL_IF NAME="NCATEGORIES"><TMPL_LOOP NAME="CATEGORIES">
+              <li><span class="host"><a href="<TMPL_VAR NAME="URLX">"><TMPL_VAR ESCAPE="HTML" NAME="NAME"></a></span>
+              <ul>
+               <!-- And in each catrgory there are services -->
+                 <TMPL_LOOP NAME="SERVICES">
+                     <li><span class="service"><a <TMPL_IF NAME="STATE_WARNING">class="warn"</TMPL_IF> <TMPL_IF NAME="STATE_CRITICAL">class="crit"</TMPL_IF> href="<TMPL_VAR NAME="URLX">"><TMPL_VAR ESCAPE="HTML" NAME="NAME"></a></span></li>
+                 </TMPL_LOOP><!-- END SERVICES -->
+             </ul>
+             </li>
+         </TMPL_LOOP><!-- END CATEGORIES --></TMPL_IF>
+      <TMPL_IF NAME="NGROUPS">
+      </TMPL_IF>
+      </ul>
+      </li>
+  </TMPL_LOOP><!-- END GROUPS Listing level 3 -->
+      </TMPL_IF><!-- END NGROUPS level 3 -->
+      </ul>
+      </li>
+  </TMPL_LOOP><!-- END GROUPS Listing level 2 -->
+      </TMPL_IF><!-- END NGROUPS level 2 -->
+      </ul>
+      </li>
+  </TMPL_LOOP><!--END GROUPS Listing level 1 -->
+ </ul>
+ </td></tr>
+ <tr><td></td></tr>
+ <tr>
+    <td class="linkbox">
+      <TMPL_INCLUDE NAME="partial/bottom_navigation.tmpl">
+    </td>
+ </tr>
+ </table>
+  <TMPL_INCLUDE NAME="partial/generated_by.tmpl">
+</body>
+</html>
diff --git a/etc/munin/templates/munin-nodeview.tmpl b/etc/munin/templates/munin-nodeview.tmpl
new file mode 100644 (file)
index 0000000..47a0523
--- /dev/null
@@ -0,0 +1,49 @@
+<TMPL_INCLUDE NAME="partial/head.tmpl">
+<!--
+               BODY PART.  Start with a horizontal table thing with logo and "headline" material.
+-->
+<body>
+<TMPL_INCLUDE NAME="partial/logo_navigation.tmpl">
+<table class="invisiblebox">
+<!--
+      Outer loop, going down on the page, the categories of plugins
+      (they are grouped by category)
+-->
+  <TMPL_LOOP NAME="CATEGORIES">
+  <tr><td class="graphbox" id="<TMPL_VAR ESCAPE="HTML" NAME="NAME">">
+  <table>
+      <!-- <a id="<TMPL_VAR ESCAPE="HTML" NAME="NAME">">&nbsp;</a> -->
+        <tr><td colspan="2"><h3 class="nobottom"> <TMPL_VAR ESCAPE="HTML" NAME="NAME"></h3></td></tr>
+<!-- 
+     Next loop, one service pr "line" going down.  Each line has to images: day and week graphs
+     and some header matter
+-->
+        <TMPL_LOOP NAME="SERVICES">
+                 <tr><td><div class="lighttext">:: <a <TMPL_IF NAME="STATE_WARNING">class="warn heading"</TMPL_IF> <TMPL_IF NAME="STATE_CRITICAL">class="crit heading"</TMPL_IF> href="<TMPL_VAR NAME="URLX">"><TMPL_VAR ESCAPE="HTML" NAME="NAME"></a></div></td></tr>
+          <tr>
+            <td><a href="<TMPL_VAR NAME="URLX">"><img <TMPL_IF NAME="STATE_WARNING">class="warn"</TMPL_IF><TMPL_IF NAME="STATE_CRITICAL">class="crit"</TMPL_IF> src="<TMPL_VAR NAME="IMGDAY">" alt="<TMPL_VAR ESCAPE="HTML" NAME="NAME">" <TMPL_IF NAME="IMGDAYWIDTH">width="<TMPL_VAR NAME="IMGDAYWIDTH">" </TMPL_IF> <TMPL_IF NAME="IMGDAYHEIGHT">height="<TMPL_VAR NAME="IMGDAYHEIGHT">"</TMPL_IF>/></a></td>
+            <td><a href="<TMPL_VAR NAME="URLX">"><img <TMPL_IF NAME="STATE_WARNING">class="warn"</TMPL_IF> <TMPL_IF NAME="STATE_CRITICAL">class="crit"</TMPL_IF> src="<TMPL_VAR NAME="IMGWEEK">" alt="<TMPL_VAR ESCAPE="HTML" NAME="NAME">" <TMPL_IF NAME="IMGWEEKWIDTH">width="<TMPL_VAR NAME="IMGWEEKWIDTH">" </TMPL_IF> <TMPL_IF NAME="IMGWEEKHEIGHT">height="<TMPL_VAR NAME="IMGWEEKHEIGHT">"</TMPL_IF>/></a></td>
+          </tr>
+        </TMPL_LOOP><!-- End of SERVICES loop -->
+       </table>
+  </td></tr>
+
+  <tr><td></td></tr>
+
+  </TMPL_LOOP><!-- End of CATEGORIES loop -->
+<!--
+    Start of end matter: A line of "pages at the same nesting level ("peers")
+-->
+  <tr>
+      <td class="linkbox">
+     <TMPL_INCLUDE NAME="partial/bottom_navigation.tmpl">
+      </td>
+   </tr>   
+</table>
+
+<!--
+    End of end: A line containing the munin signature
+-->
+  <TMPL_INCLUDE NAME="partial/generated_by.tmpl">
+</body>
+</html>
diff --git a/etc/munin/templates/munin-overview.tmpl b/etc/munin/templates/munin-overview.tmpl
new file mode 100644 (file)
index 0000000..104759d
--- /dev/null
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+          "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+  <link rel="stylesheet" href="<TMPL_VAR NAME="CSS_NAME">" type="text/css" /> 
+  <meta http-equiv="refresh" content="300" />
+  <title>Munin :: overview</title>
+  <meta http-equiv="content-type" content="application/xhtml+xml; charset=iso-8859-1" />
+  <meta name="author" content="Auto-generated by Munin" />
+  <link rel="icon" type="image/vnd.microsoft.icon" href="favicon.ico" />
+  <link rel="SHORTCUT ICON" href="favicon.ico"/>
+</head>
+<body> 
+ <table id="header-table">
+  <tr>
+     <td class="logo"><div class="logo">&nbsp;</div></td>
+     <td class="overview"><h1>Overview</h1></td>
+    </tr>
+ </table>
+ <table class="largeinvisiblebox">
+   <tbody>
+     <tr>
+       <td>
+ <TMPL_LOOP NAME="GROUPS">
+ <ul>
+  <li><TMPL_IF NAME="NCATEGORIES"><span class="host"><TMPL_ELSE><span class="domain"></TMPL_IF><a href="<TMPL_VAR NAME="URL">"><TMPL_VAR ESCAPE="HTML" NAME="NAME"></a></span>
+<!-- <TMPL_IF NAME="COMPARE"> :: [ <a href="<TMPL_VAR NAME="NAME">/comparison-day.html">day</a> <a href="<TMPL_VAR NAME="NAME">/comparison-week.html">week</a> <a href="<TMPL_VAR NAME="NAME">/comparison-month.html">month</a> <a href="<TMPL_VAR NAME="NAME">/comparison-year.html">year</a> ]</TMPL_IF> -->
+  <TMPL_IF NAME="NCATEGORIES">[ <TMPL_LOOP NAME="CATEGORIES"><a <TMPL_IF NAME="STATE_WARNING">class="warn"</TMPL_IF> <TMPL_IF NAME="STATE_CRITICAL">class="crit"</TMPL_IF> href="<TMPL_VAR NAME="URL">"><TMPL_VAR ESCAPE="HTML" NAME="NAME"></a> </TMPL_LOOP>]</TMPL_IF>
+<TMPL_IF NAME="NGROUPS"><TMPL_LOOP NAME="GROUPS"><TMPL_UNLESS NAME="MULTIGRAPH"><ul>
+           <li><TMPL_IF NAME="NCATEGORIES"><span class="host"><TMPL_ELSE><span class="domain"></TMPL_IF><a href="<TMPL_VAR NAME="URL">"><TMPL_VAR ESCAPE="HTML" NAME="NAME"></a></span>
+<!-- <TMPL_IF NAME="COMPARE"> :: [ <a href="<TMPL_VAR NAME="NAME">/comparison-day.html">day</a> <a href="<TMPL_VAR NAME="NAME">/comparison-week.html">week</a> <a href="<TMPL_VAR NAME="NAME">/comparison-month.html">month</a> <a href="<TMPL_VAR NAME="NAME">/comparison-year.html">year</a> ]</TMPL_IF> -->
+  <TMPL_IF NAME="NCATEGORIES">[ <TMPL_LOOP NAME="CATEGORIES"><a <TMPL_IF NAME="STATE_WARNING">class="warn"</TMPL_IF> <TMPL_IF NAME="STATE_CRITICAL">class="crit"</TMPL_IF> href="<TMPL_VAR NAME="URL">"><TMPL_VAR ESCAPE="HTML" NAME="NAME"></a> </TMPL_LOOP>]</TMPL_IF>
+<TMPL_IF NAME="NGROUPS"><TMPL_LOOP NAME="GROUPS"><TMPL_UNLESS NAME="MULTIGRAPH"><ul>
+      <li><TMPL_IF NAME="NCATEGORIES"><span class="host"><TMPL_ELSE><span class="domain"></TMPL_IF><a href="<TMPL_VAR NAME="URL">"><TMPL_VAR ESCAPE="HTML" NAME="NAME"></a></span>
+<!-- <TMPL_IF NAME="COMPARE"> :: [ <a href="<TMPL_VAR NAME="NAME">/comparison-day.html">day</a> <a href="<TMPL_VAR NAME="NAME">/comparison-week.html">week</a> <a href="<TMPL_VAR NAME="NAME">/comparison-month.html">month</a> <a href="<TMPL_VAR NAME="NAME">/comparison-year.html">year</a> ]</TMPL_IF>
+--> <TMPL_IF NAME="NCATEGORIES">[ <TMPL_LOOP NAME="CATEGORIES"><a <TMPL_IF NAME="STATE_WARNING">class="warn"</TMPL_IF> <TMPL_IF NAME="STATE_CRITICAL">class="crit"</TMPL_IF> href="<TMPL_VAR NAME="URL">"><TMPL_VAR ESCAPE="HTML" NAME="NAME"></a> </TMPL_LOOP>]</TMPL_IF>
+<TMPL_IF NAME="NGROUPS"><TMPL_LOOP NAME="GROUPS"><TMPL_UNLESS NAME="MULTIGRAPH"><ul>
+                   <li><TMPL_IF NAME="NCATEGORIES"><span class="host"><TMPL_ELSE><span class="domain"></TMPL_IF><a href="<TMPL_VAR NAME="URL">"><TMPL_VAR ESCAPE="HTML" NAME="NAME"></a></span>
+<!-- <TMPL_IF NAME="COMPARE"> :: [ <a href="<TMPL_VAR NAME="NAME">/comparison-day.html">day</a> <a href="<TMPL_VAR NAME="NAME">/comparison-week.html">week</a> <a href="<TMPL_VAR NAME="NAME">/comparison-month.html">month</a> <a href="<TMPL_VAR NAME="NAME">/comparison-year.html">year</a> ]</TMPL_IF> -->
+<TMPL_IF NAME="NCATEGORIES">[ <TMPL_LOOP NAME="CATEGORIES"><a <TMPL_IF NAME="STATE_WARNING">class="warn"</TMPL_IF> <TMPL_IF NAME="STATE_CRITICAL">class="crit"</TMPL_IF> href="<TMPL_VAR NAME="URL">"><TMPL_VAR ESCAPE="HTML" NAME="NAME"></a> </TMPL_LOOP>]</TMPL_IF>
+<TMPL_IF NAME="NGROUPS"><TMPL_LOOP NAME="GROUPS"> <TMPL_UNLESS NAME="MULTIGRAPH"><ul>
+                   <li><TMPL_IF NAME="NCATEGORIES"><span class="host"><TMPL_ELSE><span class="domain"></TMPL_IF><a href="<TMPL_VAR NAME="URL">"><TMPL_VAR ESCAPE="HTML" NAME="NAME"></a></span>
+<!-- <TMPL_IF NAME="COMPARE"> :: [ <a href="<TMPL_VAR NAME="NAME">/comparison-day.html">day</a> <a href="<TMPL_VAR NAME="NAME">/comparison-week.html">week</a> <a href="<TMPL_VAR NAME="NAME">/comparison-month.html">month</a> <a href="<TMPL_VAR NAME="NAME">/comparison-year.html">year</a> ]</TMPL_IF> -->
+  <TMPL_IF NAME="NCATEGORIES">[ <TMPL_LOOP NAME="CATEGORIES"><a <TMPL_IF NAME="STATE_WARNING">class="warn"</TMPL_IF> <TMPL_IF NAME="STATE_CRITICAL">class="crit"</TMPL_IF> href="<TMPL_VAR NAME="URL">"><TMPL_VAR ESCAPE="HTML" NAME="NAME"></a> </TMPL_LOOP>]</TMPL_IF>
+<TMPL_IF NAME="NGROUPS"><TMPL_LOOP NAME="GROUPS"><TMPL_UNLESS NAME="MULTIGRAPH"><ul>
+                   <li><TMPL_IF NAME="NCATEGORIES"><span class="host"><TMPL_ELSE><span class="domain"></TMPL_IF><a href="<TMPL_VAR NAME="URL">"><TMPL_VAR ESCAPE="HTML" NAME="NAME"></a></span>
+<!-- <TMPL_IF NAME="COMPARE"> :: [ <a href="<TMPL_VAR NAME="NAME">/comparison-day.html">day</a> <a href="<TMPL_VAR NAME="NAME">/comparison-week.html">week</a> <a href="<TMPL_VAR NAME="NAME">/comparison-month.html">month</a> <a href="<TMPL_VAR NAME="NAME">/comparison-year.html">year</a> ]</TMPL_IF> -->
+  <TMPL_IF NAME="NCATEGORIES">[ <TMPL_LOOP NAME="CATEGORIES"><a <TMPL_IF NAME="STATE_WARNING">class="warn"</TMPL_IF> <TMPL_IF NAME="STATE_CRITICAL">class="crit"</TMPL_IF> href="<TMPL_VAR NAME="URL">"><TMPL_VAR ESCAPE="HTML" NAME="NAME"></a> </TMPL_LOOP>]</TMPL_IF>
+                   </li>
+                 </ul>
+               </TMPL_UNLESS>
+               </TMPL_LOOP></TMPL_IF>
+                   </li>
+                 </ul>
+               </TMPL_UNLESS>
+               </TMPL_LOOP></TMPL_IF>
+                   </li>
+                 </ul>
+               </TMPL_UNLESS>
+               </TMPL_LOOP></TMPL_IF>
+                   </li>
+                 </ul>
+               </TMPL_UNLESS>
+               </TMPL_LOOP>
+             </TMPL_IF>
+            </li>
+          </ul>
+       </TMPL_UNLESS>
+       </TMPL_LOOP>
+      </TMPL_IF>
+   </li>
+ </ul>
+ </TMPL_LOOP>
+            </td>
+          </tr>
+       </tbody>
+                  </table>
+  <TMPL_INCLUDE NAME="partial/generated_by.tmpl">
+</body>
+</html>
diff --git a/etc/munin/templates/munin-serviceview.tmpl b/etc/munin/templates/munin-serviceview.tmpl
new file mode 100644 (file)
index 0000000..4c8d9da
--- /dev/null
@@ -0,0 +1,91 @@
+<TMPL_INCLUDE NAME="partial/head.tmpl">
+<!--
+       Body material.
+       First comes a heading frame with logo and the breadcrumbs with links to each level above
+-->
+<body>
+<TMPL_INCLUDE NAME="partial/logo_navigation.tmpl">
+ <!-- Loop over the services at this level.  Mostly only to access the
+      nested variables describing the _one_ service that should be
+      available here. -->
+ <TMPL_LOOP NAME="SERVICES">
+
+  <table class="invisiblebox">
+    <tr>
+      <!-- Table row: Day image -->
+      <!-- Note, the class of the img does not work to set border width and color.  Could be something to do with the table? -->
+      <td><img src="<TMPL_VAR NAME="IMGDAY">" alt="daily graph" <TMPL_IF NAME="IMGDAYWIDTH">width="<TMPL_VAR NAME="IMGDAYWIDTH">" </TMPL_IF> <TMPL_IF NAME="IMGDAYHEIGHT">height="<TMPL_VAR NAME="IMGDAYHEIGHT">"</TMPL_IF>/></td>
+      <!-- cont'd: Week image -->
+      <td><img src="<TMPL_VAR NAME="IMGWEEK">" alt="weekly graph" <TMPL_IF NAME="IMGWEEKWIDTH">width="<TMPL_VAR NAME="IMGWEEKWIDTH">" </TMPL_IF> <TMPL_IF NAME="IMGWEEKHEIGHT">height="<TMPL_VAR NAME="IMGWEEKHEIGHT">"</TMPL_IF>/></td>
+    </tr>
+    <tr>
+      <!-- New table row: Month image -->
+      <td><img src="<TMPL_VAR NAME="IMGMONTH">" alt="monthly graph" <TMPL_IF NAME="IMGMONTHWIDTH">width="<TMPL_VAR NAME="IMGMONTHWIDTH">" </TMPL_IF> <TMPL_IF NAME="IMGMONTHHEIGHT">height="<TMPL_VAR NAME="IMGMONTHHEIGHT">"</TMPL_IF>/></td>
+      <!-- cont'd: Year image -->
+      <td><img src="<TMPL_VAR NAME="IMGYEAR">" alt="yearly graph" <TMPL_IF NAME="IMGYEARWIDTH">width="<TMPL_VAR NAME="IMGYEARWIDTH">" </TMPL_IF> <TMPL_IF NAME="IMGYEARHEIGHT">height="<TMPL_VAR NAME="IMGYEARHEIGHT">"</TMPL_IF>/></td>
+    </tr>
+    <!-- .sum graphs.  One of the least used features of munin? -->
+<TMPL_IF NAME="IMGWEEKSUM">
+    <tr>
+      <!-- Week sum -->
+      <td><img src="<TMPL_VAR NAME="IMGWEEKSUM">" alt="summed weekly graph" <TMPL_IF NAME="IMGWEEKSUMWIDTH">width="<TMPL_VAR NAME="IMGWEEKSUMWIDTH">" </TMPL_IF> <TMPL_IF NAME="IMGWEEKSUMHEIGHT">height="<TMPL_VAR NAME="IMGWEEKSUMHEIGHT">"</TMPL_IF>/></td>
+      <!-- Month sum?  BUG?: See mixture of "month" and "year" in the text and tags -->
+      <td><img src="<TMPL_VAR NAME="IMGYEARSUM">" alt="summed monthly graph" <TMPL_IF NAME="IMGYEARSUMWIDTH">width="<TMPL_VAR NAME="IMGYEARSUMWIDTH">" </TMPL_IF> <TMPL_IF NAME="IMGYEARSUMHEIGHT">height="<TMPL_VAR NAME="IMGYEARSUMHEIGHT">"</TMPL_IF>/></td>
+    </tr>
+</TMPL_IF><!-- IMGWEEKSUM -->
+
+<!-- Here follows meta information for the graphs -->
+
+       <tr>
+         <td colspan="2" class="legendbox">
+           <table width='100%' id="legend" cellpadding="0" cellspacing="0">
+                 <TMPL_LOOP NAME="GRAPHINFO"><!-- Do we actually allow mutiple graph_info, or is this just to access the nested data? -->
+                   <tr>
+                     <td class='wrap' colspan="6" align='left' valign='top'><TMPL_VAR NAME="INFO"></td>
+                   </tr>
+                 </TMPL_LOOP><!-- GRAPHINFO -->
+
+                   <TMPL_IF NAME="STATE_WARNING"><tr><td class='wrap' colspan="6" align='left' valign='top'><b>NOTE!</b> This service is in WARNING state because one of the values reported is outside the allowed range.  Please see further down for information about the ranges and the graph for the values.</td></tr></TMPL_IF>
+                   <TMPL_IF NAME="STATE_CRITICAL"><tr><td class='wrap' colspan="6" align='left' valign='top'><b>NOTE!</b> This service is in CRITICAL state because one of the values reported is outside the allowed range.  Please see further down for information about the ranges and the graph for the values.</td></tr></TMPL_IF>
+                   <TMPL_IF NAME="STATE_UNKNOWN"><tr><td class='wrap' colspan="6" align='left' valign='top'><b>NOTE!</b> This service is in UNKNOWN state, because something bad happened.  Please check your network, the munin-node, and the plugin.</td></tr></TMPL_IF>
+
+                   <tr>
+                         <th align='left' valign='top'>Field</th>
+                         <th align='left' valign='top'><span title="For use in munin.conf">Internal name</span></th>                         <!-- BUG: The definitions.html reference is not correct, it is only available at the root, there are not enough ..s in the URL -->
+                         <th align='center' valign='top'><a href="../../definitions.html#data_types">Type</a></th>
+                         <th align='center' valign='top'>Warn</th>
+                         <th align='center' valign='top'>Crit</th>
+                         <th>Info</th>
+                   </tr>
+                 <TMPL_LOOP NAME="FIELDINFO">
+                   <tr class="<TMPL_IF NAME="__odd__">oddrow<TMPL_ELSE>evenrow</TMPL_IF><TMPL_IF NAME="__last__"> lastrow</TMPL_IF>">
+                     <td align='left' valign='top'><TMPL_VAR ESCAPE="HTML" NAME="LABEL"></td>
+                     <td align='left' valign='top'><span title="For use in munin.conf"><TMPL_VAR ESCAPE="HTML" NAME="FIELD"></span></td>
+                     <td align='center' valign='top'><TMPL_VAR NAME="TYPE"></td>
+                     <td align='center' valign='top'><TMPL_IF NAME="STATE_WARNING"><div class='warntext'></TMPL_IF><TMPL_VAR NAME="WARN"><TMPL_IF NAME="STATE_WARNING"></div><TMPL_ELSE>&nbsp;</TMPL_IF></td>
+                     <td align='center' valign='top'><TMPL_IF NAME="STATE_CRITICAL"><div class='crittext'></TMPL_IF><TMPL_VAR NAME="CRIT"><TMPL_IF NAME="STATE_CRITICAL"></div><TMPL_ELSE>&nbsp;</TMPL_IF></td>
+                     <td class='wrap' align='left' valign='top'><TMPL_IF NAME="INFO"><TMPL_VAR ESCAPE="HTML" NAME="INFO"><TMPL_ELSE>&nbsp;</TMPL_IF></td>
+                   </tr>
+
+                   <TMPL_IF NAME="EXTINFO">
+                     <tr class="<TMPL_IF NAME="__odd__">oddrow<TMPL_ELSE>evenrow</TMPL_IF>"><td class='wrap' colspan="6" align='left' valign='top'>This field has the following extra information: <TMPL_VAR ESCAPE="HTML" NAME="EXTINFO"></td></tr>
+                   </TMPL_IF>
+                 </TMPL_LOOP><!-- FIELDINFO -->
+           </table>
+         </td>
+       </tr>
+  </TMPL_LOOP><!-- What ends here?  Probably SERVICES -->
+  <tr>
+    <td>
+    </td>
+  </tr>
+  <tr>
+   <td colspan="2" class="linkbox">
+     <TMPL_INCLUDE NAME="partial/bottom_navigation.tmpl">
+   </td>
+  </tr>
+</table>
+  <TMPL_INCLUDE NAME="partial/generated_by.tmpl">
+</body>
+</html>
+  
diff --git a/etc/munin/templates/partial/bottom_navigation.tmpl b/etc/munin/templates/partial/bottom_navigation.tmpl
new file mode 100644 (file)
index 0000000..08ad8cc
--- /dev/null
@@ -0,0 +1,33 @@
+<TMPL_LOOP NAME="PATH">
+  <TMPL_UNLESS NAME="__last__">
+    <TMPL_IF NAME="name"> ::
+    <TMPL_IF NAME="path"><a href="<TMPL_VAR NAME="path">"></TMPL_IF>
+    <TMPL_VAR NAME="name">
+            <TMPL_IF NAME="path"></a></TMPL_IF>
+         <TMPL_ELSE>
+           <TMPL_IF NAME="path"><a href="<TMPL_VAR NAME="path">"></TMPL_IF>
+           Overview
+           <TMPL_IF NAME="path"></a></TMPL_IF>
+         </TMPL_IF>
+       </TMPL_UNLESS>
+     </TMPL_LOOP>
+     <TMPL_IF NAME="CATEGORY">
+     :: <TMPL_VAR NAME="CATEGORY">
+     </TMPL_IF>
+     <TMPL_IF NAME="LARGESET">:: <select class="peers" onchange="window.open(this.options[this.selectedIndex].value,'_top')">
+      <option value=""><TMPL_VAR NAME="INFO_OPTION"></option>
+       <TMPL_LOOP NAME="PEERS">
+        <option 
+          <TMPL_IF NAME="LINK">
+            value="<TMPL_VAR NAME="LINK">">
+          <TMPL_ELSE>
+            value="">
+          </TMPL_IF>
+        <TMPL_VAR NAME="NAME"></option>
+                 
+      </TMPL_LOOP>
+      </select>
+      <TMPL_ELSE>
+        :<TMPL_LOOP NAME="PEERS">: <TMPL_IF NAME="LINK"><a href="<TMPL_VAR NAME="LINK">"></TMPL_IF><TMPL_VAR NAME="NAME"><TMPL_IF NAME="LINK"></a></TMPL_IF> </TMPL_LOOP>
+  </TMPL_IF>
+             
diff --git a/etc/munin/templates/partial/generated_by.tmpl b/etc/munin/templates/partial/generated_by.tmpl
new file mode 100644 (file)
index 0000000..e03f9d0
--- /dev/null
@@ -0,0 +1,5 @@
+<table id="generated-table">        
+  <tr>
+    <td><i class="small"><TMPL_VAR NAME="TAGLINE"></i></td>
+  </tr>
+</table>
diff --git a/etc/munin/templates/partial/head.tmpl b/etc/munin/templates/partial/head.tmpl
new file mode 100644 (file)
index 0000000..a3e3548
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+          "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+  <link rel="stylesheet" href="<TMPL_VAR NAME="ROOT_PATH">/<TMPL_VAR NAME="CSS_NAME">" type="text/css" /> 
+  <meta http-equiv="refresh" content="300" />
+  <title><TMPL_LOOP NAME="PATH"><TMPL_IF NAME="name"> :: <TMPL_VAR ESCAPE="HTML" NAME="name"><TMPL_ELSE>Munin</TMPL_IF></TMPL_LOOP></title>
+  <meta http-equiv="content-type" content="application/xhtml+xml; charset=iso-8859-1" />
+  <meta name="author" content="Auto-generated by Munin" />
+  <link rel="icon" type="image/vnd.microsoft.icon" href="<TMPL_VAR NAME="ROOT_PATH">/favicon.ico" />
+  <link rel="SHORTCUT ICON" href="<TMPL_VAR NAME="ROOT_PATH">/favicon.ico"/>
+
+</head>
diff --git a/etc/munin/templates/partial/logo_navigation.tmpl b/etc/munin/templates/partial/logo_navigation.tmpl
new file mode 100644 (file)
index 0000000..063ac42
--- /dev/null
@@ -0,0 +1,18 @@
+<table id="header-table">
+<TMPL_INCLUDE NAME="logo_path.tmpl">
+<!--            Second header line containing host name and a list of categories of the graphs -->
+  <TMPL_IF NAME="NCATEGORIES">
+   <tr>
+    <td valign="top">
+      <h2><TMPL_VAR NAME="NAME"><TMPL_IF NAME="NCATEGORIES"> :: [ <TMPL_LOOP NAME="CATEGORIES"><a <TMPL_IF NAME="STATE_WARNING">class="warn"</TMPL_IF> <TMPL_IF NAME="STATE_CRITICAL">class="crit"</TMPL_IF> href="#<TMPL_VAR ESCAPE="HTML" NAME="NAME">"><TMPL_VAR ESCAPE="HTML" NAME="NAME"></a> </TMPL_LOOP>]</TMPL_IF></h2>
+    </td>
+  </tr>
+  </TMPL_IF>
+  <TMPL_IF NAME="COMPARE">    
+  <tr>
+    <td valign="top">
+      <h2><TMPL_VAR ESCAPE="HTML" NAME="NAME"> :: [ <a href="comparison-day.html">day</a> <a href="comparison-week.html">week</a> <a href="comparison-month.html">month</a> <a href="comparison-year.html">year</a> ]</h2>
+    </td>
+  </tr>
+  </TMPL_IF>
+</table>
diff --git a/etc/munin/templates/partial/logo_navigation_comparison.tmpl b/etc/munin/templates/partial/logo_navigation_comparison.tmpl
new file mode 100644 (file)
index 0000000..6fd5d4a
--- /dev/null
@@ -0,0 +1,21 @@
+<table id="header-table">
+  <tr>
+    <td rowspan="2"><div class="logo">&nbsp;</div></td>
+    <td valign="top">
+    <h2><TMPL_INCLUDE NAME="path.tmpl">
+      :: [ <TMPL_LOOP NAME="COMPLINKS">
+      <TMPL_IF NAME="LINK">
+        <a href="<TMPL_VAR NAME="LINK">"><TMPL_VAR NAME="NAME"></a>
+        <TMPL_ELSE>
+          <TMPL_VAR NAME="NAME">
+        </TMPL_IF>
+      </TMPL_LOOP> ]
+    </h2>
+    </td>    
+  </tr>
+  <tr>
+    <td valign="top">
+      <h2><TMPL_VAR ESCAPE="HTML" NAME="NAME"> :: [ <TMPL_LOOP NAME="CATEGORIES"><a <TMPL_IF NAME="STATE_WARNING">class="warn"</TMPL_IF> <TMPL_IF NAME="STATE_CRITICAL">class="crit"</TMPL_IF> href="#<TMPL_VAR ESCAPE="HTML" NAME="GROUPNAME">"><TMPL_VAR ESCAPE="HTML" NAME="GROUPNAME"></a> </TMPL_LOOP>]</h2>
+    </td>
+  </tr>
+</table>
diff --git a/etc/munin/templates/partial/logo_path.tmpl b/etc/munin/templates/partial/logo_path.tmpl
new file mode 100644 (file)
index 0000000..68f721d
--- /dev/null
@@ -0,0 +1,6 @@
+  <tr>
+    <td class="logo" rowspan="2"><div class="logo">&nbsp;</div></td>
+    <td valign="top">
+    <h2><TMPL_INCLUDE NAME="path.tmpl"></h2>
+    </td>    
+  </tr>
diff --git a/etc/munin/templates/partial/path.tmpl b/etc/munin/templates/partial/path.tmpl
new file mode 100644 (file)
index 0000000..fb27324
--- /dev/null
@@ -0,0 +1 @@
+<TMPL_LOOP NAME="PATH"><TMPL_IF NAME="NAME"> :: <TMPL_IF NAME="PATH"><a href="<TMPL_VAR NAME="PATH">"></TMPL_IF><TMPL_VAR NAME="NAME"><TMPL_IF NAME="PATH"></a></TMPL_IF><TMPL_ELSE><TMPL_IF NAME="PATH"><a href="<TMPL_VAR NAME="PATH">"></TMPL_IF>Overview<TMPL_IF NAME="PATH"></a></TMPL_IF></TMPL_IF></TMPL_LOOP>
diff --git a/etc/munin/templates/style-1.2.css b/etc/munin/templates/style-1.2.css
new file mode 100644 (file)
index 0000000..6fcd5d2
--- /dev/null
@@ -0,0 +1,205 @@
+body, h1, h2, h3, p, span, div { 
+  font-family: verdana, helvetica, arial, sans-serif;
+  font-size: small;
+ }
+
+body { 
+  background-color: #ffffff;
+  color: #000000;
+  
+ }
+
+h3.nobottom {
+    margin-top: 20px;
+    margin-bottom: 0px;
+}
+
+div.logo { 
+  background-image: url(logo.png);
+  background-repeat: no-repeat;  
+  width: 41px;
+  height: 59px;
+} 
+
+div.lighttext { 
+  background-color: #ffffff;
+  color: #777777;
+  font-style: italic;
+  
+ }
+
+.domain { 
+  font-size: medium;
+  font-weight: bold;
+ }
+
+.host { 
+  font-weight: bold;
+ }
+
+.service { 
+  font-size: x-small;
+  font-weight: bold;
+ }
+
+.center { 
+  text-align: center;
+}
+
+.small { 
+  font-size: smaller;
+ }
+
+.noborder { 
+  border-width: 0px;
+  border-collapse: collapse;
+ }
+
+table.largeinvisiblebox {
+        border-width: thin;
+        border-top: 0px;
+        border-bottom: 0px;
+        border-left: 0px;
+        border-right: 0px;
+        border-color: #999;
+        border-style: solid;
+        padding: 0px 0px 0px 0px;
+       margin: 0px 0px 0px 0px;
+       white-space: nowrap;
+       max-width: 90%;
+        width: 80%;
+}
+
+table.invisiblebox {
+        border-width: thin;
+        border-top: 0px;
+        border-bottom: 0px;
+        border-left: 0px;
+        border-right: 0px;
+        border-color: #999;
+        border-style: solid;
+        padding: 0px 0px 0px 0px;
+       margin: 0px 0px 0px 0px;
+       white-space: nowrap;
+       width: 1%;
+}
+
+td.graphbox {
+        border-width: thin;
+        border-top: 1px;
+        border-bottom: 1px;
+        border-left: 1px;
+        border-right: 1px;
+        border-color: #999;
+        border-style: solid;
+        padding: 4px 4px 4px 4px;
+       margin: 0px 0px 0px 0px;
+       white-space: nowrap;
+       width: 100%;
+}
+
+.box {
+        border-width: thin;
+        border-top: 1px;
+        border-bottom: 1px;
+        border-left: 1px;
+        border-right: 1px;
+        border-color: #999;
+        border-style: solid;
+        padding: 4px 4px 4px 4px;
+        margin: 2px 2px 2px 2px;
+        text-align: left;
+        width: 80%;
+        max-width: 90%
+}
+
+td.legendbox {
+        border-width: thin;
+        border-top: 1px;
+        border-bottom: 1px;
+        border-left: 1px;
+        border-right: 1px;
+        border-color: #999;
+        border-style: solid;
+        padding: 8px 4px 2px 2px;
+        margin: 2px 2px 2px 2px;
+        text-align: left;
+       width: 100%;
+}
+
+td.wrap {
+       white-space: normal;
+       max-width: 1%;
+}
+
+td.linkbox {
+        border-width: thin;
+        border-top: 1px;
+        border-bottom: 1px;
+        border-left: 1px;
+        border-right: 1px;
+        border-color: #999;
+        border-style: solid;
+        padding: 4px 4px 4px 4px;
+        margin: 2px 2px 2px 2px;
+       width: 100%;
+       white-space: normal;
+}
+
+.warntext {
+  font-weight: bold;
+  background-color: #cccc00;
+}
+
+.crittext {
+  font-weight: bold;
+  background-color: #ff6f22;
+}
+
+.ruler {
+  background-color: #999999;
+  border: 0px;
+  height: 1px;
+}
+
+.ruler2 {
+  background-color: #999999;
+  border: 0px;
+  height: 2px;
+}
+
+a.meek:link { 
+  color: #486aaf;
+  font-size: small;
+ }
+
+a.meek:visited { 
+  color: #af1a00;
+  font-size: small;
+ }
+
+a.meek:active { 
+  color: #486aaf;
+  font-size: small;
+ }
+
+a.meek:hover { 
+  color: #999999;
+  font-size: small;
+ }
+
+
+a.warn:link    { color: #cc9900; }
+a.warn:visited { color: #cc9900; }
+a.warn:active  { color: #cc9900; }
+a.warn:hover   { color: #cc9900; }
+
+a.crit:link    { color: #cc0000; } 
+a.crit:visited { color: #cc0000; } 
+a.crit:active  { color: #cc0000; } 
+a.crit:hover   { color: #cc0000; } 
+
+a:link    { color: #486aaf; } 
+a:visited { color: #486aaf; } 
+a:active  { color: #486aaf; } 
+a:hover   { color: #486aaf; } 
diff --git a/etc/munin/templates/style.css b/etc/munin/templates/style.css
new file mode 100644 (file)
index 0000000..0943e69
--- /dev/null
@@ -0,0 +1,349 @@
+html {
+}
+
+body, h1, h2, h3, p, span, div { 
+  font-family: "vera sans", "dejavu sans", helvetica, verdana, arial, sans-serif;
+  color: #333333;
+ }
+
+h1{
+  margin: 0.5em;
+}
+
+body { 
+  background-color: #fdfdfd;
+  width: 99%;
+  margin: 0em auto 1em auto;
+  padding: 0.0em 0.1em 1em 0.1em;
+  font-size: 90%;
+
+ }
+
+
+select {
+  border: 1px solid #d1d1d1;
+}
+
+h2 {
+  margin: 0em;
+  padding: 0px;
+  font-size: 110%;
+  font-weight: bold;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+h3.nobottom {
+    margin-top: 0px;
+    margin-bottom: 0px;
+    font-size: 120%;
+    letter-spacing: 0.05em;
+    margin-left: 0px;
+    padding-left: 10px;
+    padding-bottom: 0px;
+    padding-top: 0px;
+}
+
+
+div.logo { 
+  background-image: url(logo-h.png);
+  background-repeat: no-repeat;  
+  width: 115px;
+  height: 30px;
+  padding-right: 10px;
+  margin-top: 7px;
+  padding-bottom: 6px;
+} 
+
+div.lighttext { 
+  background-color: #ffffff;
+  color: #777777;
+  font-style: italic;
+  
+ }
+
+.domain { 
+  font-size: medium;
+  font-weight: bold;
+ }
+
+.host { 
+  font-weight: bold;
+ }
+
+.service { 
+  font-size: small;
+  font-weight: bold;
+ }
+
+.center { 
+  text-align: center;
+}
+
+.small { 
+  font-size: smaller;
+}
+
+.noborder { 
+  border-width: 0px;
+  border-collapse: collapse;
+ }
+
+table.largeinvisiblebox {
+  border-width: thin;
+  border-top: 0px;
+  border-bottom: 0px;
+  border-left: 0px;
+  border-right: 0px;
+  border-color: #999;
+  border-style: solid;
+  padding: 0px 0px 0px 0px;
+  margin: 0px auto 0px auto;
+  white-space: nowrap;
+  max-width: 97%;
+  width: 90%;
+  min-width: 50%;
+
+}
+
+#header-table{
+  width: 90%;
+  margin: 0 auto 0em auto;
+  background-color: #fbfbfb;
+  border-bottom: 1px solid #cfd6f8;
+  border-left: 1px solid #cfd6f8;
+  border-right: 1px solid #cfd6f8;
+  overflow: auto;
+}
+
+#header-table td{
+  padding-bottom: 0px;
+  margin: 0em auto 0em auto;
+}
+
+#header-table tr{
+  margin: 0em auto 0em auto;
+  padding: 0px;
+}
+
+#header-table td.overview{
+  margin: 0em auto 0em auto;
+  text-align: left;
+}
+
+#header-table td.overview h1{
+  margin-top: 0em;
+  margin-bottom: 0em;
+  margin-left: 0.1em;
+  padding-top: 1px;
+}
+
+
+#header-table td.logo{
+  width: 115px;
+  height: 48px;
+  margin: 0em auto 0em auto;
+}
+
+table.invisiblebox {
+  border: 0px solid #999999;
+  width: 90%;
+  padding: 0px 0px 0px 0px;
+  margin-top: 10px;
+  margin-left: auto;
+  margin-bottom: 0px;
+  margin-right: auto;
+  white-space: nowrap;
+}
+
+table.invisiblebox tr{
+  padding-bottom: 15px;
+}
+
+
+td.graphbox {
+  padding: 5px;
+  white-space: nowrap;
+}
+
+td.graphbox > table {
+  border-left: 1px dashed #aaaaaa;
+  padding-left: 10px;
+  margin-bottom: 1em;
+  white-space: nowrap;
+}
+
+
+.box {
+  padding: 4px;
+  margin: 10px auto 0px auto;
+  text-align: left;
+}
+
+#legend {
+  margin: 2px;
+}
+
+#legend tr, #legend td{
+  padding: 3px 2px 3px 2px;
+  margin: 1px;
+}
+
+#legend th{
+  border-bottom: 1px solid #999999;
+}
+
+#legend .oddrow{
+  background-color: #f8f8f8;
+}
+
+#legend .oddrow td{
+  border-bottom: 1px solid #d8d8d8;
+}
+
+#legend .evenrow{
+  background-color: #fdfdfd;
+}
+
+#legend .evenrow td{
+  border-bottom: 1px solid #d8d8d8;
+}
+
+#legend .lastrow td{
+  border-bottom: 0px solid transparent !important;
+}
+
+
+
+td.legendbox {
+  border: 1px solid #999999;
+  padding: 8px 4px 2px 2px;
+  margin: 8px 2px 2px 2px;
+  text-align: left;
+  width: 90%;
+}
+
+td.wrap {
+       white-space: normal;
+    width: 20%;
+}
+
+td.linkbox {
+  padding: 4px 4px 4px 4px;
+  margin: 10px auto 0px auto;
+  max-width: 97%;
+  width: 90%;
+  min-width: 50%;
+  white-space: normal;
+}
+
+#generated-table {
+  width: 90%;
+  margin: 1em auto -0.5em auto;
+  padding-right: 0.5em;
+  background-color: #fbfbfb;
+  border: 1px solid #bbc3ea;
+}
+
+#generated-table tbody td {
+  text-align: right;
+  margin: 0px;
+  padding: 0px;
+}
+
+.warntext {
+  font-weight: bold;
+  background-color: #cccc00;
+  padding: 0px;
+  margin: -1px;
+  border: 1px solid #b9b900;
+}
+
+.crittext {
+  font-weight: bold;
+  background-color: #ff6f22;
+  padding: 0px;
+  margin: -1px;
+  border: 1px solid #f16722;
+}
+
+.ruler {
+  background-color: #999999;
+  border: 0px;
+  height: 1px;
+}
+
+.ruler2 {
+  background-color: #999999;
+  border: 0px;
+  height: 2px;
+}
+
+a:link,a:visited,a:active {
+  text-decoration: none;
+}
+
+a:hover {
+  text-decoration: underline;
+}
+
+a.meek:link { 
+  color: #486aaf;
+  font-size: small;
+ }
+
+a.meek:visited { 
+  color: #af1a00;
+  font-size: small;
+ }
+
+a.meek:active { 
+  color: #486aaf;
+  font-size: small;
+ }
+
+a.meek:hover { 
+  color: #999999;
+  font-size: small;
+ }
+
+li li {
+  margin-left: -1.2em;
+}
+
+ul li {
+  margin-left: -1.2em;
+}
+
+a {
+  border-width: 0px;
+}
+
+.heading {
+  font-weight: bold;
+}
+
+a.unkn:link    { color: #ffaa00; } 
+a.unkn:visited { color: #ffaa00; } 
+a.unkn:active  { color: #ffaa00; } 
+a.unkn:hover   { color: #ffaa00; } 
+
+a.warn:link    { color: #ffd300; }
+a.warn:visited { color: #ffd300; }
+a.warn:active  { color: #ffd300; }
+a.warn:hover   { color: #ffd300; }
+
+a.crit:link    { color: #ff0000; } 
+a.crit:visited { color: #ff0000; } 
+a.crit:active  { color: #ff0000; } 
+a.crit:hover   { color: #ff0000; } 
+
+a:link    { color: #486aaf; } 
+a:visited { color: #486aaf; } 
+a:active  { color: #486aaf; } 
+a:hover   { color: #486aaf; } 
+
+img       { border-width: 2px; border-color: transparent; }
+img.warn  { border-width: 2px; border-color: #ffd300; }
+img.crit  { border-width: 2px; border-color: #ff0000; }
+img.unkn  { border-width: 2px; border-color: #ffaa00; }