prod/ansible-prod/ansible/playbooks/node_explorer.yml
2025-10-30 11:12:14 +01:00

75 lines
2.1 KiB
YAML

---
- 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