aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRomain Gonçalves <me@rgoncalves.se>2021-12-12 16:47:08 +0000
committerRomain Gonçalves <me@rgoncalves.se>2021-12-12 16:47:08 +0000
commitc7bce9fa368ac4f45e3ca45bc8a03cff547d9cd1 (patch)
tree6f9fdf638fffdcba2461c5b6b6f2275fc359edf4
parenta988a9b62f6b18e50767288c30b869b829f72560 (diff)
downloadrules-c7bce9fa368ac4f45e3ca45bc8a03cff547d9cd1.tar.gz
roles: Add prometheus and node_exporter
-rw-r--r--roles/prometheus/defaults/main.yml1
-rw-r--r--roles/prometheus/tasks/main.yml23
-rw-r--r--roles/prometheus/templates/prometheus.conf.j221
3 files changed, 45 insertions, 0 deletions
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"]
remember that computers suck.