Turn munin role suitable for OpenBSD
This commit is contained in:
parent
5b2ab0d8d3
commit
ade957c08d
|
@ -0,0 +1,87 @@
|
|||
---
|
||||
|
||||
- name: Ensure that Munin is installed
|
||||
apt:
|
||||
name: '{{ item }}'
|
||||
state: present
|
||||
with_items:
|
||||
- munin
|
||||
- munin-node
|
||||
- munin-plugins-core
|
||||
- munin-plugins-extra
|
||||
tags:
|
||||
- munin
|
||||
- packages
|
||||
|
||||
- block:
|
||||
- name: Replace localdomain in Munin config
|
||||
replace:
|
||||
dest: /etc/munin/munin.conf
|
||||
regexp: 'localhost.localdomain'
|
||||
replace: '{{ ansible_fqdn }}'
|
||||
notify: restart munin-node
|
||||
|
||||
- name: Rename the localdomain data dir
|
||||
command: mv /var/lib/munin/localdomain /var/lib/munin/{{ ansible_domain }}
|
||||
args:
|
||||
creates: /var/lib/munin/{{ ansible_domain }}
|
||||
removes: /var/lib/munin/localdomain
|
||||
notify: restart munin-node
|
||||
|
||||
when: not ansible_hostname == "localdomain"
|
||||
tags:
|
||||
- munin
|
||||
|
||||
- name: Ensure some Munin plugins are disabled
|
||||
file:
|
||||
path: '/etc/munin/plugins/{{ item }}'
|
||||
state: absent
|
||||
with_items:
|
||||
- http_loadtime
|
||||
- exim_mailqueue
|
||||
- exim_mailstats
|
||||
- nfsd
|
||||
- nfsd4
|
||||
- nfs_client
|
||||
- nfs4_client
|
||||
notify: restart munin-node
|
||||
tags:
|
||||
- munin
|
||||
|
||||
- name: Ensure some Munin plugins are enabled
|
||||
file:
|
||||
src: "/usr/share/munin/plugins/{{ item }}"
|
||||
dest: "/etc/munin/plugins/{{ item }}"
|
||||
state: link
|
||||
with_items:
|
||||
- meminfo
|
||||
- netstat_multi
|
||||
- tcp
|
||||
notify: restart munin-node
|
||||
tags:
|
||||
- munin
|
||||
|
||||
- name: Enable sensors plugin unless VM detected
|
||||
file:
|
||||
src: /usr/share/munin/plugins/sensors_
|
||||
dest: /etc/munin/plugins/sensors_temp
|
||||
state: link
|
||||
when: ansible_virtualization_role != "guest"
|
||||
notify: restart munin-node
|
||||
tags:
|
||||
- munin
|
||||
|
||||
- name: adjustments for grsec kernel
|
||||
blockinfile:
|
||||
dest: /etc/munin/plugin-conf.d/munin-node
|
||||
block: |
|
||||
|
||||
[processes]
|
||||
user root
|
||||
|
||||
[vmstat]
|
||||
user root
|
||||
|
||||
[swap]
|
||||
user root
|
||||
when: ansible_kernel | search("-grs-")
|
|
@ -1,87 +1,6 @@
|
|||
---
|
||||
- include: debian.yml
|
||||
when: ansible_os_family == "Debian"
|
||||
|
||||
- name: Ensure that Munin is installed
|
||||
apt:
|
||||
name: '{{ item }}'
|
||||
state: present
|
||||
with_items:
|
||||
- munin
|
||||
- munin-node
|
||||
- munin-plugins-core
|
||||
- munin-plugins-extra
|
||||
tags:
|
||||
- munin
|
||||
- packages
|
||||
|
||||
- block:
|
||||
- name: Replace localdomain in Munin config
|
||||
replace:
|
||||
dest: /etc/munin/munin.conf
|
||||
regexp: 'localhost.localdomain'
|
||||
replace: '{{ ansible_fqdn }}'
|
||||
notify: restart munin-node
|
||||
|
||||
- name: Rename the localdomain data dir
|
||||
command: mv /var/lib/munin/localdomain /var/lib/munin/{{ ansible_domain }}
|
||||
args:
|
||||
creates: /var/lib/munin/{{ ansible_domain }}
|
||||
removes: /var/lib/munin/localdomain
|
||||
notify: restart munin-node
|
||||
|
||||
when: not ansible_hostname == "localdomain"
|
||||
tags:
|
||||
- munin
|
||||
|
||||
- name: Ensure some Munin plugins are disabled
|
||||
file:
|
||||
path: '/etc/munin/plugins/{{ item }}'
|
||||
state: absent
|
||||
with_items:
|
||||
- http_loadtime
|
||||
- exim_mailqueue
|
||||
- exim_mailstats
|
||||
- nfsd
|
||||
- nfsd4
|
||||
- nfs_client
|
||||
- nfs4_client
|
||||
notify: restart munin-node
|
||||
tags:
|
||||
- munin
|
||||
|
||||
- name: Ensure some Munin plugins are enabled
|
||||
file:
|
||||
src: "/usr/share/munin/plugins/{{ item }}"
|
||||
dest: "/etc/munin/plugins/{{ item }}"
|
||||
state: link
|
||||
with_items:
|
||||
- meminfo
|
||||
- netstat_multi
|
||||
- tcp
|
||||
notify: restart munin-node
|
||||
tags:
|
||||
- munin
|
||||
|
||||
- name: Enable sensors plugin unless VM detected
|
||||
file:
|
||||
src: /usr/share/munin/plugins/sensors_
|
||||
dest: /etc/munin/plugins/sensors_temp
|
||||
state: link
|
||||
when: ansible_virtualization_role != "guest"
|
||||
notify: restart munin-node
|
||||
tags:
|
||||
- munin
|
||||
|
||||
- name: adjustments for grsec kernel
|
||||
blockinfile:
|
||||
dest: /etc/munin/plugin-conf.d/munin-node
|
||||
block: |
|
||||
|
||||
[processes]
|
||||
user root
|
||||
|
||||
[vmstat]
|
||||
user root
|
||||
|
||||
[swap]
|
||||
user root
|
||||
when: ansible_kernel | search("-grs-")
|
||||
- include: openbsd.yml
|
||||
when: ansible_os_family == "OpenBSD"
|
||||
|
|
|
@ -0,0 +1,100 @@
|
|||
---
|
||||
|
||||
- name: Ensure that Munin is installed
|
||||
openbsd_pkg:
|
||||
name: '{{ item }}'
|
||||
state: present
|
||||
with_items:
|
||||
- munin-server
|
||||
- munin-node
|
||||
tags:
|
||||
- munin
|
||||
- packages
|
||||
|
||||
- name: Set munin.conf file
|
||||
template:
|
||||
src: munin.conf.j2
|
||||
dest: /etc/munin/munin.conf
|
||||
mode: "0644"
|
||||
tags:
|
||||
- munin
|
||||
|
||||
- name: Create munin www directory
|
||||
file:
|
||||
path: '{{ munin_dir }}'
|
||||
state: directory
|
||||
owner: _munin
|
||||
group: www
|
||||
mode: "0755"
|
||||
tags:
|
||||
- munin
|
||||
|
||||
- name: Change hostname in munin-node config
|
||||
replace:
|
||||
dest: /etc/munin/munin-node.conf
|
||||
regexp: '#?host_name .*'
|
||||
replace: 'host_name {{ ansible_hostname }}'
|
||||
notify: restart munin_node
|
||||
tags:
|
||||
- munin
|
||||
|
||||
- name: Install munin cron
|
||||
copy:
|
||||
src: "crontab"
|
||||
dest: "/var/cron/tabs/_munin"
|
||||
owner: "_munin"
|
||||
group: "crontab"
|
||||
tags:
|
||||
- munin
|
||||
|
||||
- name: Enable munin plugins
|
||||
file:
|
||||
src: "/usr/local/libexec/munin/plugins/{{ item }}"
|
||||
dest: "/etc/munin/plugins/{{ item }}"
|
||||
state: link
|
||||
with_items:
|
||||
- 'cpu'
|
||||
- 'df'
|
||||
- 'df_inode'
|
||||
- 'load'
|
||||
- 'memory'
|
||||
- 'munin_stats'
|
||||
- 'netstat'
|
||||
- 'open_files'
|
||||
- 'pf_changes'
|
||||
- 'pf_searches'
|
||||
- 'pf_states'
|
||||
- 'processes'
|
||||
- 'systat'
|
||||
- 'uptime'
|
||||
- 'users'
|
||||
- 'vmstat'
|
||||
notify: restart munin_node
|
||||
tags:
|
||||
- munin
|
||||
|
||||
- name: Enable network graphs
|
||||
file:
|
||||
src: "/usr/local/libexec/munin/plugins/if_"
|
||||
dest: "/etc/munin/plugins/if_{{ item }}"
|
||||
state: link
|
||||
with_items: "{{ ansible_interfaces }}"
|
||||
|
||||
- name: Enable sensors plugin unless VM detected
|
||||
file:
|
||||
src: /usr/share/munin/plugins/sensors_
|
||||
dest: /etc/munin/plugins/sensors_temp
|
||||
state: link
|
||||
when: ansible_vio0 is undefined
|
||||
notify: restart munin_node
|
||||
tags:
|
||||
- munin
|
||||
|
||||
- name: Activating munin_node
|
||||
service:
|
||||
name: munin_node
|
||||
enabled: yes
|
||||
state: started
|
||||
tags:
|
||||
- munin
|
||||
|
|
@ -0,0 +1,146 @@
|
|||
# Example configuration file for Munin, generated by 'make build'
|
||||
|
||||
# The next three variables specifies where the location of the RRD
|
||||
# databases, the HTML output, logs and the lock/pid files. They all
|
||||
# must be writable by the user running munin-cron. They are all
|
||||
# defaulted to the values you see here.
|
||||
#
|
||||
#dbdir /var/db/munin
|
||||
htmldir {{ munin_dir }}
|
||||
#logdir /var/log/munin
|
||||
#rundir /var/run/munin
|
||||
|
||||
# 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 /var/db/munin/cgi-tmp
|
||||
|
||||
# (Exactly one) directory to include all files from.
|
||||
includedir /etc/munin/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 /cgi-bin/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 cron
|
||||
|
||||
# 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 16
|
||||
|
||||
# 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
|
||||
|
||||
# a simple host tree
|
||||
[{{ ansible_fqdn }}]
|
||||
address 127.0.0.1
|
||||
use_node_name yes
|
||||
|
||||
#
|
||||
# A more complex example of a host tree
|
||||
#
|
||||
## First our "normal" host.
|
||||
# [fii.foo.com]
|
||||
# address foo
|
||||
#
|
||||
## Then our other host...
|
||||
# [fay.foo.com]
|
||||
# address fay
|
||||
#
|
||||
## IPv6 host. note that the ip adress has to be in brackets
|
||||
# [ip6.foo.com]
|
||||
# address [2001::1234:1]
|
||||
#
|
||||
## Then we want totals...
|
||||
# [foo.com;Totals] #Force it into the "foo.com"-domain...
|
||||
# update no # Turn off data-fetching for this "host".
|
||||
#
|
||||
# # The graph "load1". We want to see the loads of both machines...
|
||||
# # "fii=fii.foo.com:load.load" means "label=machine:graph.field"
|
||||
# load1.graph_title Loads side by side
|
||||
# load1.graph_order fii=fii.foo.com:load.load fay=fay.foo.com:load.load
|
||||
#
|
||||
# # The graph "load2". Now we want them stacked on top of each other.
|
||||
# load2.graph_title Loads on top of each other
|
||||
# load2.dummy_field.stack fii=fii.foo.com:load.load fay=fay.foo.com:load.load
|
||||
# load2.dummy_field.draw AREA # We want area instead the default LINE2.
|
||||
# load2.dummy_field.label dummy # This is needed. Silly, really.
|
||||
#
|
||||
# # The graph "load3". Now we want them summarised into one field
|
||||
# load3.graph_title Loads summarised
|
||||
# load3.combined_loads.sum fii.foo.com:load.load fay.foo.com:load.load
|
||||
# load3.combined_loads.label Combined loads # Must be set, as this is
|
||||
# # not a dummy field!
|
||||
#
|
||||
## ...and on a side note, I want them listen in another order (default is
|
||||
## alphabetically)
|
||||
#
|
||||
# # Since [foo.com] would be interpreted as a host in the domain "com", we
|
||||
# # specify that this is a domain by adding a semicolon.
|
||||
# [foo.com;]
|
||||
# node_order Totals fii.foo.com fay.foo.com
|
||||
#
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
---
|
||||
munin_dir: /home/www/munin
|
Loading…
Reference in New Issue