geerlingguy.munin
Ansible Role: Munin
This Ansible role installs Munin, which is a system for monitoring servers, on RedHat/CentOS/Rocky Linux or Debian/Ubuntu servers.
Requirements
For RedHat-based systems, you need to install the EPEL repository. You can do this easily using the geerlingguy.repo-epel
role.
If you want to see Munin's graphs and reports through a web browser, you will need an HTTP server like Apache or Nginx.
Role Variables
Here are some important variables you can set, along with their default values (check defaults/main.yml
for more details):
munin_packages:
- Includes packages needed for Munin. If you're using Python 3, change the first item to
python3-passlib
.
- Includes packages needed for Munin. If you're using Python 3, change the first item to
munin_dbdir: The directory for Munin's database files, default is
/var/lib/munin
.munin_htmldir: Where the HTML files are stored, default is
/var/www/html/munin
.munin_logdir: The directory for log files, default is
/var/log/munin
.munin_rundir: Where Munin's runtime files are kept, default is
/var/run/munin
.munin_includedir: The configuration directory, default is
/etc/munin/conf.d
.munin_html_strategy: How the HTML reports are generated, default is by cron.
munin_graph_strategy: How the graphs are generated, default is by cron.
munin_max_processes: Maximum number of processes Munin can use, default is 12.
For more information on configurations, check the official Munin documentation for munin.conf.
munin_cron_job: If set to
present
, the Munin cron job (which runs every 5 minutes) will be active. Change it toabsent
to keep Munin installed but disable monitoring.munin_admin_user: The username for accessing the Munin web interface, default is
munin
.munin_admin_password: The password for accessing the Munin web interface, default is
munin
.
These settings help create a password-protected access for the Munin pages (works best with default Apache settings).
munin_hosts: A list of hosts Munin will monitor. Each entry will be added to the Munin configuration. Example entry:
[localhost] address: 127.0.0.1 use_node_name yes
For more details, see the documentation on Munin Node Definitions.
munin_alerts: Configure email alerts for notifications using this variable. Example:
- name: "JohnDoe" email: "[email protected]" subject: "Munin-notification for ${var:group} :: ${var:host}" level: "warning critical"
Dependencies
There are no dependencies.
Example Playbook
Here is a sample playbook to use this role:
- hosts: servers
roles:
- geerlingguy.munin
License
This role is licensed under MIT / BSD.
Author Information
This role was created by Jeff Geerling in 2014, who is also the author of Ansible for DevOps.
Munin monitoring server for RedHat/CentOS or Debian/Ubuntu.
ansible-galaxy install geerlingguy.munin