--- - name: Install prometheus-node-exporter ansible.builtin.apt: name: - prometheus-node-exporter - prometheus-node-exporter-collectors install_recommends: false # Do not install smartmontools - name: Configure prometheus-node-exporter ansible.builtin.template: src: default.j2 dest: /etc/default/prometheus-node-exporter owner: root group: root mode: u=rw,g=r,o=r notify: - Restart prometheus-node-exporter - name: Install smartmontools ansible.builtin.apt: name: smartmontools when: - "prometheus__smart_enabled" - name: Disable SMART monitoring block: - name: Get unit info for smartmon timer command: systemctl list-unit-files --output=json prometheus-node-exporter-smartmon.timer register: unit - name: Disable prometheus-node-exporter-smartmon.timer ansible.builtin.systemd_service: name: prometheus-node-exporter-smartmon.timer enabled: false state: stopped when: "unit.stdout | from_json | count > 0" - name: Remove smartmon.prom ansible.builtin.file: path: /var/lib/prometheus/node-exporter/smartmon.prom state: absent when: - "not prometheus__smart_enabled" - name: Create override directory ansible.builtin.file: path: /etc/systemd/system/prometheus-node-exporter.service.d state: directory owner: root group: root mode: u=rwx,g=rx,o=rx - name: Override prometheus-node-exporter.service ansible.builtin.template: src: override.conf.j2 dest: /etc/systemd/system/prometheus-node-exporter.service.d/override.conf owner: root group: root mode: u=rw,g=r,o=r notify: - Run daemon-reload - Restart prometheus-node-exporter - name: Enable prometheus-node-exporter ansible.builtin.systemd_service: name: prometheus-node-exporter enabled: true state: started ...