src.nth.io/

summaryrefslogtreecommitdiff
path: root/prometheus/rpi-client
diff options
context:
space:
mode:
Diffstat (limited to 'prometheus/rpi-client')
-rw-r--r--prometheus/rpi-client/defaults/main.yaml9
-rw-r--r--prometheus/rpi-client/handlers/main.yaml5
-rw-r--r--prometheus/rpi-client/meta/main.yaml4
-rw-r--r--prometheus/rpi-client/tasks/main.yaml43
4 files changed, 61 insertions, 0 deletions
diff --git a/prometheus/rpi-client/defaults/main.yaml b/prometheus/rpi-client/defaults/main.yaml
new file mode 100644
index 0000000..6ef5b84
--- /dev/null
+++ b/prometheus/rpi-client/defaults/main.yaml
@@ -0,0 +1,9 @@
+---
+
+prometheus_client_rpi_exporter_version: "0.6.0"
+prometheus_client_arch: "{{ansible_architecture}}"
+
+prometheus_client_rpi_src: "https://github.com/lukasmalkmus/rpi_exporter/releases/download/v{{prometheus_client_rpi_exporter_version}}/rpi_exporter-{{prometheus_client_rpi_exporter_version}}.linux-{{prometheus_client_arch}}.tar.gz"
+prometheus_client_rpi_dest: "rpi_exporter-{{prometheus_client_rpi_exporter_version}}.linux-{{prometheus_client_arch}}"
+
+prometheus_client_rpi_collect_gpu_temp: true
diff --git a/prometheus/rpi-client/handlers/main.yaml b/prometheus/rpi-client/handlers/main.yaml
new file mode 100644
index 0000000..7740ce7
--- /dev/null
+++ b/prometheus/rpi-client/handlers/main.yaml
@@ -0,0 +1,5 @@
+---
+
+- name: restart rpi_exporter
+ systemd: name="rpi_exporter.service" state="restarted" daemon_reload="yes"
+ become: yes
diff --git a/prometheus/rpi-client/meta/main.yaml b/prometheus/rpi-client/meta/main.yaml
new file mode 100644
index 0000000..9da06c2
--- /dev/null
+++ b/prometheus/rpi-client/meta/main.yaml
@@ -0,0 +1,4 @@
+---
+
+dependencies:
+ - role: "prometheus/client"
diff --git a/prometheus/rpi-client/tasks/main.yaml b/prometheus/rpi-client/tasks/main.yaml
new file mode 100644
index 0000000..271e70c
--- /dev/null
+++ b/prometheus/rpi-client/tasks/main.yaml
@@ -0,0 +1,43 @@
+---
+
+- name: add prometheus user to video group for rpi GPU stats
+ become: yes
+ user: name="prometheus" groups="video" append="yes"
+
+- name: install prometheus rpi-exporter
+ unarchive:
+ src: "{{prometheus_client_rpi_src}}"
+ remote_src: yes
+ dest: "/tmp"
+ creates: "/tmp/{{prometheus_client_rpi_dest}}"
+ notify: restart rpi_exporter
+
+- name: disable GPU temp scraping
+ become: yes
+ lineinfile:
+ path: "/tmp/{{prometheus_client_rpi_dest}}/rpi_exporter.service"
+ regexp: "^ExecStart=/usr/local/bin/rpi_exporter"
+ line: "ExecStart=/usr/local/bin/rpi_exporter --no-collector.gpu"
+ when: not prometheus_client_rpi_collect_gpu_temp
+ changed_when: false
+
+- name: install systemd service for rpi-exporter
+ become: yes
+ copy:
+ src: "/tmp/{{prometheus_client_rpi_dest}}/rpi_exporter.service"
+ remote_src: yes
+ dest: "/lib/systemd/system/rpi_exporter.service"
+ notify: restart rpi_exporter
+
+- name: install rpi-exporter binary
+ become: yes
+ copy:
+ src: "/tmp/{{prometheus_client_rpi_dest}}/rpi_exporter"
+ remote_src: yes
+ dest: "/usr/local/bin/rpi_exporter"
+ mode: "0755"
+ notify: restart rpi_exporter
+
+- name: ensure systemd service is started
+ become: yes
+ systemd: name="rpi_exporter.service" enabled="yes" state="started"