- hosts: all:!windows:!monitoring vars: node_exporter_version: 1.11.1 interface_var_name: "ansible_wt0" interface_var_ipv4: "{{ vars[interface_var_name].ipv4.address }}" tasks: - name: download node exporter get_url: url: https://github.com/prometheus/node_exporter/releases/download/v{{ node_exporter_version }}/node_exporter-{{ node_exporter_version }}.linux-amd64.tar.gz dest: /tmp - name: unarchive node exporter unarchive: remote_src: yes src: /tmp/node_exporter-{{ node_exporter_version }}.linux-amd64.tar.gz dest: /tmp - name: move node exporter to /usr/local/bin copy: src: /tmp/node_exporter-{{ node_exporter_version }}.linux-amd64/node_exporter dest: /usr/local/bin/node_exporter remote_src: yes owner: root group: root mode: 0755 - name: install unit file to systemd template: src: templates/node_exporter.service.j2 dest: /etc/systemd/system/node_exporter.service owner: root group: root mode: 0600 - name: create config directory file: path: /etc/node_exporter state: directory owner: root group: root mode: 0700 - name: copy certificates copy: src: files/node_exporter.crt dest: /etc/node_exporter/cert.crt owner: root group: root mode: 0600 - name: copy certificate key copy: src: files/node_exporter.key dest: /etc/node_exporter/cert.key owner: root group: root mode: 0600 - name: copy node exporter config template: src: files/node_exporter.yml dest: /etc/node_exporter/config.yml owner: root group: root mode: 0600 - name: configure systemd to use service systemd: daemon_reload: yes enabled: yes state: started name: node_exporter.service