Update 2 files

- /roles/base_setup/tasks/main.yml
- /roles/base_setup/handlers/main.yml
This commit is contained in:
Administrator 2025-11-26 09:07:28 +00:00
parent 107c668628
commit 9108da01b1
2 changed files with 32 additions and 4 deletions

View File

@ -11,6 +11,7 @@
state: restarted
daemon_reload: yes
become: yes
tags: node_exporter
- name: restart docker
systemd:

View File

@ -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