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
|
state: restarted
|
||||||
daemon_reload: yes
|
daemon_reload: yes
|
||||||
become: yes
|
become: yes
|
||||||
|
tags: node_exporter
|
||||||
|
|
||||||
- name: restart docker
|
- name: restart docker
|
||||||
systemd:
|
systemd:
|
||||||
|
|||||||
@ -211,22 +211,26 @@
|
|||||||
|
|
||||||
# ========== Node Exporter Installation ==========
|
# ========== Node Exporter Installation ==========
|
||||||
- name: Create node_exporter system user
|
- name: Create node_exporter system user
|
||||||
|
tags: node_exporter
|
||||||
user:
|
user:
|
||||||
name: node_exporter
|
name: node_exporter
|
||||||
system: yes
|
system: yes
|
||||||
shell: /usr/sbin/nologin
|
shell: /bin/false
|
||||||
create_home: no
|
create_home: no
|
||||||
become: yes
|
become: yes
|
||||||
|
|
||||||
- name: Download node_exporter
|
- name: Download node_exporter
|
||||||
|
tags: node_exporter
|
||||||
get_url:
|
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
|
dest: /tmp/node_exporter.tar.gz
|
||||||
mode: '0644'
|
mode: '0644'
|
||||||
timeout: 60
|
timeout: 60
|
||||||
|
when: ansible_architecture == "x86_64" or ansible_architecture == "aarch64"
|
||||||
become: yes
|
become: yes
|
||||||
|
|
||||||
- name: Create temporary extraction directory
|
- name: Create temporary extraction directory
|
||||||
|
tags: node_exporter
|
||||||
file:
|
file:
|
||||||
path: /tmp/node_exporter_temp
|
path: /tmp/node_exporter_temp
|
||||||
state: directory
|
state: directory
|
||||||
@ -234,6 +238,7 @@
|
|||||||
become: yes
|
become: yes
|
||||||
|
|
||||||
- name: Extract node_exporter
|
- name: Extract node_exporter
|
||||||
|
tags: node_exporter
|
||||||
unarchive:
|
unarchive:
|
||||||
src: /tmp/node_exporter.tar.gz
|
src: /tmp/node_exporter.tar.gz
|
||||||
dest: /tmp/node_exporter_temp
|
dest: /tmp/node_exporter_temp
|
||||||
@ -242,6 +247,7 @@
|
|||||||
become: yes
|
become: yes
|
||||||
|
|
||||||
- name: Install node_exporter binary
|
- name: Install node_exporter binary
|
||||||
|
tags: node_exporter
|
||||||
copy:
|
copy:
|
||||||
src: /tmp/node_exporter_temp/node_exporter-1.8.2.linux-amd64/node_exporter
|
src: /tmp/node_exporter_temp/node_exporter-1.8.2.linux-amd64/node_exporter
|
||||||
dest: /usr/local/bin/node_exporter
|
dest: /usr/local/bin/node_exporter
|
||||||
@ -253,6 +259,7 @@
|
|||||||
notify: restart node_exporter
|
notify: restart node_exporter
|
||||||
|
|
||||||
- name: Clean up temporary files
|
- name: Clean up temporary files
|
||||||
|
tags: node_exporter
|
||||||
file:
|
file:
|
||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: absent
|
state: absent
|
||||||
@ -262,6 +269,7 @@
|
|||||||
become: yes
|
become: yes
|
||||||
|
|
||||||
- name: Create textfile collector directory
|
- name: Create textfile collector directory
|
||||||
|
tags: node_exporter
|
||||||
file:
|
file:
|
||||||
path: /var/lib/node_exporter/textfile_collector
|
path: /var/lib/node_exporter/textfile_collector
|
||||||
state: directory
|
state: directory
|
||||||
@ -271,6 +279,7 @@
|
|||||||
become: yes
|
become: yes
|
||||||
|
|
||||||
- name: Deploy node_exporter systemd service
|
- name: Deploy node_exporter systemd service
|
||||||
|
tags: node_exporter
|
||||||
copy:
|
copy:
|
||||||
content: |
|
content: |
|
||||||
[Unit]
|
[Unit]
|
||||||
@ -292,7 +301,8 @@
|
|||||||
--collector.loadavg \
|
--collector.loadavg \
|
||||||
--collector.time \
|
--collector.time \
|
||||||
--collector.textfile.directory=/var/lib/node_exporter/textfile_collector \
|
--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.listen-address=0.0.0.0:9100 \
|
||||||
--web.telemetry-path=/metrics
|
--web.telemetry-path=/metrics
|
||||||
Restart=always
|
Restart=always
|
||||||
@ -319,6 +329,7 @@
|
|||||||
notify: restart node_exporter
|
notify: restart node_exporter
|
||||||
|
|
||||||
- name: Start and enable node_exporter
|
- name: Start and enable node_exporter
|
||||||
|
tags: node_exporter
|
||||||
systemd:
|
systemd:
|
||||||
name: node_exporter
|
name: node_exporter
|
||||||
state: started
|
state: started
|
||||||
@ -327,6 +338,7 @@
|
|||||||
become: yes
|
become: yes
|
||||||
|
|
||||||
- name: Wait for node_exporter to start
|
- name: Wait for node_exporter to start
|
||||||
|
tags: node_exporter
|
||||||
wait_for:
|
wait_for:
|
||||||
host: localhost
|
host: localhost
|
||||||
port: 9100
|
port: 9100
|
||||||
@ -336,6 +348,7 @@
|
|||||||
become: yes
|
become: yes
|
||||||
|
|
||||||
- name: Verify node_exporter is responding
|
- name: Verify node_exporter is responding
|
||||||
|
tags: node_exporter
|
||||||
uri:
|
uri:
|
||||||
url: http://localhost:9100/metrics
|
url: http://localhost:9100/metrics
|
||||||
status_code: 200
|
status_code: 200
|
||||||
@ -344,11 +357,13 @@
|
|||||||
become: yes
|
become: yes
|
||||||
|
|
||||||
- name: Show node_exporter status
|
- name: Show node_exporter status
|
||||||
|
tags: node_exporter
|
||||||
debug:
|
debug:
|
||||||
msg: "Node Exporter is running and responding on port 9100"
|
msg: "Node Exporter is running and responding on port 9100"
|
||||||
when: node_exporter_check.status == 200
|
when: node_exporter_check.status == 200
|
||||||
|
|
||||||
- name: Allow port 9100 in ufw (if enabled)
|
- name: Allow port 9100 in ufw (if enabled)
|
||||||
|
tags: node_exporter
|
||||||
ufw:
|
ufw:
|
||||||
rule: allow
|
rule: allow
|
||||||
port: 9100
|
port: 9100
|
||||||
@ -357,4 +372,16 @@
|
|||||||
when:
|
when:
|
||||||
- ansible_facts.services["ufw.service"] is defined
|
- ansible_facts.services["ufw.service"] is defined
|
||||||
- ansible_facts.services["ufw.service"]["state"] == "running"
|
- 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