# yamllint disable rule:line-length --- - 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 or collectd_plugin_exec_dhcp_pool 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 - name: "Copy dhcp_pool.pl" copy: src: dhcp_pool.pl dest: /usr/local/share/collectd/scripts/dhcp_pool.pl mode: 0755 force: true when: collectd_plugin_exec_dhcp_pool tags: - collectd - name: "Remove dhcp_pool.pl" file: path: /usr/local/share/collectd/scripts/dhcp_pool.pl state: absent when: not collectd_plugin_exec_dhcp_pool tags: - collectd