diff options
Diffstat (limited to 'roles/monitoring/collectd/network/server')
4 files changed, 70 insertions, 0 deletions
diff --git a/roles/monitoring/collectd/network/server/defaults/main.yml b/roles/monitoring/collectd/network/server/defaults/main.yml new file mode 100644 index 00000000..0f531395 --- /dev/null +++ b/roles/monitoring/collectd/network/server/defaults/main.yml @@ -0,0 +1,8 @@ +--- +# collectd_network_server_listen: +# - "192.0.2.1" + +# collectd_network_server_auth: +# level: (Sign|Encrypt) +# users: +# foo: "secret" diff --git a/roles/monitoring/collectd/network/server/handlers/main.yml b/roles/monitoring/collectd/network/server/handlers/main.yml new file mode 100644 index 00000000..6bb81b5a --- /dev/null +++ b/roles/monitoring/collectd/network/server/handlers/main.yml @@ -0,0 +1,5 @@ +--- +- name: restart collectd + service: + name: collectd + state: restarted diff --git a/roles/monitoring/collectd/network/server/tasks/main.yml b/roles/monitoring/collectd/network/server/tasks/main.yml new file mode 100644 index 00000000..63eb9221 --- /dev/null +++ b/roles/monitoring/collectd/network/server/tasks/main.yml @@ -0,0 +1,40 @@ +--- +- name: install network-server config + template: + src: network-server.conf.j2 + dest: /etc/collectd/conf.d/network-server.conf + mode: 0644 + notify: restart collectd + +- name: install auth information + when: collectd_network_server_auth is defined + copy: + content: | + {% for user, password in collectd_network_server_auth.users.items() %} + {{ user }}: {{ password }} + {% endfor %} + dest: /etc/collectd/conf.d/auth_file + mode: 0400 + notify: restart collectd + +- name: install custom types.db + when: collectd_network_server_custom_types is defined + block: + - name: generate custom types.db + copy: + content: |+ + {% for name, spec in collectd_network_server_custom_types.items() %} + {{ name }} {{ spec }} + {% endfor %} + dest: /etc/collectd/conf.d/types.db.custom + mode: 0644 + notify: restart collectd + + - name: enable custom types.db + copy: + content: | + TypesDB "/usr/share/collectd/types.db" + TypesDB "/etc/collectd/conf.d/types.db.custom" + dest: /etc/collectd/conf.d/types.conf + mode: 0644 + notify: restart collectd diff --git a/roles/monitoring/collectd/network/server/templates/network-server.conf.j2 b/roles/monitoring/collectd/network/server/templates/network-server.conf.j2 new file mode 100644 index 00000000..95fe5092 --- /dev/null +++ b/roles/monitoring/collectd/network/server/templates/network-server.conf.j2 @@ -0,0 +1,17 @@ +LoadPlugin network + +<Plugin "network"> +{% for addr in collectd_network_server_listen %} +{% if collectd_network_server_auth is defined %} +{% if not loop.first %} + +{% endif %} + <Listen "{{ addr }}"> + SecurityLevel "{{ collectd_network_server_auth.level }}" + AuthFile "/etc/collectd/conf.d/auth_file" + </Listen> +{% else %} + Listen "{{ addr }}" +{% endif %} +{% endfor %} +</Plugin> |