updated to always use newest version of node_exporter and fix firewalld tasks

master
Davo 2 years ago
parent 319fe1378c
commit 61d5e88cbd
  1. 4
      handlers/main.yml
  2. 45
      tasks/main.yml

@ -3,6 +3,4 @@
ansible.builtin.systemd: ansible.builtin.systemd:
daemon_reload: yes daemon_reload: yes
- name: firewalld reload - name: firewalld reload
ansible.builtin.systemd: ansible.builtin.shell: firewall-cmd --reload
state: reloaded
name: firewalld

@ -1,4 +1,4 @@
- name: sw-node-exporter | PRE - 1. Stop, disable and mask ufw service - name: sw-node-exporter | 1. Stop, disable and mask ufw service
ansible.builtin.systemd: ansible.builtin.systemd:
state: stopped state: stopped
name: ufw name: ufw
@ -6,79 +6,76 @@
masked: yes masked: yes
daemon_reload: yes daemon_reload: yes
- name: sw-node-exporter | PRE - 2. Install firewalld - name: sw-node-exporter | 2. Install firewalld
ansible.builtin.apt: ansible.builtin.apt:
name: name:
- firewalld - firewalld
state: present state: present
update_cache: yes update_cache: yes
- name: sw-node-exporter | PRE - 3. Start and enable firewalld service - name: sw-node-exporter | 3. Start and enable firewalld service
ansible.builtin.systemd: ansible.builtin.systemd:
state: started state: started
name: firewalld name: firewalld
enabled: yes enabled: yes
daemon_reload: yes daemon_reload: yes
- name: sw-node-exporter | PRE - 4. Allow SPOLECNY ports in firewalld - name: sw-node-exporter | 4. Allow SPOLECNY ports in firewalld
ansible.posix.firewalld: ansible.posix.firewalld:
port: "{{ item }}" port: "{{ item }}"
permanent: yes permanent: yes
state: enabled state: enabled
notify: firewalld reload
loop: loop:
- 9100/tcp - 9100/tcp
- 22/tcp - 22/tcp
notify: firewalld reload
- name: sw-node-exporter | PRE - 4. Allow additional ports in firewalld - name: sw-node-exporter | 5. Allow additional ports in firewalld
ansible.posix.firewalld: ansible.posix.firewalld:
port: "{{ item }}" port: "{{ item }}"
permanent: yes permanent: yes
state: enabled state: enabled
notify: reload firewalld
with_items: "{{ additional_ports }}" with_items: "{{ additional_ports }}"
when: additional_ports is defined when: additional_ports is defined
notify: firewalld reload
- name: sw-node-exporter | 1. Download and Unarchive node-exporter in /usr/local/bin - name: sw-node-exporter | 6. Download the latest node-exporter distribution
ansible.builtin.get_url:
url: "{{ lookup('url', 'https://api.github.com/repos/prometheus/node_exporter/releases/latest', split_lines=false) | regex_search('browser_download_url.*(https://(.*?)linux-amd64.tar.gz)', '\\1') | first }}"
dest: /usr/local/bin/node-exporter-latest.tar.gz
- name: sw-node-exporter | 7. Unarchive node-exporter in /usr/local/bin
ansible.builtin.unarchive: ansible.builtin.unarchive:
src: https://github.com/prometheus/node_exporter/releases/download/v1.4.0/node_exporter-1.4.0.linux-amd64.tar.gz src: /usr/local/bin/node-exporter-latest.tar.gz
dest: /usr/local/bin dest: /usr/local/bin
remote_src: yes remote_src: yes
extra_opts: [--strip-components=1 ]
- name: sw-node-exporter | 2. Create node_exporter group - name: sw-node-exporter | 8. Create node_exporter group
ansible.builtin.group: ansible.builtin.group:
name: node_exporter name: node_exporter
state: present state: present
- name: sw-node-exporter | 3. Add the user and group 'node_exporter' with no home and shell - name: sw-node-exporter | 9. Add the user and group 'node_exporter' with no home and shell
ansible.builtin.user: ansible.builtin.user:
name: node_exporter name: node_exporter
group: node_exporter group: node_exporter
create_home: no create_home: no
shell: /bin/false shell: /bin/false
- name: sw-node-exporter | 4. Move node_exporter to /usr/local/bin - name: sw-node-exporter | 10. Recursively remove node_exporter directory
ansible.builtin.copy:
src: /usr/local/bin/node_exporter-1.4.0.linux-amd64/node_exporter
dest: /usr/local/bin
owner: node_exporter
group: node_exporter
mode: '0777'
remote_src: yes
- name: sw-node-exporter | 5. Recursively remove node_exporter directory
ansible.builtin.file: ansible.builtin.file:
path: /usr/local/bin/node_exporter-1.4.0.linux-amd64 path: /usr/local/bin/node-exporter-latest.tar.gz
state: absent state: absent
- name: sw-node-exporter | 6. Deploy node_exporter.service - name: sw-node-exporter | 11. Deploy node_exporter.service
ansible.builtin.copy: ansible.builtin.copy:
src: node_exporter.service src: node_exporter.service
dest: /etc/systemd/system dest: /etc/systemd/system
notify: notify:
- daemon reload - daemon reload
- name: sw-node-exporter | 7. Start and enable node-exporter service - name: sw-node-exporter | 12. Start and enable node-exporter service
ansible.builtin.service: ansible.builtin.service:
name: node_exporter name: node_exporter
state: started state: started

Loading…
Cancel
Save