Files
2025-12-17 12:38:44 +04:00

38 lines
1.3 KiB
YAML

---
- name: "Install | Check if node_exporter is accessible from $PATH"
changed_when: false
failed_when: false
register: node_exporter_cmd
ansible.builtin.command:
cmd: node_exporter --version
- name: "Install | Build the exporter name"
when: "node_exporter_ver not in node_exporter_cmd.stdout"
ansible.builtin.set_fact:
node_exporter_name: "/node_exporter-{{ node_exporter_ver }}\
.{{ ansible_system | lower }}-\
{{ (ansible_architecture == 'x86_64') | ternary('amd64', ansible_architecture) }}"
- name: "Install | Download the node_exporter binary (release {{ node_exporter_ver }})"
when: "node_exporter_ver not in node_exporter_cmd.stdout"
ansible.builtin.unarchive:
src: "\
https://github.com/prometheus/node_exporter/releases/download/\
v{{ node_exporter_ver }}\
{{ node_exporter_name }}\
.tar.gz"
dest: /tmp
remote_src: true
- name: "Install | Install the downloaded binary to '{{ node_exporter_bin_path }}'"
when: "node_exporter_ver not in node_exporter_cmd.stdout"
changed_when: false
ansible.builtin.command:
cmd: install /tmp/{{ node_exporter_name }}/node_exporter -t {{ node_exporter_bin_path }}
- name: "Install | Push the service file template"
ansible.builtin.template:
src: node_exporter.service.j2
dest: /usr/lib/systemd/system/node_exporter.service
mode: "0660"