Files
ansible/roles/munin-client/tasks/main.yml

110 lines
2.5 KiB
YAML

- 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
## Adding modules for specific functions
- name: install LWP::UserAgent
package:
name: libwww-perl
state: present
notify:
- restart munin-node
when: "'webservers' in group_names or 'loadbalancers' in group_names"
- name: add HAProxy backend module
file:
src: /usr/share/munin/plugins/haproxy_
dest: /etc/munin/plugins/haproxy_current
state: link
notify:
- restart munin-node
when: "'loadbalancers' in group_names"
- name: install Cache::Cache
package:
name: libcache-cache-perl
state: present
notify:
- restart munin-node
when: "'mariadbservers' in group_names"
- name: install DBD::Pg
package:
name: libdbd-pg-perl
state: present
notify:
- restart munin-node
when: "'pgsqlservers' 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 everyone
- name: "delete {{ item }}"
file:
path: "/etc/munin/plugins/{{ item }}"
state: absent
when: munin_need_reconfigure
loop:
- uptime
- users
## Useless junks for LXC
- name: "delete {{ item }} from LXC machines"
file:
path: "/etc/munin/plugins/{{ item }}"
state: absent
notify:
- restart munin-node
when: ansible_facts['virtualization_type'] == "lxc"
loop:
- cpuspeed
- diskstats
- entropy
- irqstats
## 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"