infra-konstrukt/roles/node_exporter/tasks/main.yml

56 lines
1.5 KiB
YAML

---
- name: Create node_exporter user
user:
name: node_exporter
shell: /bin/false
system: yes
#- name: Download node_exporter
# get_url:
# url: "https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz"
# dest: "/tmp/node_exporter.tar.gz"
- name: Download node_exporter (Robust Method)
block:
- name: Try downloading with get_url
get_url:
url: "https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz"
dest: "/tmp/node_exporter.tar.gz"
rescue:
- name: Install curl for fallback
apt:
name: curl
state: present
- name: Fallback downloading with curl
command: >
curl -L -o /tmp/node_exporter.tar.gz https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz
args:
creates: /tmp/node_exporter.tar.gz
- name: Unarchive node_exporter
unarchive:
src: "/tmp/node_exporter.tar.gz"
dest: "/tmp"
remote_src: yes
- name: Install node_exporter binary
copy:
src: "/tmp/node_exporter-1.7.0.linux-amd64/node_exporter"
dest: "/usr/local/bin/node_exporter"
mode: '0755'
remote_src: yes
notify: Restart node_exporter
- name: Create systemd service file
template:
src: node_exporter.service.j2
dest: /etc/systemd/system/node_exporter.service
notify: Restart node_exporter
- name: Enable and start node_exporter
systemd:
name: node_exporter
state: started
enabled: yes