From cc2a907d0272d2ca606427b9d811f7c127bdcf22 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Tue, 7 Feb 2023 21:58:52 +0100 Subject: promethues: some cleanup and fixes --- .../prometheus/server/defaults/main/main.yml | 6 +++++ .../server/defaults/main/rules_prometheus.yml | 9 -------- roles/monitoring/prometheus/server/tasks/main.yml | 27 ++++++++++++++++------ .../prometheus/server/templates/prometheus.yml.j2 | 4 ++-- 4 files changed, 28 insertions(+), 18 deletions(-) (limited to 'roles/monitoring/prometheus/server') diff --git a/roles/monitoring/prometheus/server/defaults/main/main.yml b/roles/monitoring/prometheus/server/defaults/main/main.yml index b377a7f0..ab0b3276 100644 --- a/roles/monitoring/prometheus/server/defaults/main/main.yml +++ b/roles/monitoring/prometheus/server/defaults/main/main.yml @@ -10,6 +10,9 @@ prometheus_server_retention: "15d" # environment: foo # monitor: {{ inventory_hostname }} +prometheus_server_scrape_interval: "15s" +prometheus_server_evaluation_interval: "15s" + prometheus_server_jobs: - node #prometheus_server_jobs_extra: | @@ -62,3 +65,6 @@ prometheus_server_web_listen_address: 127.0.0.1:9090 # jobs: # - node # - blackbox + +# prometheus_server_secret_files: +# user: secret diff --git a/roles/monitoring/prometheus/server/defaults/main/rules_prometheus.yml b/roles/monitoring/prometheus/server/defaults/main/rules_prometheus.yml index b568f722..739bbbad 100644 --- a/roles/monitoring/prometheus/server/defaults/main/rules_prometheus.yml +++ b/roles/monitoring/prometheus/server/defaults/main/rules_prometheus.yml @@ -11,15 +11,6 @@ prometheus_server_rules_prometheus: summary: Prometheus job missing (instance {{ '{{' }} $labels.instance {{ '}}' }}) description: "A Prometheus job has disappeared\n VALUE = {{ '{{' }} $value {{ '}}' }}\n LABELS = {{ '{{' }} $labels {{ '}}' }}" - - alert: PrometheusJobMissing - expr: absent(up{job="prometheus"}) - for: 0m - labels: - severity: warning - annotations: - summary: Prometheus job missing (instance {{ '{{' }} $labels.instance {{ '}}' }}) - description: "A Prometheus job has disappeared\n VALUE = {{ '{{' }} $value {{ '}}' }}\n LABELS = {{ '{{' }} $labels {{ '}}' }}" - - alert: PrometheusTargetMissing expr: up == 0 for: 0m diff --git a/roles/monitoring/prometheus/server/tasks/main.yml b/roles/monitoring/prometheus/server/tasks/main.yml index ad78ee24..b552fd27 100644 --- a/roles/monitoring/prometheus/server/tasks/main.yml +++ b/roles/monitoring/prometheus/server/tasks/main.yml @@ -80,13 +80,6 @@ validate: "promtool check rules %s" notify: reload prometheus -- name: generate configuration file - template: - src: prometheus.yml.j2 - dest: /etc/prometheus/prometheus.yml - validate: "promtool check config %s" - notify: reload prometheus - - name: generate web configuration file when: prometheus_server_auth_users is defined copy: @@ -140,6 +133,26 @@ no_log: yes notify: reload prometheus +- name: generate extra secret files + when: prometheus_server_secret_files is defined + loop: "{{ prometheus_server_secret_files | dict2items }}" + loop_control: + label: "{{ item.key }}" + copy: + content: "{{ item.value }}" + dest: "/etc/prometheus/prometheus-{{ item.key }}.secret" + mode: 0640 + owner: root + group: prometheus + notify: reload prometheus + +- name: generate configuration file + template: + src: prometheus.yml.j2 + dest: /etc/prometheus/prometheus.yml + validate: "promtool check config %s" + notify: reload prometheus + - name: generate systemd service unit template: src: prometheus.service.j2 diff --git a/roles/monitoring/prometheus/server/templates/prometheus.yml.j2 b/roles/monitoring/prometheus/server/templates/prometheus.yml.j2 index e9d83c1d..09d5452d 100644 --- a/roles/monitoring/prometheus/server/templates/prometheus.yml.j2 +++ b/roles/monitoring/prometheus/server/templates/prometheus.yml.j2 @@ -1,8 +1,8 @@ # {{ ansible_managed }} global: - scrape_interval: 15s - evaluation_interval: 15s + scrape_interval: {{ prometheus_server_scrape_interval }} + evaluation_interval: {{ prometheus_server_evaluation_interval }} {% if prometheus_server_external_labels is defined %} external_labels: {% for name, value in prometheus_server_external_labels.items() %} -- cgit v1.2.3