summaryrefslogtreecommitdiff
path: root/roles/monitoring/prometheus/exporter/base
diff options
context:
space:
mode:
Diffstat (limited to 'roles/monitoring/prometheus/exporter/base')
-rw-r--r--roles/monitoring/prometheus/exporter/base/defaults/main.yml2
-rw-r--r--roles/monitoring/prometheus/exporter/base/tasks/main.yml16
-rw-r--r--roles/monitoring/prometheus/exporter/base/templates/nginx-vhost.conf.j215
3 files changed, 33 insertions, 0 deletions
diff --git a/roles/monitoring/prometheus/exporter/base/defaults/main.yml b/roles/monitoring/prometheus/exporter/base/defaults/main.yml
new file mode 100644
index 00000000..5f8ce103
--- /dev/null
+++ b/roles/monitoring/prometheus/exporter/base/defaults/main.yml
@@ -0,0 +1,2 @@
+---
+prometheus_exporter_port: 9000
diff --git a/roles/monitoring/prometheus/exporter/base/tasks/main.yml b/roles/monitoring/prometheus/exporter/base/tasks/main.yml
new file mode 100644
index 00000000..c3a04bd9
--- /dev/null
+++ b/roles/monitoring/prometheus/exporter/base/tasks/main.yml
@@ -0,0 +1,16 @@
+---
+- name: create main configuration directories
+ loop:
+ - exporters-available
+ - exporters-enabled
+ file:
+ path: "/etc/prometheus-exporter/{{ item }}"
+ state: directory
+
+- name: install nginx vhost
+ vars:
+ nginx_vhost:
+ name: prometheus-exporter
+ content: "{{ lookup('template', 'nginx-vhost.conf.j2') }}"
+ include_role:
+ name: nginx/vhost
diff --git a/roles/monitoring/prometheus/exporter/base/templates/nginx-vhost.conf.j2 b/roles/monitoring/prometheus/exporter/base/templates/nginx-vhost.conf.j2
new file mode 100644
index 00000000..e032ca3d
--- /dev/null
+++ b/roles/monitoring/prometheus/exporter/base/templates/nginx-vhost.conf.j2
@@ -0,0 +1,15 @@
+server {
+ listen {{ prometheus_exporter_port }};
+ listen [::]:{{ prometheus_exporter_port }};
+ server_name _;
+
+ ## TODO: configure ssl
+
+ location / {
+ return 404 "unknown exporter: $uri\n";
+ }
+ include /etc/prometheus-exporter/exporters-enabled/*;
+
+ access_log /var/log/nginx/access-prometheus-exporter.log;
+ error_log /var/log/nginx/error-prometheus-exporter.log;
+}