--- ## TODO: pin version - name: install apt packages apt: name: prom-exporter-node state: present - name: create directory for textfile collector file: path: /var/lib/prometheus-node-exporter/textfile-collector state: directory - name: generate systemd service unit template: src: service.j2 dest: /etc/systemd/system/prometheus-node-exporter.service notify: restart prometheus-node-exporter - name: make sure prometheus-node-exporter is enabled and started systemd: name: prometheus-node-exporter.service daemon_reload: yes state: started enabled: yes - name: register exporter copy: content: | method: http http: port: 9100 dest: /etc/prometheus/exporter/exporter/node.yml notify: reload prometheus-exporter-exporter - name: create directory for textfile collector scripts file: path: /usr/local/lib/prometheus-node-exporter state: directory - name: install textfile collector script wrapper copy: content: | #!/bin/bash if [ -z "$1" ]; then echo "Please specify which collector script to call!" exit 1 fi collector="$1" set -e rm -f "/var/lib/prometheus-node-exporter/textfile-collector/$collector.prom".* "/usr/local/lib/prometheus-node-exporter/$collector" > "/var/lib/prometheus-node-exporter/textfile-collector/$collector.prom.$$" mv "/var/lib/prometheus-node-exporter/textfile-collector/$collector.prom.$$" "/var/lib/prometheus-node-exporter/textfile-collector/$collector.prom" dest: /usr/local/lib/prometheus-node-exporter/run-collector mode: 0755 - name: install the apt textfile collector script when: ansible_pkg_mgr == "apt" vars: textfile_collector_name: "apt" include_tasks: textfile_collector_script.yml - name: install all other textfile collector scripts loop: "{{ prometheus_exporter_node_textfile_collector_scripts }}" loop_control: loop_var: textfile_collector_name include_tasks: textfile_collector_script.yml