--- - name: Install and configure Node Explorer hosts: grafana become: yes gather_facts: no vars: user_home: "/home/smauro" tmp_dir: "/home/smauro/tmp" node_exporter_version: "1.9.0" node_exporter_url: "https://github.com/prometheus/node_exporter/releases/download/v{{ node_exporter_version }}/node_exporter-{{ node_exporter_version }}.linux-amd64.tar.gz" extract_dir: "/home/smauro/tmp/node_exporter-{{ node_exporter_version }}.linux-amd64" tasks: - name: Créer le répertoire tmp s'il n'existe pas file: path: "{{ tmp_dir }}" state: directory owner: smauro group: smauro mode: '0755' - name: Télécharger Node Exporter get_url: url: "{{ node_exporter_url }}" dest: "{{ tmp_dir }}/node_exporter-{{ node_exporter_version }}.linux-amd64.tar.gz" mode: '0644' - name: Extraire Node Exporter ansible.builtin.unarchive: src: "{{ tmp_dir }}/node_exporter-{{ node_exporter_version }}.linux-amd64.tar.gz" dest: "{{ tmp_dir }}" remote_src: yes - name: Déplacer Node Exporter vers /usr/local/bin/ command: mv {{ extract_dir }}/node_exporter /usr/local/bin/ args: creates: /usr/local/bin/node_exporter - name: Créer l'utilisateur prometheus user: name: prometheus shell: /usr/sbin/nologin system: yes create_home: no state: present - name: Créer le service systemd pour Node Exporter copy: dest: /etc/systemd/system/node_exporter.service content: | [Unit] Description=Prometheus Node Exporter Wants=network-online.target After=network-online.target [Service] User=prometheus Group=prometheus Type=simple ExecStart=/usr/local/bin/node_exporter [Install] WantedBy=multi-user.target mode: '0644' - name: Recharger systemd systemd: daemon_reload: yes - name: Activer et démarrer Node Exporter systemd: name: node_exporter enabled: yes state: started