From 6320da1262c1f44ac773c6b6578a59ba286ce973 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Fri, 24 Sep 2021 00:57:01 +0200 Subject: add some basic prometheus node exporter textfile collector scripts --- .../prometheus/exporter/node/tasks/main.yml | 35 ++++++++++++++++++++++ .../node/tasks/textfile_collector_script.yml | 21 +++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 roles/monitoring/prometheus/exporter/node/tasks/textfile_collector_script.yml (limited to 'roles/monitoring/prometheus/exporter/node/tasks') diff --git a/roles/monitoring/prometheus/exporter/node/tasks/main.yml b/roles/monitoring/prometheus/exporter/node/tasks/main.yml index 3fa0a1ec..61e385f7 100644 --- a/roles/monitoring/prometheus/exporter/node/tasks/main.yml +++ b/roles/monitoring/prometheus/exporter/node/tasks/main.yml @@ -31,3 +31,38 @@ port: 9100 dest: /etc/prometheus/exporter/exporter/node.yml notify: reload prometheus-exporter-exporter + +- name: create directory for textfile collector scripts + file: + path: /usr/local/lib/prometheus-node-exporter + state: directory + +- name: install textfile collector script wrapper + copy: + content: | + #!/bin/bash + + if [ -z "$1" ]; then + echo "Please specify which collector script to call!" + exit 1 + fi + collector="$1" + + set -e + rm -f "/var/lib/prometheus-node-exporter/textfile-collector/$collector.prom".* + "/usr/local/lib/prometheus-node-exporter/$collector" > "/var/lib/prometheus-node-exporter/textfile-collector/$collector.prom.$$" + mv "/var/lib/prometheus-node-exporter/textfile-collector/$collector.prom.$$" "/var/lib/prometheus-node-exporter/textfile-collector/$collector.prom" + dest: /usr/local/lib/prometheus-node-exporter/run-collector + mode: 0755 + +- name: install the apt textfile collector script + when: ansible_pkg_mgr == "apt" + vars: + textfile_collector_name: "apt" + include_tasks: textfile_collector_script.yml + +- name: install all other textfile collector scripts + loop: "{{ prometheus_exporter_node_textfile_collector_scripts }}" + loop_control: + loop_var: textfile_collector_name + include_tasks: textfile_collector_script.yml diff --git a/roles/monitoring/prometheus/exporter/node/tasks/textfile_collector_script.yml b/roles/monitoring/prometheus/exporter/node/tasks/textfile_collector_script.yml new file mode 100644 index 00000000..1a39bb4c --- /dev/null +++ b/roles/monitoring/prometheus/exporter/node/tasks/textfile_collector_script.yml @@ -0,0 +1,21 @@ +--- +- name: install the collector script + copy: + src: "{{ textfile_collector_name }}" + dest: "/usr/local/lib/prometheus-node-exporter/{{ textfile_collector_name }}" + mode: 0755 + +- name: install systemd service units + loop: + - service + - timer + template: + src: "textfile-collector-scripts/{{ textfile_collector_name }}.{{ item }}.j2" + dest: "/etc/systemd/system/prometheus-node-exporter_{{ textfile_collector_name }}.{{ item }}" + +- name: make sure the systemd timer is enabled and started + systemd: + daemon_reload: yes + name: "prometheus-node-exporter_{{ textfile_collector_name }}.timer" + state: started + enabled: yes -- cgit v1.2.3