From c7bce9fa368ac4f45e3ca45bc8a03cff547d9cd1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Romain=20Gon=C3=A7alves?= <me@rgoncalves.se>
Date: Sun, 12 Dec 2021 16:47:08 +0000
Subject: roles: Add prometheus and node_exporter

---
 roles/prometheus/defaults/main.yml            |  1 +
 roles/prometheus/tasks/main.yml               | 23 +++++++++++++++++++++++
 roles/prometheus/templates/prometheus.conf.j2 | 21 +++++++++++++++++++++
 3 files changed, 45 insertions(+)
 create mode 100644 roles/prometheus/defaults/main.yml
 create mode 100644 roles/prometheus/tasks/main.yml
 create mode 100644 roles/prometheus/templates/prometheus.conf.j2

(limited to 'roles')

diff --git a/roles/prometheus/defaults/main.yml b/roles/prometheus/defaults/main.yml
new file mode 100644
index 0000000..fa8c55f
--- /dev/null
+++ b/roles/prometheus/defaults/main.yml
@@ -0,0 +1 @@
+prometheus_configuration_file: /etc/prometheus/prometheus.yml
diff --git a/roles/prometheus/tasks/main.yml b/roles/prometheus/tasks/main.yml
new file mode 100644
index 0000000..5d5c1f3
--- /dev/null
+++ b/roles/prometheus/tasks/main.yml
@@ -0,0 +1,23 @@
+- name: install prometheus
+  package:
+    name:
+      - prometheus
+      - node_exporter
+    state: present
+
+- name: generate prometheus configuration
+  template:
+    src: prometheus.conf.j2
+    dest: "{{ prometheus_configuration_file }}"
+    owner: 0
+    group: 0
+    mode: 0644
+
+- name: enable and restart prometheus services
+  service:
+    name: "{{ item }}"
+    state: restarted
+    enabled: true
+  loop:
+    - prometheus
+    - node_exporter
diff --git a/roles/prometheus/templates/prometheus.conf.j2 b/roles/prometheus/templates/prometheus.conf.j2
new file mode 100644
index 0000000..7402dd2
--- /dev/null
+++ b/roles/prometheus/templates/prometheus.conf.j2
@@ -0,0 +1,21 @@
+# managed by Ansible
+
+global:
+  scrape_interval:     15s
+  evaluation_interval: 15s
+
+alerting:
+  alertmanagers:
+  - static_configs:
+    - targets:
+
+rule_files:
+
+scrape_configs:
+  - job_name: "prometheus"
+    static_configs:
+    - targets: ["127.0.0.1:9090"]
+  - job_name: "node_exporter"
+    scrape_interval: 5s
+    static_configs:
+    - targets: ["127.0.0.1:9100"]
-- 
cgit v1.2.3