Update 2 files
- /roles/base_setup/tasks/main.yml - /roles/base_setup/handlers/main.yml
This commit is contained in:
parent
107c668628
commit
9108da01b1
@ -11,6 +11,7 @@
|
||||
state: restarted
|
||||
daemon_reload: yes
|
||||
become: yes
|
||||
tags: node_exporter
|
||||
|
||||
- name: restart docker
|
||||
systemd:
|
||||
|
||||
@ -211,22 +211,26 @@
|
||||
|
||||
# ========== Node Exporter Installation ==========
|
||||
- name: Create node_exporter system user
|
||||
tags: node_exporter
|
||||
user:
|
||||
name: node_exporter
|
||||
system: yes
|
||||
shell: /usr/sbin/nologin
|
||||
shell: /bin/false
|
||||
create_home: no
|
||||
become: yes
|
||||
|
||||
- name: Download node_exporter
|
||||
tags: node_exporter
|
||||
get_url:
|
||||
url: "https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd64.tar.gz"
|
||||
url: "https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-{{ ansible_architecture }}.tar.gz"
|
||||
dest: /tmp/node_exporter.tar.gz
|
||||
mode: '0644'
|
||||
timeout: 60
|
||||
when: ansible_architecture == "x86_64" or ansible_architecture == "aarch64"
|
||||
become: yes
|
||||
|
||||
- name: Create temporary extraction directory
|
||||
tags: node_exporter
|
||||
file:
|
||||
path: /tmp/node_exporter_temp
|
||||
state: directory
|
||||
@ -234,6 +238,7 @@
|
||||
become: yes
|
||||
|
||||
- name: Extract node_exporter
|
||||
tags: node_exporter
|
||||
unarchive:
|
||||
src: /tmp/node_exporter.tar.gz
|
||||
dest: /tmp/node_exporter_temp
|
||||
@ -242,6 +247,7 @@
|
||||
become: yes
|
||||
|
||||
- name: Install node_exporter binary
|
||||
tags: node_exporter
|
||||
copy:
|
||||
src: /tmp/node_exporter_temp/node_exporter-1.8.2.linux-amd64/node_exporter
|
||||
dest: /usr/local/bin/node_exporter
|
||||
@ -253,6 +259,7 @@
|
||||
notify: restart node_exporter
|
||||
|
||||
- name: Clean up temporary files
|
||||
tags: node_exporter
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: absent
|
||||
@ -262,6 +269,7 @@
|
||||
become: yes
|
||||
|
||||
- name: Create textfile collector directory
|
||||
tags: node_exporter
|
||||
file:
|
||||
path: /var/lib/node_exporter/textfile_collector
|
||||
state: directory
|
||||
@ -271,6 +279,7 @@
|
||||
become: yes
|
||||
|
||||
- name: Deploy node_exporter systemd service
|
||||
tags: node_exporter
|
||||
copy:
|
||||
content: |
|
||||
[Unit]
|
||||
@ -292,7 +301,8 @@
|
||||
--collector.loadavg \
|
||||
--collector.time \
|
||||
--collector.textfile.directory=/var/lib/node_exporter/textfile_collector \
|
||||
--collector.disable=arp,netdev \
|
||||
--no-collector.arp \
|
||||
--no-collector.netdev \
|
||||
--web.listen-address=0.0.0.0:9100 \
|
||||
--web.telemetry-path=/metrics
|
||||
Restart=always
|
||||
@ -319,6 +329,7 @@
|
||||
notify: restart node_exporter
|
||||
|
||||
- name: Start and enable node_exporter
|
||||
tags: node_exporter
|
||||
systemd:
|
||||
name: node_exporter
|
||||
state: started
|
||||
@ -327,6 +338,7 @@
|
||||
become: yes
|
||||
|
||||
- name: Wait for node_exporter to start
|
||||
tags: node_exporter
|
||||
wait_for:
|
||||
host: localhost
|
||||
port: 9100
|
||||
@ -336,6 +348,7 @@
|
||||
become: yes
|
||||
|
||||
- name: Verify node_exporter is responding
|
||||
tags: node_exporter
|
||||
uri:
|
||||
url: http://localhost:9100/metrics
|
||||
status_code: 200
|
||||
@ -344,11 +357,13 @@
|
||||
become: yes
|
||||
|
||||
- name: Show node_exporter status
|
||||
tags: node_exporter
|
||||
debug:
|
||||
msg: "Node Exporter is running and responding on port 9100"
|
||||
when: node_exporter_check.status == 200
|
||||
|
||||
- name: Allow port 9100 in ufw (if enabled)
|
||||
tags: node_exporter
|
||||
ufw:
|
||||
rule: allow
|
||||
port: 9100
|
||||
@ -357,4 +372,16 @@
|
||||
when:
|
||||
- ansible_facts.services["ufw.service"] is defined
|
||||
- ansible_facts.services["ufw.service"]["state"] == "running"
|
||||
become: yes
|
||||
become: yes
|
||||
|
||||
- name: Show node_exporter status
|
||||
tags: node_exporter
|
||||
debug:
|
||||
msg: "Node Exporter is running and responding on port 9100"
|
||||
when: node_exporter_check.status == 200
|
||||
|
||||
- name: Show node_exporter error
|
||||
tags: node_exporter
|
||||
debug:
|
||||
msg: "Node Exporter check failed with status: {{ node_exporter_check.status }}"
|
||||
when: node_exporter_check.status != 200
|
||||
Loading…
Reference in New Issue
Block a user