migrate away from hiera stuff
[puppet_munin.git] / README
1 == Munin ==
2
3 Munin is a performance monitoring system which creates nice RRD graphs and has
4 a very easy plugin interface. The munin homepage is http://munin.projects.linpro.no/
5
6 To use this module, follow these directions:
7
8 1. Install the "common" and "concat" module -- the munin module depends on functions
9    that are defined and installed via these modulesh, see README.common for how to do
10    this
11
12 2. You will need storedconfigs enabled in your puppet setup, to do that you need to
13    add a line to your puppet.conf in your [puppetmasterd] section which says:
14    
15    storeconfigs=true
16
17    You may wish to immediately setup a mysql/pgsql database for your storedconfigs, as
18    the default method uses sqlite, and is not very efficient, to do that you need lines
19    such as the following below the storeconfigs=true line (adjust as needed):
20
21    dbadapter=mysql
22    dbserver=localhost
23    dbuser=puppet
24    dbpassword=puppetspasswd
25
26 3. Install the "munin" module:
27
28    a. Your modules directory will need all the files included in this repository placed 
29       under a directory called "munin"
30
31    b. Add your class parameter for munin::client::allow which indicates what IP should be allowed to 
32       connect to your individual munin-nodes (this is typically your main munin host's IP):
33
34       munin_allow: '192.168.0.1'
35       
36       If you want to define more than one host, you can define them as an array:
37
38       munin_allow: ['127.0.0.1','192.168.0.1']
39
40    c. In the node definition in your site.pp for your main munin host, add the following:
41
42       include munin::host
43    
44    d. On each node that will gather munin statistics, add this line to that node's entry 
45       in site.pp (you may want to also add this to your main munin host):
46       
47       include munin::client
48
49    e. If there are particular munin plugins you want to enable or configure, you define them
50       in the node definition, like follows:
51
52       # Enable monitoring of disk stats in bytes
53       munin::plugin { df_abs: }
54
55       # Use a non-standard plugin path to use custom plugins
56       munin::plugin { "spamassassin":
57          ensure => "spamassassin",
58          script_path => "/usr/local/share/munin-plugins",
59       }
60
61       # Use a special config to pass parameters to the plugin
62       munin::plugin {
63          [ "apache_accesses", "apache_processes", "apache_volume" ]:
64             ensure => present,
65             config => "env.url http://127.0.0.1:80/server-status?auto"
66       }
67
68
69    f. If you have Linux-Vservers configured, you will likely have multiple munin-node processes
70       competing for the default port 4949, for those nodes, set an alternate port for munin-node
71       to run on by putting something similar to the following class parameter:
72
73       port => 4948
74
75    g. If you'd like to do cgi graphing, please note the following page: http://munin.projects.linpro.no/wiki/CgiHowto
76       For CentOS this is enabled in the default header config
77
78    h. Per default (on CentOS) munin will send warnings and critical messages to root