ansible-roles/dovecot/tasks/munin.yml

74 lines
2.1 KiB
YAML

---
- name: is Munin present ?
ansible.builtin.stat:
path: /etc/munin/plugin-conf.d/munin-node
check_mode: no
register: munin_node_plugins_config
- name: Munin plugins are present and configured
block:
- name: Disable Dovecot plugin
ansible.builtin.file:
path: /etc/munin/plugins/dovecot
state: absent
- name: Remove old Dovecot plugin conf
ansible.builtin.file:
path: "/etc/munin/plugin-conf.d/{{ item }}"
state: absent
loop:
- dovecot
- z-evolinux-dovecot
- name: "Remount /usr if needed"
ansible.builtin.include_role:
name: remount-usr
- name: Ensures /usr/local/lib/munin/plugins/ dir exists
ansible.builtin.file:
path: "/usr/local/lib/munin/plugins/"
state: directory
mode: "0755"
- name: Install dovecot1 plugin
# Original from https://github.com/munin-monitoring/contrib/blob/master/plugins/dovecot/dovecot1
ansible.builtin.copy:
src: munin_plugin_dovecot1
dest: /usr/local/lib/munin/plugins/dovecot1
mode: "0755"
- name: Install dovecot_stats_ plugin
# Modified from https://github.com/munin-monitoring/contrib/blob/master/plugins/dovecot/dovecot_stats_
ansible.builtin.copy:
src: munin_plugin_dovecot_stats_
dest: /usr/local/lib/munin/plugins/dovecot_stats_
mode: "0755"
tags: dovecot_stats_
- name: Copy Munin config
ansible.builtin.copy:
src: munin_plugins.conf
dest: /etc/munin/plugin-conf.d/zzz-dovecot
mode: '0644'
notify: restart munin-node
- name: Enable dovecot1 plugin
ansible.builtin.file:
src: "/usr/local/lib/munin/plugins/dovecot1"
dest: "/etc/munin/plugins/dovecot1"
state: link
when: not ansible_check_mode
- name: Enable wildcard dovecot_stats_ plugin for all domains
ansible.builtin.file:
src: "/usr/local/lib/munin/plugins/dovecot_stats_"
dest: "/etc/munin/plugins/dovecot_stats_global"
state: link
when: not ansible_check_mode
tags: dovecot_stats_
when: munin_node_plugins_config.stat.exists