Installation/configuration de Munin

This commit is contained in:
VC
2019-12-31 15:25:24 +01:00
parent 79c54a22c3
commit fddbc1c9b4
11 changed files with 327 additions and 1 deletions

View File

@@ -0,0 +1,4 @@
- name: restart munin-node
service:
name: munin-node
state: restarted

View File

@@ -0,0 +1,68 @@
- set_fact:
muninpkgs:
- muninlite
munin_need_reconfigure: False
when: ansible_facts['distribution'] == "LEDE" or ansible_facts['distribution'] == "OpenWRT"
- set_fact:
muninpkgs:
- munin-node
- munin-plugins-core
- munin-plugins-extra
munin_need_reconfigure: True
when: ansible_facts['distribution'] == "Debian"
- name: install munin node packages
package:
name: "{{ item }}"
state: present
loop: "{{ muninpkgs }}"
- name: munin-node conf file
template:
src: munin-node.conf.j2
dest: /etc/munin/munin-node.conf
notify:
- restart munin-node
when: munin_need_reconfigure
- name: install LWP::UserAgent
package:
name: libwww-perl
state: present
notify:
- restart munin-node
when: "'webservers' in group_names"
- name: reconfigure munin-node
shell:
cmd: munin-node-configure --shell | sh
notify:
- restart munin-node
when: munin_need_reconfigure
## Useless junks for LXC
- name: delete diskstats from LXC machines
file:
path: /etc/munin/plugins/diskstats
state: absent
notify:
- restart munin-node
when: ansible_facts['virtualization_type'] == "lxc"
## Useless junks for hypervisors
- name: delete squid plugins
shell:
cmd: "rm -f /etc/munin/plugins/squid_*"
warn: False
notify:
- restart munin-node
when: "'hypervisors' in group_names"
- name: delete lxc interfaces plugins
shell:
cmd: "rm -f /etc/munin/plugins/if_*veth* /etc/munin/plugins/if_*fw* /etc/munin/plugins/if_*vmbr*"
warn: False
notify:
- restart munin-node
when: "'hypervisors' in group_names"

View File

@@ -0,0 +1,64 @@
#
# Example config-file for munin-node
#
log_level 4
log_file /var/log/munin/munin-node.log
pid_file /var/run/munin/munin-node.pid
background 1
setsid 1
user root
group root
# This is the timeout for the whole transaction.
# Units are in sec. Default is 15 min
#
# global_timeout 900
# This is the timeout for each plugin.
# Units are in sec. Default is 1 min
#
# timeout 60
# Regexps for files to ignore
ignore_file [\#~]$
ignore_file DEADJOE$
ignore_file \.bak$
ignore_file %$
ignore_file \.dpkg-(tmp|new|old|dist)$
ignore_file \.rpm(save|new)$
ignore_file \.pod$
# Set this if the client doesn't report the correct hostname when
# telnetting to localhost, port 4949
#
host_name {{ inventory_hostname }}
# A list of addresses that are allowed to connect. This must be a
# regular expression, since Net::Server does not understand CIDR-style
# network notation unless the perl module Net::CIDR is installed. You
# may repeat the allow line as many times as you'd like
allow ^{{ hostvars['munin.dmz.mateu.be']['ansible_default_ipv4']['address'].split('.')|join('\.') }}
allow ^127\.0\.0\.1$
allow ^::1$
# If you have installed the Net::CIDR perl module, you can use one or more
# cidr_allow and cidr_deny address/mask patterns. A connecting client must
# match any cidr_allow, and not match any cidr_deny. Note that a netmask
# *must* be provided, even if it's /32
#
# Example:
#
# cidr_allow 127.0.0.1/32
# cidr_allow 192.0.2.0/24
# cidr_deny 192.0.2.42/32
# Which address to bind to;
host *
# host 127.0.0.1
# And which port
port 4949