70 lines
1.9 KiB
YAML
70 lines
1.9 KiB
YAML
---
|
|
- name: Install Prometheus Node Exporter
|
|
hosts: all
|
|
become: true
|
|
vars:
|
|
node_exporter_version: "1.10.2"
|
|
architecture: "linux-amd64"
|
|
# Defines where the binary is downloaded/extracted
|
|
download_url: "https://github.com/prometheus/node_exporter/releases/download/v{{ node_exporter_version }}/node_exporter-{{ node_exporter_version }}.{{ architecture }}.tar.gz"
|
|
|
|
tasks:
|
|
- name: Create node_exporter group
|
|
group:
|
|
name: node_exporter
|
|
state: present
|
|
|
|
- name: Create node_exporter user
|
|
user:
|
|
name: node_exporter
|
|
group: node_exporter
|
|
shell: /bin/false
|
|
create_home: no
|
|
|
|
- name: Download and unarchive Node Exporter
|
|
unarchive:
|
|
src: "{{ download_url }}"
|
|
dest: /tmp/
|
|
remote_src: yes
|
|
|
|
- name: Move binary to /usr/local/bin
|
|
copy:
|
|
src: "/tmp/node_exporter-{{ node_exporter_version }}.{{ architecture }}/node_exporter"
|
|
dest: /usr/local/bin/node_exporter
|
|
mode: '0755'
|
|
owner: node_exporter
|
|
group: node_exporter
|
|
remote_src: yes
|
|
|
|
- name: Create Systemd service file
|
|
copy:
|
|
dest: /etc/systemd/system/node_exporter.service
|
|
content: |
|
|
[Unit]
|
|
Description=Node Exporter
|
|
Wants=network-online.target
|
|
After=network-online.target
|
|
|
|
[Service]
|
|
User=node_exporter
|
|
Group=node_exporter
|
|
Type=simple
|
|
ExecStart=/usr/local/bin/node_exporter
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
|
|
- name: Force systemd to reread configs
|
|
systemd:
|
|
daemon_reload: yes
|
|
|
|
- name: Enable and start Node Exporter
|
|
systemd:
|
|
name: node_exporter
|
|
state: started
|
|
enabled: yes
|
|
|
|
- name: Clean up temporary files
|
|
file:
|
|
path: "/tmp/node_exporter-{{ node_exporter_version }}.{{ architecture }}"
|
|
state: absent
|