From 1ccafbf407eb934a3e3d30ca769f8da6f04bc9e9 Mon Sep 17 00:00:00 2001 From: gabo <gabo@crans.org> Date: Sat, 11 May 2024 18:40:58 +0200 Subject: [PATCH 1/3] [monitoring] ajout des variables de lancements promotheus --- roles/prometheus/tasks/main.yml | 7 ++ .../templates/prometheus/default.j2 | 64 +++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 roles/prometheus/templates/prometheus/default.j2 diff --git a/roles/prometheus/tasks/main.yml b/roles/prometheus/tasks/main.yml index 0208135c..3445d4b5 100644 --- a/roles/prometheus/tasks/main.yml +++ b/roles/prometheus/tasks/main.yml @@ -21,6 +21,13 @@ mode: 0644 notify: Restart Prometheus +- name: Configure Prometheus default + template: + src: prometheus/default.j2 + dest: /etc/default/prometheus + mode: 0644 + notify: Restart Prometheus + # We don't need to restart Prometheus when updating nodes - name: Configure Prometheus targets copy: diff --git a/roles/prometheus/templates/prometheus/default.j2 b/roles/prometheus/templates/prometheus/default.j2 new file mode 100644 index 00000000..7c885e2d --- /dev/null +++ b/roles/prometheus/templates/prometheus/default.j2 @@ -0,0 +1,64 @@ +{{ ansible_header | comment }} + +# Set the command-line arguments to pass to the server. + +ARGS="--storage.tsdb.retention.time={{ prometheus_retention_time }} \ +--web.enable-admin-api \ +--storage.tsdb.retention.size={{ prometheus_retention_size }}" +# voir prometheus --help pour plus d’option + + +# Prometheus supports the following options: +# --config.file="/etc/prometheus/prometheus.yml" +# Prometheus configuration file path. +# --web.listen-address="0.0.0.0:9090" +# Address to listen on for UI, API, and telemetry. +# --web.read-timeout=5m Maximum duration before timing out read of the +# request, and closing idle connections. +# --web.max-connections=512 Maximum number of simultaneous connections. +# --web.external-url=<URL> The URL under which Prometheus is externally +# reachable (for example, if Prometheus is served +# via a reverse proxy). Used for generating +# relative and absolute links back to Prometheus +# itself. If the URL has a path portion, it will +# be used to prefix all HTTP endpoints served by +# Prometheus. If omitted, relevant URL components +# will be derived automatically. +# --web.route-prefix=<path> Prefix for the internal routes of web endpoints. +# Defaults to path of --web.external-url. +# --web.local-assets="/usr/share/prometheus/web/" +# Path to static asset/templates directory. +# --web.user-assets=<path> Path to static asset directory, available at +# /user. +# --web.enable-lifecycle Enable shutdown and reload via HTTP request. +# --web.enable-admin-api Enables API endpoints for admin control actions. +# --web.console.templates="/etc/prometheus/consoles" +# Path to the console template directory, +# available at /consoles. +# --web.console.libraries="/etc/prometheus/console_libraries" +# Path to the console library directory. +# --storage.tsdb.path="/var/lib/prometheus/metrics2/" +# Base path for metrics storage. +# --storage.tsdb.min-block-duration=2h +# Minimum duration of a data block before being +# persisted. +# --storage.tsdb.max-block-duration=<duration> +# Maximum duration compacted blocks may span. +# (Defaults to 10% of the retention period) +# --storage.tsdb.retention=15d +# How long to retain samples in the storage. +# --storage.tsdb.use-lockfile +# Create a lockfile in data directory. +# --alertmanager.notification-queue-capacity=10000 +# The capacity of the queue for pending alert +# manager notifications. +# --alertmanager.timeout=10s +# Timeout for sending alerts to Alertmanager. +# --query.lookback-delta=5m The delta difference allowed for retrieving +# metrics during expression evaluations. +# --query.timeout=2m Maximum time a query may take before being +# aborted. +# --query.max-concurrency=20 +# Maximum number of queries executed concurrently. +# --log.level=info Only log messages with the given severity or +# above. One of: [debug, info, warn, error] -- GitLab From ca70e1284db6896a16e551ff35f22e3f72777634 Mon Sep 17 00:00:00 2001 From: gabo <gabo@crans.org> Date: Sat, 18 May 2024 14:39:07 +0200 Subject: [PATCH 2/3] [monitoring] ajout des variable retention_size & retention_time au host_var fyre --- host_vars/fyre.adm.crans.org.yml | 3 +++ roles/prometheus/templates/prometheus/default.j2 | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/host_vars/fyre.adm.crans.org.yml b/host_vars/fyre.adm.crans.org.yml index 21ad35fc..535dd4a5 100644 --- a/host_vars/fyre.adm.crans.org.yml +++ b/host_vars/fyre.adm.crans.org.yml @@ -250,3 +250,6 @@ loc_prometheus: target_label: instance - replacement: "{{ query('ldap', 'ip4', 'helloworld', 'adm') }}:9116" target_label: __address__ + tsdb: + retention_time: "180d" + retention_size: "200GB" diff --git a/roles/prometheus/templates/prometheus/default.j2 b/roles/prometheus/templates/prometheus/default.j2 index 7c885e2d..43814263 100644 --- a/roles/prometheus/templates/prometheus/default.j2 +++ b/roles/prometheus/templates/prometheus/default.j2 @@ -2,9 +2,9 @@ # Set the command-line arguments to pass to the server. -ARGS="--storage.tsdb.retention.time={{ prometheus_retention_time }} \ +ARGS="--storage.tsdb.retention.time={{ prometheus.tsdb.retention_time }} \ #prometheus.tsdb.retention_time --web.enable-admin-api \ ---storage.tsdb.retention.size={{ prometheus_retention_size }}" +--storage.tsdb.retention.size={{ prometheus.tsdb.retention_size }}" # prometheus.tsdb.retention_size # voir prometheus --help pour plus d’option -- GitLab From 885a21b3c662f0df6af2a9c94a370fb05a3d2692 Mon Sep 17 00:00:00 2001 From: gabo <gabo@crans.org> Date: Sat, 18 May 2024 16:45:14 +0200 Subject: [PATCH 3/3] [monitoring] correction templates --- roles/prometheus/templates/prometheus/default.j2 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/prometheus/templates/prometheus/default.j2 b/roles/prometheus/templates/prometheus/default.j2 index 43814263..1c506e13 100644 --- a/roles/prometheus/templates/prometheus/default.j2 +++ b/roles/prometheus/templates/prometheus/default.j2 @@ -2,9 +2,9 @@ # Set the command-line arguments to pass to the server. -ARGS="--storage.tsdb.retention.time={{ prometheus.tsdb.retention_time }} \ #prometheus.tsdb.retention_time +ARGS="--storage.tsdb.retention.time={{ prometheus.tsdb.retention_time }} \ --web.enable-admin-api \ ---storage.tsdb.retention.size={{ prometheus.tsdb.retention_size }}" # prometheus.tsdb.retention_size +--storage.tsdb.retention.size={{ prometheus.tsdb.retention_size }}" # voir prometheus --help pour plus d’option -- GitLab