Installation/configuration de Munin
This commit is contained in:
4
roles/munin-client/handlers/main.yml
Normal file
4
roles/munin-client/handlers/main.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
- name: restart munin-node
|
||||
service:
|
||||
name: munin-node
|
||||
state: restarted
|
68
roles/munin-client/tasks/main.yml
Normal file
68
roles/munin-client/tasks/main.yml
Normal 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"
|
64
roles/munin-client/templates/munin-node.conf.j2
Normal file
64
roles/munin-client/templates/munin-node.conf.j2
Normal 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
|
Reference in New Issue
Block a user