--- - name: Ensure node-exporter is reachable internally ufw: rule: allow port: 9100 src: 192.168.1.0/24 - name: Ensure node exporter group exists ansible.builtin.group: name: node_exporter - name: Ensure prometheus is a member of node_exporter group ansible.builtin.user: name: prometheus append: yes groups: - node_exporter - name: Ensure node exporter textfile directory exists file: path: /var/lib/prometheus/node-exporter state: directory owner: prometheus group: node_exporter mode: 0775 - name: Ensure textfile directory is enabled for node exporter ansible.builtin.lineinfile: path: /etc/default/prometheus-node-exporter regexp: '^ARGS' line: ARGS="--collector.textfile.directory='/var/lib/prometheus/node-exporter' --collector.filesystem.ignored-fs-types=dav --collector.zfs --collector.xfs" owner: root group: root mode: '0644' backup: yes notify: - Restart Prometheus Node Exporter when: "ansible_hostname == 'hiljainen' or ansible_hostname == 'deu1.susurrando.com'" - name: Ensure textfile directory is enabled for node exporter ansible.builtin.lineinfile: path: /etc/default/prometheus-node-exporter regexp: '^ARGS' line: ARGS="--collector.textfile.directory='/var/lib/prometheus/node-exporter' --collector.filesystem.ignored-fs-types=dav" owner: root group: root mode: '0644' backup: yes notify: - Restart Prometheus Node Exporter when: "ansible_hostname != 'hiljainen' and ansible_hostname != 'deu1.susurrando.com'" - name: Ensure configuration of prometheus exporters for external servers include_tasks: configure_prometheus_exporters_external.yml when: "'external' in group_names"