Add the node_exporter role
This commit is contained in:
37
roles/node_exporter/tasks/install.yml
Normal file
37
roles/node_exporter/tasks/install.yml
Normal file
@@ -0,0 +1,37 @@
|
||||
---
|
||||
- name: "Install | Check if node_exporter is accessible from $PATH"
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
register: cmd_node_exporter
|
||||
ansible.builtin.command:
|
||||
cmd: node_exporter --version
|
||||
|
||||
- name: "Install | Build the exporter name"
|
||||
when: "node_exporter_ver not in cmd_node_exporter.stdout"
|
||||
ansible.builtin.set_fact:
|
||||
prom_exp_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 cmd_node_exporter.stdout"
|
||||
ansible.builtin.unarchive:
|
||||
src: "\
|
||||
https://github.com/prometheus/node_exporter/releases/download/\
|
||||
v{{ node_exporter_ver }}\
|
||||
{{ prom_exp_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 cmd_node_exporter.stdout"
|
||||
changed_when: false
|
||||
ansible.builtin.command:
|
||||
cmd: install /tmp/{{ prom_exp_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"
|
||||
6
roles/node_exporter/tasks/main.yml
Normal file
6
roles/node_exporter/tasks/main.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
- name: "Include installation tasks"
|
||||
ansible.builtin.include_tasks: "install.yml"
|
||||
|
||||
- name: "Including run tasks"
|
||||
ansible.builtin.include_tasks: "run.yml"
|
||||
8
roles/node_exporter/tasks/run.yml
Normal file
8
roles/node_exporter/tasks/run.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
- name: "Enable and start the node_exporter service"
|
||||
changed_when: false
|
||||
ansible.builtin.systemd:
|
||||
name: node_exporter
|
||||
enabled: true
|
||||
daemon_reload: true
|
||||
state: restarted
|
||||
Reference in New Issue
Block a user