From ebb0ade66d1b96ec0e7090d98cfdb5561004f0ba Mon Sep 17 00:00:00 2001 From: Jean-Marie Mineau Date: Sun, 5 Sep 2021 22:02:48 +0200 Subject: [PATCH] add base config --- roles/prometheus/tasks/main.yml | 20 ++++++++++++ roles/prometheus/templates/prometheus.yml | 39 +++++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 roles/prometheus/templates/prometheus.yml diff --git a/roles/prometheus/tasks/main.yml b/roles/prometheus/tasks/main.yml index 9a7948f..61b76e1 100644 --- a/roles/prometheus/tasks/main.yml +++ b/roles/prometheus/tasks/main.yml @@ -10,3 +10,23 @@ register: apt_result retries: 3 until: apt_result is succeeded + +- name: Ensure the alert folder exist + file: + path: /etc/prometheus/alerts + state: directory + group: prometheus + owner: prometheus + mode: u=rwx,g=rx,o=rx + +- name: Setup the prometheus config + template: + src: prometheus.yml + dest: /etc/prometheus/prometheus.yml + owner: root + group: root + mode: '0640' + notify: Reload prometheus + no_log: true + + diff --git a/roles/prometheus/templates/prometheus.yml b/roles/prometheus/templates/prometheus.yml new file mode 100644 index 0000000..d54ce68 --- /dev/null +++ b/roles/prometheus/templates/prometheus.yml @@ -0,0 +1,39 @@ +{{ ansible_managed | comment }} + +global: + # scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. + # evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. + # scrape_timeout is set to the global default (10s). + + # Attach these labels to any time series or alerts when communicating with + # external systems (federation, remote storage, Alertmanager). + external_labels: + # monitor: 'example' + +# Alertmanager configuration +alerting: + alertmanagers: + - static_configs: + - targets: ['localhost:9093'] + +# Load rules once and periodically evaluate them according to the global 'evaluation_interval'. +rule_files: + - "alerts/*.yml" + +# A scrape configuration containing exactly one endpoint to scrape: +# Here it's Prometheus itself. +scrape_configs: + # The job name is added as a label `job=` to any timeseries scraped from this config. + - job_name: 'prometheus' + + # metrics_path defaults to '/metrics' + # scheme defaults to 'http'. + + static_configs: + - targets: ['localhost:9090'] + + - job_name: node + # If prometheus-node-exporter is installed, grab stats about the local + # machine by default. + static_configs: + - targets: ['localhost:9100']