Jérémy Dubois
ff1f728102
We put the doas authorization for collectd in the global file and we let it if collectd is not there, because otherwise the authorization would be removed if the base role was run without the collectd role, even if collectd was still running. Collectd would have been broken.
98 lines
2.1 KiB
YAML
98 lines
2.1 KiB
YAML
---
|
|
- name: Install Collectd package
|
|
openbsd_pkg:
|
|
name: "collectd"
|
|
tags:
|
|
- collectd
|
|
|
|
- name: Deploy Collectd configuration
|
|
template:
|
|
src: "collectd.conf.j2"
|
|
dest: "/etc/collectd.conf"
|
|
notify: restart collectd
|
|
tags:
|
|
- collectd
|
|
|
|
- name: Enabling Collectd
|
|
service:
|
|
name: collectd
|
|
enabled: true
|
|
tags:
|
|
- collectd
|
|
|
|
- name: Create scripts directory for exec plugins
|
|
file:
|
|
path: /usr/local/share/collectd/scripts
|
|
state: directory
|
|
when: collectd_plugin_exec_ifq_drops or collectd_plugin_exec_dns_stats
|
|
tags:
|
|
- collectd
|
|
|
|
- name: Copy ifq_drops.sh
|
|
copy:
|
|
src: ifq_drops.sh
|
|
dest: /usr/local/share/collectd/scripts/ifq_drops.sh
|
|
mode: 0755
|
|
force: true
|
|
when: collectd_plugin_exec_ifq_drops
|
|
tags:
|
|
- collectd
|
|
|
|
- name: Remove ifq_drops.sh
|
|
file:
|
|
path: /usr/local/share/collectd/scripts/ifq_drops.sh
|
|
state: absent
|
|
when: not collectd_plugin_exec_ifq_drops
|
|
tags:
|
|
- collectd
|
|
|
|
- name: Copy dns_stats.sh
|
|
copy:
|
|
src: dns_stats.sh
|
|
dest: /usr/local/share/collectd/scripts/dns_stats.sh
|
|
mode: 0755
|
|
force: true
|
|
when: collectd_plugin_exec_dns_stats
|
|
tags:
|
|
- collectd
|
|
|
|
- name: Add stats DNS on unbound
|
|
lineinfile:
|
|
path: /var/unbound/etc/unbound.conf
|
|
regexp: 'statistics-interval'
|
|
line:
|
|
' statistics-interval: {{ collectd_plugin_exec_dns_stats_interval }}'
|
|
insertafter: 'hide-version:'
|
|
backup: true
|
|
notify: reload unbound
|
|
when: collectd_plugin_exec_dns_stats
|
|
tags:
|
|
- collectd
|
|
|
|
- name: Remove dns_stats.sh
|
|
file:
|
|
path: /usr/local/share/collectd/scripts/dns_stats.sh
|
|
state: absent
|
|
when: not collectd_plugin_exec_dns_stats
|
|
tags:
|
|
- collectd
|
|
|
|
- name: Remove stats DNS on unbound
|
|
lineinfile:
|
|
path: /var/unbound/etc/unbound.conf
|
|
regexp: 'statistics-interval'
|
|
backup: true
|
|
state: absent
|
|
notify: reload unbound
|
|
when: not collectd_plugin_exec_dns_stats
|
|
tags:
|
|
- collectd
|
|
|
|
- name: Add doas configuration for dns_stats.sh execution
|
|
lineinfile:
|
|
path: /etc/doas.conf
|
|
line: 'permit nopass _collectd as root cmd /bin/cat'
|
|
when: collectd_plugin_exec_dns_stats
|
|
tags:
|
|
- collectd
|