From 6649db745aa7b8310e1f2ee2af775bd2081c7ff0 Mon Sep 17 00:00:00 2001 From: jamesp9 Date: Fri, 2 Oct 2015 14:38:55 +1000 Subject: [PATCH] enable common plugins on node --- README.rst | 7 +++++++ munin/map.jinja | 3 +++ munin/node/plugins.sls | 19 +++++++++++++++++++ pillar.example | 9 +++++++++ 4 files changed, 38 insertions(+) create mode 100644 munin/node/plugins.sls diff --git a/README.rst b/README.rst index a60bf90..af0a4de 100644 --- a/README.rst +++ b/README.rst @@ -39,6 +39,13 @@ Includes ``munin.node``. Generates a config file for the munin node based on pillar data. +``munin.node.plugins`` +---------------------- + +Includes ``munin.node``. + +Symlinks the desired plugins on the munin node based on pillar data. + ``munin.tls`` ------------- diff --git a/munin/map.jinja b/munin/map.jinja index b18f4a6..f600650 100644 --- a/munin/map.jinja +++ b/munin/map.jinja @@ -22,18 +22,21 @@ 'service': 'munin-node', 'config': '/etc/munin/munin-node.conf', 'config_src': 'salt://munin/files/munin-node.conf', + 'plugin_dir': '/usr/share/munin/plugins', }, 'RedHat': { 'package': 'munin-node', 'service': 'munin-node', 'config': '/etc/munin/munin-node.conf', 'config_src': 'salt://munin/files/munin-node.conf', + 'plugin_dir': '/usr/share/munin/plugins', }, 'Arch': { 'package': 'munin-node', 'service': 'munin-node', 'config': '/etc/munin/munin-node.conf', 'config_src': 'salt://munin/files/munin-node.conf', + 'plugin_dir': '/usr/lib/munin/plugins', }, }, merge=salt['pillar.get']('munin_node:lookup')) %} diff --git a/munin/node/plugins.sls b/munin/node/plugins.sls new file mode 100644 index 0000000..b41638f --- /dev/null +++ b/munin/node/plugins.sls @@ -0,0 +1,19 @@ +{% from "munin/map.jinja" import munin_node with context %} + +include: + - munin.node + +# Enable common plugins +{% for plugin, linked_file in pillar.get('munin_node_common_plugins', {}).items() %} +/etc/munin/plugins/{{ plugin }}: + file.symlink: + - target: {{ munin_node.plugin_dir}}/{{ linked_file }} + - user: root + - group: root + - mode: 755 +{% endfor %} + +{{ munin_node.service }}: + service.running: + - watch: + - file: /etc/munin/plugins/* diff --git a/pillar.example b/pillar.example index 6b0b9c9..743a052 100644 --- a/pillar.example +++ b/pillar.example @@ -45,3 +45,12 @@ munin_tls: -----BEGIN CERTIFICATE----- Inline CA certificate key -----END CERTIFICATE----- + +munin_node_common_plugins: + cpu: cpu + df: df + memory: memory + uptime: uptime + users: users + load: load + if_eth0: if_