--- - name: Create node_exporter user user: name: node_exporter shell: /bin/false system: yes #- name: Download node_exporter # get_url: # url: "https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz" # dest: "/tmp/node_exporter.tar.gz" - name: Download node_exporter (Robust Method) block: - name: Try downloading with get_url get_url: url: "https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz" dest: "/tmp/node_exporter.tar.gz" rescue: - name: Install curl for fallback apt: name: curl state: present - name: Fallback downloading with curl command: > curl -L -o /tmp/node_exporter.tar.gz https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz args: creates: /tmp/node_exporter.tar.gz - name: Unarchive node_exporter unarchive: src: "/tmp/node_exporter.tar.gz" dest: "/tmp" remote_src: yes - name: Install node_exporter binary copy: src: "/tmp/node_exporter-1.7.0.linux-amd64/node_exporter" dest: "/usr/local/bin/node_exporter" mode: '0755' remote_src: yes notify: Restart node_exporter - name: Create systemd service file template: src: node_exporter.service.j2 dest: /etc/systemd/system/node_exporter.service notify: Restart node_exporter - name: Enable and start node_exporter systemd: name: node_exporter state: started enabled: yes