60 lines
1.5 KiB
YAML
60 lines
1.5 KiB
YAML
---
|
|
- name: Install node_exporter (Debian)
|
|
ansible.builtin.apt:
|
|
name: prometheus-node-exporter
|
|
state: present
|
|
when: ansible_facts["os_family"] == "Debian"
|
|
become: true
|
|
|
|
- name: Install node_exporter (Arch)
|
|
community.general.pacman:
|
|
name: prometheus-node-exporter
|
|
state: present
|
|
when: ansible_facts["os_family"] == "Archlinux"
|
|
become: true
|
|
|
|
- name: Configure node_exporter flags (Debian)
|
|
ansible.builtin.copy:
|
|
dest: /etc/default/prometheus-node-exporter
|
|
content: |
|
|
ARGS="{{ node_exporter_flags }}"
|
|
owner: root
|
|
group: root
|
|
mode: '0644'
|
|
when: ansible_facts["os_family"] == "Debian"
|
|
become: true
|
|
notify: Restart node_exporter
|
|
|
|
- name: Configure node_exporter flags (Arch)
|
|
ansible.builtin.copy:
|
|
dest: /etc/conf.d/prometheus-node-exporter
|
|
content: |
|
|
NODE_EXPORTER_ARGS="{{ node_exporter_flags }}"
|
|
owner: root
|
|
group: root
|
|
mode: '0644'
|
|
when: ansible_facts["os_family"] == "Archlinux"
|
|
become: true
|
|
notify: Restart node_exporter
|
|
|
|
- name: Enable and start node_exporter service
|
|
ansible.builtin.systemd:
|
|
name: prometheus-node-exporter
|
|
state: started
|
|
enabled: true
|
|
become: true
|
|
|
|
- name: Populate service facts
|
|
ansible.builtin.service_facts:
|
|
|
|
- name: Open port 9100 for prometheus scraping
|
|
ansible.posix.firewalld:
|
|
port: 9100/tcp
|
|
permanent: true
|
|
state: enabled
|
|
immediate: true
|
|
become: true
|
|
when: >
|
|
ansible_facts.services['firewalld.service'] is defined and
|
|
ansible_facts.services['firewalld.service'].state == 'running'
|