Initial commit of munin role for RedHat/CentOS.
commit
525585fb83
|
|
@ -0,0 +1,35 @@
|
||||||
|
# Ansible Role: Munin
|
||||||
|
|
||||||
|
[](https://travis-ci.org/geerlingguy/ansible-role-munin)
|
||||||
|
|
||||||
|
Installs munin, a monitoring system, on RedHat/CentOS.
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
## Role Variables
|
||||||
|
|
||||||
|
Available variables are listed below, along with default values (see `vars/main.yml`):
|
||||||
|
|
||||||
|
TODO
|
||||||
|
|
||||||
|
## Dependencies
|
||||||
|
|
||||||
|
- geerlingguy.repo-epel
|
||||||
|
|
||||||
|
Additionally, if you'd like to view the graphs via HTTP, you will need a server like Apache or Nginx running, to serve the munin-generated HTML and graphs.
|
||||||
|
|
||||||
|
## Example Playbook
|
||||||
|
|
||||||
|
- hosts: servers
|
||||||
|
roles:
|
||||||
|
- { role: geerlingguy.munin }
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
MIT / BSD
|
||||||
|
|
||||||
|
## Author Information
|
||||||
|
|
||||||
|
This role was created in 2014 by [Jeff Geerling](http://jeffgeerling.com/), author of [Ansible for DevOps](http://ansiblefordevops.com/).
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
---
|
||||||
|
# TODO
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
---
|
||||||
|
dependencies:
|
||||||
|
- { role: geerlingguy.repo-epel }
|
||||||
|
|
||||||
|
galaxy_info:
|
||||||
|
author: geerlingguy
|
||||||
|
description: Munin monitoring server for RedHat/CentOS.
|
||||||
|
company: "Midwestern Mac, LLC"
|
||||||
|
license: "license (BSD, MIT)"
|
||||||
|
min_ansible_version: 1.4
|
||||||
|
platforms:
|
||||||
|
- name: EL
|
||||||
|
versions:
|
||||||
|
- all
|
||||||
|
categories:
|
||||||
|
- monitoring
|
||||||
|
- system
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
---
|
||||||
|
- name: Ensure python-passlib is installed (RedHat).
|
||||||
|
yum: pkg=python-passlib state=installed
|
||||||
|
|
||||||
|
- name: Ensure munin is installed (RedHat).
|
||||||
|
yum: pkg=munin state=installed
|
||||||
|
|
||||||
|
- name: Copy munin configurations.
|
||||||
|
template: >
|
||||||
|
src={{ item.src }}
|
||||||
|
dest={{ item.dest }}
|
||||||
|
owner=root group=root mode=644
|
||||||
|
with_items:
|
||||||
|
- { src: munin.conf.j2, dest: /etc/munin/munin.conf }
|
||||||
|
- { src: hosts.conf.j2, dest: /etc/munin/conf.d/hosts.conf }
|
||||||
|
|
||||||
|
- name: Create munin user via htpasswd.
|
||||||
|
htpasswd: >
|
||||||
|
create=yes
|
||||||
|
name={{ munin_admin_user }}
|
||||||
|
password={{ munin_admin_password }}
|
||||||
|
path=/etc/munin/munin-htpasswd
|
||||||
|
state=present
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
# Munin hosts.
|
||||||
|
{% for host in munin_hosts %}
|
||||||
|
[{{ host.name }}]
|
||||||
|
address {{ host.address }}
|
||||||
|
{% if host.extra %}
|
||||||
|
{% for extra in host.extra %}
|
||||||
|
{{ extra }}
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% endfor %}
|
||||||
|
|
@ -0,0 +1,82 @@
|
||||||
|
# Munin master configuration.
|
||||||
|
|
||||||
|
# Location of the databases, HTML output, logs, and pid files.
|
||||||
|
dbdir {{ munin_dbdir }}
|
||||||
|
htmldir {{ munin_htmldir }}
|
||||||
|
logdir {{ munin_logdir }}
|
||||||
|
rundir {{ munin_rundir }}
|
||||||
|
|
||||||
|
# Where to look for the HTML templates
|
||||||
|
tmpldir /etc/munin/templates
|
||||||
|
|
||||||
|
# Where to look for the static www files
|
||||||
|
#staticdir /etc/munin/static
|
||||||
|
|
||||||
|
# temporary cgi files are here. note that it has to be writable by
|
||||||
|
# the cgi user (usually nobody or httpd).
|
||||||
|
#
|
||||||
|
# cgitmpdir @@CGITMPDIR@@
|
||||||
|
|
||||||
|
# (Exactly one) directory to include all files from.
|
||||||
|
includedir /etc/munin/conf.d
|
||||||
|
|
||||||
|
# You can choose the time reference for "DERIVE" like graphs, and show
|
||||||
|
# "per minute", "per hour" values instead of the default "per second"
|
||||||
|
#graph_period second
|
||||||
|
|
||||||
|
# Graphics files are generated either via cron or by a CGI process.
|
||||||
|
# See http://munin-monitoring.org/wiki/CgiHowto2 for more
|
||||||
|
# documentation.
|
||||||
|
# Since 2.0, munin-graph has been rewritten to use the cgi code.
|
||||||
|
# It is single threaded *by design* now.
|
||||||
|
graph_strategy cron
|
||||||
|
|
||||||
|
# munin-cgi-graph is invoked by the web server up to very many times at the
|
||||||
|
# same time. This is not optimal since it results in high CPU and memory
|
||||||
|
# consumption to the degree that the system can thrash. Again the default is
|
||||||
|
# 6. Most likely the optimal number for max_cgi_graph_jobs is the same as
|
||||||
|
# max_graph_jobs.
|
||||||
|
#munin_cgi_graph_jobs 6
|
||||||
|
|
||||||
|
# If the automatic CGI url is wrong for your system override it here:
|
||||||
|
cgiurl_graph /munin-cgi/munin-cgi-graph
|
||||||
|
|
||||||
|
# max_size_x and max_size_y are the max size of images in pixel.
|
||||||
|
# Default is 4000. Do not make it too large otherwise RRD might use all
|
||||||
|
# RAM to generate the images.
|
||||||
|
#max_size_x 4000
|
||||||
|
#max_size_y 4000
|
||||||
|
|
||||||
|
# HTML files are normally generated by munin-html, no matter if the
|
||||||
|
# files are used or not. You can change this to on-demand generation
|
||||||
|
# by following the instructions in http://munin-monitoring.org/wiki/CgiHowto2
|
||||||
|
# Notes:
|
||||||
|
# - moving to CGI for HTML means you cannot have graph generated by cron.
|
||||||
|
# - cgi html has some bugs, mostly you still have to launch munin-html by hand
|
||||||
|
html_strategy {{ munin_html_strategy }}
|
||||||
|
|
||||||
|
# munin-update runs in parallel.
|
||||||
|
#
|
||||||
|
# The default max number of processes is 16, and is probably ok for you.
|
||||||
|
#
|
||||||
|
# If set too high, it might hit some process/ram/filedesc limits.
|
||||||
|
# If set too low, munin-update might take more than 5 min.
|
||||||
|
#
|
||||||
|
# If you want munin-update to not be parallel set it to 0.
|
||||||
|
max_processes {{ munin_max_processes }}
|
||||||
|
|
||||||
|
# RRD updates are per default, performed directly on the rrd files.
|
||||||
|
# To reduce IO and enable the use of the rrdcached, uncomment it and set it to
|
||||||
|
# the location of the socket that rrdcached uses.
|
||||||
|
#rrdcached_socket /var/run/rrdcached.sock
|
||||||
|
|
||||||
|
# Drop somejuser@fnord.comm and anotheruser@blibb.comm an email everytime
|
||||||
|
# something changes (OK -> WARNING, CRITICAL -> OK, etc)
|
||||||
|
#contact.someuser.command mail -s "Munin notification" somejuser@fnord.comm
|
||||||
|
#contact.anotheruser.command mail -s "Munin notification" anotheruser@blibb.comm
|
||||||
|
#
|
||||||
|
# For those with Nagios, the following might come in handy. In addition,
|
||||||
|
# the services must be defined in the Nagios server as well.
|
||||||
|
#contact.nagios.command /usr/bin/send_nsca nagios.host.comm -c /etc/nsca.conf
|
||||||
|
|
||||||
|
# Hosts are defined separately, in /etc/munin/conf.d/hosts.conf
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
localhost
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
- hosts: localhost
|
||||||
|
remote_user: root
|
||||||
|
roles:
|
||||||
|
- ansible-role-munin
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
---
|
||||||
|
munin_dbdir: /var/lib/munin
|
||||||
|
munin_htmldir: /var/www/html/munin
|
||||||
|
munin_logdir: /var/log/munin
|
||||||
|
munin_rundir: /var/run/munin
|
||||||
|
|
||||||
|
munin_html_strategy: cron
|
||||||
|
|
||||||
|
munin_max_processes: 12
|
||||||
|
|
||||||
|
munin_admin_user: munin
|
||||||
|
munin_admin_password: munin
|
||||||
|
|
||||||
|
# Will be translated into:
|
||||||
|
# [host]
|
||||||
|
# address: [name]
|
||||||
|
# [extra.0]
|
||||||
|
# [extra.1]
|
||||||
|
# [...]
|
||||||
|
#
|
||||||
|
# Note that `name` can be hostname, or group + hostname, for example:
|
||||||
|
# [example.com;foo.example.com]
|
||||||
|
munin_hosts:
|
||||||
|
- {
|
||||||
|
name: "localhost",
|
||||||
|
address: "127.0.0.1",
|
||||||
|
extra: ["use_node_name yes"]
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue