ansible/roles/prometheus-node-exporter/tasks/main.yml

83 lines
2.6 KiB
YAML

---
- name: Install Prometheus node-exporter
apt:
update_cache: true
name: prometheus-node-exporter
install_recommends: false # Do not install smartmontools
register: apt_result
retries: 3
until: apt_result is succeeded
- name: Install Prometheus node-exporter-collectors (bullseye)
apt:
update_cache: true
name: prometheus-node-exporter-collectors
install_recommends: false
register: apt_result
retries: 3
until: apt_result is succeeded
when: ansible_distribution_release == 'bookworm'
- name: Make Prometheus node-exporter listen on adm only
lineinfile:
path: /etc/default/prometheus-node-exporter
regexp: ^ARGS=
line: |
ARGS="--web.listen-address={{ prometheus_node_exporter.listen_addr }}:9100"
tags: restart-node-exporter
- name: Create /etc/systemd/system/prometheus-node-exporter.service.d/
file:
path: /etc/systemd/system/prometheus-node-exporter.service.d/
state: directory
- name: Patch prometheus-node-exporter service
template:
src: systemd/system/prometheus-node-exporter.service.d/override.conf.j2
dest: /etc/systemd/system/prometheus-node-exporter.service.d/override.conf
register: override
- name: Deploy APT obsolete collector
copy:
src: apt-obsolete.sh
dest: /usr/share/prometheus-node-exporter-collectors/apt-obsolete.sh
owner: root
group: root
mode: 0755
when: ansible_distribution_release == "bookworm"
- name: Create /etc/systemd/system/prometheus-node-exporter-apt.service.d/
file:
path: /etc/systemd/system/prometheus-node-exporter-apt.service.d/
state: directory
when: ansible_distribution_release == "bookworm"
- name: Patch prometheus-node-exporter-apt service
template:
src: systemd/system/prometheus-node-exporter-apt.service.d/override.conf.j2
dest: /etc/systemd/system/prometheus-node-exporter-apt.service.d/override.conf
register: apt_override
when: ansible_distribution_release == "bookworm"
- name: systemctl daemon-reload
systemd:
daemon_reload: true
when: override.changed or ( apt_override is defined and apt_override.changed )
- name: Activate prometheus-node-exporter service
systemd:
name: prometheus-node-exporter
enabled: true
state: started
# Install new APT textfile collector, it might be upstreamed one day
# https://github.com/prometheus-community/node-exporter-textfile-collector-scripts/pull/35
- name: Patch APT textfile collector
copy:
src: apt.sh
dest: /usr/share/prometheus-node-exporter/apt.sh
owner: root
group: root
mode: 0755
when: ansible_distribution_release != "bookworm"