geerlingguy.munin-node
Ansible Role: Munin Node
This role installs munin-node
, which is a monitoring tool, on RedHat/CentOS or Debian/Ubuntu servers.
Requirements
For RedHat/CentOS users, ensure the EPEL repository is installed before using this role. You can do this using the geerlingguy.repo-epel
role.
Role Variables
Here are the available configuration variables and their default values:
munin_node_bind_host
: "*"- This defines the IP address where
munin-node
will listen. You can use127.0.0.1
(localhost) or*
(all addresses). The default port is4949
.
- This defines the IP address where
munin_node_host_name
: ''- Specify this if the Munin master shows an incorrect hostname when connecting to
munin-node
. Usually, the default should work fine.
- Specify this if the Munin master shows an incorrect hostname when connecting to
munin_node_allowed_ips
:- This is a list of IP addresses that can access the server. Use Python-style regular expressions and single quotes for escaping.
- '^127.0.0.1$'
- '^::1$'
- This is a list of IP addresses that can access the server. Use Python-style regular expressions and single quotes for escaping.
munin_node_allowed_cidrs
: []- List of allowed IP networks in CIDR format, like
10.0.0.0/8
. Hosts in these networks can access the server.
- List of allowed IP networks in CIDR format, like
munin_node_denied_cidrs
: []- List of denied IP networks in CIDR format. Hosts in these networks will be blocked from accessing the server. This takes priority over allowed networks.
Configuring Munin Plugins
You can enable plugins by using the munin_node_plugins
list. For example:
munin_node_plugins
:- name: uptime
If the plugin name does not match the expected name, include a plugin
field:
munin_node_plugins
:- name: if_eth0
- plugin: if_
Plugin settings
For extra configuration for your added plugins, use a hashmap with the plugin's name and its settings. For example:
munin_node_config
: { "ps_test": { "env.regex": "bash", "env.name": "bash" } }
This will create a configuration file at /etc/munin/plugin-conf.d/ansible.conf
with:
- [ps_test]
- env.regex bash
- env.name bash
Installing External Plugins
You can also add external plugins using munin_node_install_plugins
. These can be sourced from local files or downloaded. Example:
munin_node_install_plugins
: []- src: files/munin/redis_
Dependencies
None.
Example Playbook
Here’s how you can use this role in a playbook:
- hosts: servers
- roles:
- { role: geerlingguy.munin-node }
- roles:
License
MIT / BSD
Author Information
This role was created in 2014 by Jeff Geerling, the author of Ansible for DevOps.
Rafał Trójniak ansible-galaxy@trojniak.net added the Munin plugin configuration.
Munin node monitoring endpoint for RedHat/CentOS or Debian/Ubuntu.
ansible-galaxy install geerlingguy.munin-node