- name: load distribution-specific values include_vars: '{{ item }}' with_first_found: - '{{ ansible_distribution }}.yml' - defaults.yml tags: - always - name: ensure collectd write_prometheus plugin is installed package: name: '{{ collectd_prometheus_package }}' state: present when: collectd_prometheus_package is not none tags: - install - name: ensure collectd-local selinux module is installed copy: src: collectd-local.pp mode: 'u=rw,go=r' dest: /var/lib/selinux/collectd-local.pp notify: - install collectd-local selinux module when: ansible_selinux.status == 'enabled' tags: - selinux - name: ensure collectd write_prometheus plugin is configured template: src: collectd-prometheus.conf.j2 dest: /etc/collectd.d/prometheus.conf mode: '0644' notify: - restart collectd tags: - collectd-config - name: ensure firewall is configured for collectd write_prometheus plugin firewalld: port: '{{ collectd_prometheus_port }}/tcp' permanent: false immediate: true state: '{{ "enabled" if collectd_prometheus_allow_outside else "disabled" }}' when: host_uses_firewalld|d(true)|bool tags: firewalld - name: ensure firewall is configured for collectd write_prometheus plugin firewalld: port: '{{ collectd_prometheus_port }}/tcp' permanent: true immediate: false state: '{{ "enabled" if collectd_prometheus_allow_outside else "disabled" }}' when: host_uses_firewalld|d(true)|bool tags: firewalld