summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Modulefile14
-rw-r--r--README83
-rw-r--r--README.md77
3 files changed, 91 insertions, 83 deletions
diff --git a/Modulefile b/Modulefile
new file mode 100644
index 0000000..99c61a1
--- /dev/null
+++ b/Modulefile
@@ -0,0 +1,14 @@
+name 'puppet-munin'
+version '0.0.1'
+source 'git://github.com/duritong/puppet-munin.git'
+author 'duritong'
+license 'Apache License, Version 2.0'
+summary 'Puppet module for Munin monitoring'
+description 'Munin is a performance monitoring system which creates nice RRD graphs and has a very easy plugin interface'
+project_page 'https://github.com/duritong/puppet-munin'
+
+## Add dependencies, if any:
+# dependency 'username/name', '>= 1.2.0'
+dependency 'ripienaar/concat', '>= 0.2.0'
+dependency 'DavidSchmitt/common', '>= 1.0.0'
+dependency 'puppetlabs/stdlib', '>= 3.2.0'
diff --git a/README b/README
deleted file mode 100644
index ef3c2fd..0000000
--- a/README
+++ /dev/null
@@ -1,83 +0,0 @@
-== Munin ==
-
-Munin is a performance monitoring system which creates nice RRD graphs and has
-a very easy plugin interface. The munin homepage is http://munin.projects.linpro.no/
-
-To use this module, follow these directions:
-
-0. This module requires puppet 2.7 or newer.
-
-1. Install the "common", "concat" and "stdlib" modules -- the munin module
- depends on functions that are defined and installed via these modules.
-
-2. You will need storedconfigs enabled in your puppet setup, to do that you need to
- add a line to your puppet.conf in your [puppetmasterd] section which says:
-
- storeconfigs=true
-
- You may wish to immediately setup a mysql/pgsql database for your storedconfigs, as
- the default method uses sqlite, and is not very efficient, to do that you need lines
- such as the following below the storeconfigs=true line (adjust as needed):
-
- dbadapter=mysql
- dbserver=localhost
- dbuser=puppet
- dbpassword=puppetspasswd
-
-3. Install the "munin" module:
-
- a. Your modules directory will need all the files included in this repository placed
- under a directory called "munin"
-
- b. For every host you wish to gather munin statistics, add the class munin::client to that
- node. You will want to set the class parameter 'allow' to be the IP(s) of the munin
- collector, this defines what IP is permitted to connect to the node, for example:
-
- node foo {
- class { 'munin::client': allow => '192.168.0.1'}
- }
-
- for multiple munin nodes, you can pass an array:
-
- class { 'munin::client': allow => [ '192.168.0.1', '10.0.0.1' ] }
-
- c. In the node definition in your site.pp for your main munin host, add the following:
-
- class { 'munin::host': }
-
- If you want cgi graphing you can pass cgi_graphing => true.
- (For CentOS this is enabled in the default header config)
- for more information, see: http://munin.projects.linpro.no/wiki/CgiHowto
-
- d. If there are particular munin plugins you want to enable or configure, you define them
- in the node definition, like follows:
-
- # Enable monitoring of disk stats in bytes
- munin::plugin { 'df_abs': }
-
- # Use a non-standard plugin path to use custom plugins
- munin::plugin { 'spamassassin':
- ensure => present,
- script_path => '/usr/local/share/munin-plugins',
- }
-
- # For wildcard plugins (eg. ip_, snmp_, etc.), use the name variable to
- # configure the plugin name, and the ensure parameter to indicate the base
- # plugin name to which you want a symlink, for example:
- munin::plugin { [ 'ip_192.168.0.1', 'ip_10.0.0.1' ]:
- ensure => 'ip_'
- }
-
- # Use a special config to pass parameters to the plugin
- munin::plugin {
- [ 'apache_accesses', 'apache_processes', 'apache_volume' ]:
- ensure => present,
- config => 'env.url http://127.0.0.1:80/server-status?auto'
- }
-
- e. If you have Linux-Vservers configured, you will likely have multiple munin-node processes
- competing for the default port 4949, for those nodes, set an alternate port for munin-node
- to run on by putting something similar to the following class parameter:
-
- class { 'munin::client': allow => '192.168.0.1', port => '4948' }
-
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..74d82ba
--- /dev/null
+++ b/README.md
@@ -0,0 +1,77 @@
+# Puppet-Munin
+
+Munin is a performance monitoring system which creates nice RRD graphs and has
+a very easy plugin interface. The munin homepage is http://munin.projects.linpro.no/
+
+## Requirements
+
+ * puppet 2.7 or newer
+ * install the `common`, `concat` and `stdlib` modules -- the munin module depends on functions that are defined and installed via these modules
+ * you will need storedconfigs enabled in your puppet setup, to do that you need to add a line to your `puppet.conf` in your `[puppetmasterd]` section which says:
+
+ storeconfigs=true
+
+ * You may wish to immediately setup a `mysql`/ `pgsql` database for your storedconfigs, as
+ the default method uses sqlite, and is not very efficient, to do that you need lines
+ such as the following below the `storeconfigs=true` line (adjust as needed):
+
+ dbadapter=mysql
+ dbserver=localhost
+ dbuser=puppet
+ dbpassword=puppetspasswd
+
+## Usage
+
+ 1. Your modules directory will need all the files included in this repository placed
+ under a directory called "munin"
+
+ 2. For every host you wish to gather munin statistics, add the class munin::client to that
+ node. You will want to set the class parameter `allow` to be the IP(s) of the munin
+ collector, this defines what IP is permitted to connect to the node, for example:
+
+ node foo {
+ class { 'munin::client': allow => '192.168.0.1'}
+ }
+
+ for multiple munin nodes, you can pass an array:
+
+ class { 'munin::client': allow => [ '192.168.0.1', '10.0.0.1' ] }
+
+ 3. In the node definition in your site.pp for your main munin host, add the following:
+
+ class { 'munin::host': }
+
+ If you want cgi graphing you can pass `cgi_graphing => true`. (For CentOS this is enabled in the default header config) for more information, see: http://munin.projects.linpro.no/wiki/CgiHowto
+
+ 4. If there are particular munin plugins you want to enable or configure, you define them
+ in the node definition, like follows:
+
+ # Enable monitoring of disk stats in bytes
+ munin::plugin { 'df_abs': }
+
+ # Use a non-standard plugin path to use custom plugins
+ munin::plugin { 'spamassassin':
+ ensure => present,
+ script_path => '/usr/local/share/munin-plugins',
+ }
+
+ # For wildcard plugins (eg. ip_, snmp_, etc.), use the name variable to
+ # configure the plugin name, and the ensure parameter to indicate the base
+ # plugin name to which you want a symlink, for example:
+ munin::plugin { [ 'ip_192.168.0.1', 'ip_10.0.0.1' ]:
+ ensure => 'ip_'
+ }
+
+ # Use a special config to pass parameters to the plugin
+ munin::plugin {
+ [ 'apache_accesses', 'apache_processes', 'apache_volume' ]:
+ ensure => present,
+ config => 'env.url http://127.0.0.1:80/server-status?auto'
+ }
+
+ 5. If you have Linux-Vservers configured, you will likely have multiple munin-node processes
+ competing for the default port 4949, for those nodes, set an alternate port for munin-node
+ to run on by putting something similar to the following class parameter:
+
+ class { 'munin::client': allow => '192.168.0.1', port => '4948' }
+