diff --git a/roles/collectd-nut/defaults/main.yml b/roles/collectd-nut/defaults/main.yml new file mode 100644 index 0000000..f45985e --- /dev/null +++ b/roles/collectd-nut/defaults/main.yml @@ -0,0 +1,2 @@ +collectd_load_nut_plugin: true +collectd_nut_ups: [] diff --git a/roles/collectd-nut/handlers/main.yml b/roles/collectd-nut/handlers/main.yml new file mode 100644 index 0000000..8c93f7a --- /dev/null +++ b/roles/collectd-nut/handlers/main.yml @@ -0,0 +1,4 @@ +- name: restart collectd + service: + name: collectd + state: restarted diff --git a/roles/collectd-nut/tasks/main.yml b/roles/collectd-nut/tasks/main.yml new file mode 100644 index 0000000..f4019a2 --- /dev/null +++ b/roles/collectd-nut/tasks/main.yml @@ -0,0 +1,26 @@ +- name: ensure collectd nut plugin is installed + package: + name: collectd-nut + state: present + tags: + - install + +- name: ensure collectd nut plugin is configured + template: + src: collectd-nut.conf.j2 + dest: /etc/collectd.d/nut.conf + mode: u=rw,go=r + notify: + - restart collectd + tags: + - collectd-config + +- name: ensure collectd is allowed to connect to nut + seboolean: + name: collectd_tcp_network_connect + state: true + persistent: true + notify: + - restart collectd + tags: + - selinux diff --git a/roles/collectd-nut/templates/collectd-nut.conf.j2 b/roles/collectd-nut/templates/collectd-nut.conf.j2 new file mode 100644 index 0000000..9f2f20c --- /dev/null +++ b/roles/collectd-nut/templates/collectd-nut.conf.j2 @@ -0,0 +1,9 @@ +{% if collectd_load_nut_plugin %} +LoadPlugin nut + +{% endif %} + +{% for ups in collectd_nut_ups %} + UPS "{{ ups }}" +{% endfor %} +