From 5d8d82d529597010bcd1ece30aec5b1a8d5ff905 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Thu, 24 Aug 2023 23:50:56 +0200 Subject: add nftables prometheus exporter --- .../prometheus/exporter/nftables/tasks/main.yml | 55 ++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 roles/monitoring/prometheus/exporter/nftables/tasks/main.yml (limited to 'roles/monitoring/prometheus/exporter/nftables/tasks/main.yml') diff --git a/roles/monitoring/prometheus/exporter/nftables/tasks/main.yml b/roles/monitoring/prometheus/exporter/nftables/tasks/main.yml new file mode 100644 index 00000000..47022026 --- /dev/null +++ b/roles/monitoring/prometheus/exporter/nftables/tasks/main.yml @@ -0,0 +1,55 @@ +--- +- name: generate apt pin file for exporter-nftables package + when: prometheus_exporter_nftables_version is defined + copy: + dest: "/etc/apt/preferences.d/prom-exporter-nftables.pref" + content: | + Package: prom-exporter-nftables + Pin: version {{ prometheus_exporter_nftables_version }}-1 + Pin-Priority: 1001 + +- name: remove apt pin file for exporter-nftables package + when: prometheus_exporter_nftables_version is not defined + file: + path: "/etc/apt/preferences.d/prom-exporter-nftables.pref" + state: absent + +- name: install apt packages + apt: + name: "prom-exporter-nftables{% if prometheus_exporter_nftables_version is defined %}={{ prometheus_exporter_nftables_version }}-1{% endif %}" + state: present + allow_downgrade: yes + notify: restart prometheus-nftables-exporter + +- name: create config directory + file: + path: /etc/prometheus/exporter/nftables + state: directory + +- name: generate configuration + template: + src: config.yml.j2 + dest: /etc/prometheus/exporter/nftables/config.yml + notify: restart prometheus-nftables-exporter + +- name: generate systemd service unit + template: + src: service.j2 + dest: /etc/systemd/system/prometheus-nftables-exporter.service + notify: restart prometheus-nftables-exporter + +- name: make sure prometheus-nftables-exporter is enabled and started + systemd: + name: prometheus-nftables-exporter.service + daemon_reload: yes + state: started + enabled: yes + +- name: register exporter + copy: + content: | + location = /nftables { + proxy_pass http://127.0.0.1:9630/metrics; + } + dest: /etc/prometheus/exporter/nftables.locations + notify: reload nginx -- cgit v1.2.3