From 5984697d98b5c953101aa8eef6c69db307d4a563 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Sat, 28 Aug 2021 18:35:24 +0200 Subject: prometheus: add support special jobs (WIP) --- .../prometheus/server/templates/job-snippets/default.j2 | 13 ------------- .../prometheus/server/templates/job-snippets/generic.j2 | 13 +++++++++++++ .../prometheus/server/templates/prometheus.yml.j2 | 2 +- .../prometheus/server/templates/targets/generic.yml.j2 | 3 +++ .../prometheus/server/templates/targets/nut.yml.j2 | 17 +++++++++++++++++ 5 files changed, 34 insertions(+), 14 deletions(-) delete mode 100644 roles/monitoring/prometheus/server/templates/job-snippets/default.j2 create mode 100644 roles/monitoring/prometheus/server/templates/job-snippets/generic.j2 create mode 100644 roles/monitoring/prometheus/server/templates/targets/generic.yml.j2 create mode 100644 roles/monitoring/prometheus/server/templates/targets/nut.yml.j2 (limited to 'roles/monitoring/prometheus/server/templates') diff --git a/roles/monitoring/prometheus/server/templates/job-snippets/default.j2 b/roles/monitoring/prometheus/server/templates/job-snippets/default.j2 deleted file mode 100644 index 87992eeb..00000000 --- a/roles/monitoring/prometheus/server/templates/job-snippets/default.j2 +++ /dev/null @@ -1,13 +0,0 @@ - - job_name: '{{ job }}' - metrics_path: /proxy - params: - module: - - {{ job }} - scheme: https - tls_config: - ca_file: /etc/ssl/prometheus/ca-crt.pem - cert_file: /etc/ssl/prometheus/server/scrape-crt.pem - key_file: /etc/ssl/prometheus/server/scrape-key.pem - file_sd_configs: - - files: - - "/etc/prometheus/jobs/{{ job }}/*.yml" diff --git a/roles/monitoring/prometheus/server/templates/job-snippets/generic.j2 b/roles/monitoring/prometheus/server/templates/job-snippets/generic.j2 new file mode 100644 index 00000000..87992eeb --- /dev/null +++ b/roles/monitoring/prometheus/server/templates/job-snippets/generic.j2 @@ -0,0 +1,13 @@ + - job_name: '{{ job }}' + metrics_path: /proxy + params: + module: + - {{ job }} + scheme: https + tls_config: + ca_file: /etc/ssl/prometheus/ca-crt.pem + cert_file: /etc/ssl/prometheus/server/scrape-crt.pem + key_file: /etc/ssl/prometheus/server/scrape-key.pem + file_sd_configs: + - files: + - "/etc/prometheus/jobs/{{ job }}/*.yml" diff --git a/roles/monitoring/prometheus/server/templates/prometheus.yml.j2 b/roles/monitoring/prometheus/server/templates/prometheus.yml.j2 index 2b9a08e4..4cfcc498 100644 --- a/roles/monitoring/prometheus/server/templates/prometheus.yml.j2 +++ b/roles/monitoring/prometheus/server/templates/prometheus.yml.j2 @@ -37,7 +37,7 @@ scrape_configs: {% endif %} {% for job in (prometheus_server_jobs_generic + prometheus_server_jobs_special) %} -{% include 'job-snippets/' + (lookup('first_found', {'paths': ['templates/job-snippets'], 'files': [job + '.j2', 'default.j2']}) | basename) %}{{ '' }} +{% include 'job-snippets/' + (lookup('first_found', {'paths': ['templates/job-snippets'], 'files': [job + '.j2', 'generic.j2']}) | basename) %}{{ '' }} {% endfor %} {% if prometheus_server_jobs_extra is defined %} diff --git a/roles/monitoring/prometheus/server/templates/targets/generic.yml.j2 b/roles/monitoring/prometheus/server/templates/targets/generic.yml.j2 new file mode 100644 index 00000000..e83b6bf4 --- /dev/null +++ b/roles/monitoring/prometheus/server/templates/targets/generic.yml.j2 @@ -0,0 +1,3 @@ +- targets: [ "{{ hostvars[target].prometheus_scrape_endpoint }}" ] + labels: + instance: "{{ target }}" diff --git a/roles/monitoring/prometheus/server/templates/targets/nut.yml.j2 b/roles/monitoring/prometheus/server/templates/targets/nut.yml.j2 new file mode 100644 index 00000000..da3de3d7 --- /dev/null +++ b/roles/monitoring/prometheus/server/templates/targets/nut.yml.j2 @@ -0,0 +1,17 @@ +- targets: [ "{{ hostvars[target.config.exporter_hostname].prometheus_scrape_endpoint }}" ] + labels: + instance: "{{ target.instance }}" + __param_ups: {{ target.config.ups }} + __param_server: {{ target.config.server | default('127.0.0.1') }} +{% if 'username' in target.config %} + __param_username: {{ target.config.username }} +{% endif %} +{% if 'password' in target.config %} + __param_password: {{ target.config.password }} +{% endif %} +{% if 'variables' in target.config %} + __param_variables: {{ target.config.variables }} +{% endif %} +{% if 'statuses' in target.config %} + __param_statuses: {{ target.config.statuses }} +{% endif %} -- cgit v1.2.3