From 36a630cd1f2a96a7faf93cb1e0fb5449cbf4a05b Mon Sep 17 00:00:00 2001 From: xyephy Date: Tue, 19 Aug 2025 17:52:02 +0300 Subject: [PATCH 1/2] Optimize Prometheus storage and reduce Docker volume usage - Upgrade to v2.47.2 with WAL compression and retention policies - Set 7-day/2GB limits to prevent unlimited growth - Reduce system metric intervals while preserving benchmarking accuracy Fixes #52 --- docker-compose-config-a.yaml | 5 ++++- docker-compose-config-c.yaml | 5 ++++- prometheus/prometheus.yml | 16 ++++++++-------- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/docker-compose-config-a.yaml b/docker-compose-config-a.yaml index ad134a7..3a3353a 100644 --- a/docker-compose-config-a.yaml +++ b/docker-compose-config-a.yaml @@ -418,13 +418,16 @@ services: - "NTM_FILTERS=" prometheus: - image: prom/prometheus:v2.36.2 + image: prom/prometheus:v2.47.2 volumes: - ./prometheus/:/etc/prometheus/ - prometheus_data_config_a:/prometheus command: - "--config.file=/etc/prometheus/prometheus.yml" - "--storage.tsdb.path=/prometheus" + - "--storage.tsdb.retention.time=7d" + - "--storage.tsdb.retention.size=2GB" + - "--storage.tsdb.wal-compression" - "--web.console.libraries=/usr/share/prometheus/console_libraries" - "--web.console.templates=/usr/share/prometheus/consoles" - "--web.enable-lifecycle" diff --git a/docker-compose-config-c.yaml b/docker-compose-config-c.yaml index 059b113..69a23f5 100644 --- a/docker-compose-config-c.yaml +++ b/docker-compose-config-c.yaml @@ -343,13 +343,16 @@ services: - "NTM_FILTERS=" prometheus: - image: prom/prometheus:v2.36.2 + image: prom/prometheus:v2.47.2 volumes: - ./prometheus/:/etc/prometheus/ - prometheus_data_config_c:/prometheus command: - "--config.file=/etc/prometheus/prometheus.yml" - "--storage.tsdb.path=/prometheus" + - "--storage.tsdb.retention.time=7d" + - "--storage.tsdb.retention.size=2GB" + - "--storage.tsdb.wal-compression" - "--web.console.libraries=/usr/share/prometheus/console_libraries" - "--web.console.templates=/usr/share/prometheus/consoles" - "--web.enable-lifecycle" diff --git a/prometheus/prometheus.yml b/prometheus/prometheus.yml index a0375b8..9a8f1a4 100644 --- a/prometheus/prometheus.yml +++ b/prometheus/prometheus.yml @@ -1,7 +1,7 @@ # my global config global: - scrape_interval: 15s # By default, scrape targets every 15 seconds. - evaluation_interval: 15s # By default, scrape targets every 15 seconds. + scrape_interval: 30s # By default, scrape targets every 30 seconds. + evaluation_interval: 30s # By default, scrape targets every 30 seconds. # scrape_timeout is set to the global default (10s). # Attach these labels to any time series or alerts when communicating with @@ -16,24 +16,24 @@ scrape_configs: - job_name: 'prometheus' - # Override the global default and scrape targets from this job every 5 seconds. - scrape_interval: 5s + # Override the global default and scrape targets from this job every 15 seconds. + scrape_interval: 15s static_configs: - targets: ['localhost:9090'] - job_name: 'cadvisor' - # Override the global default and scrape targets from this job every 5 seconds. - scrape_interval: 5s + # Override the global default and scrape targets from this job every 15 seconds. + scrape_interval: 15s static_configs: - targets: ['cadvisor:8080'] - job_name: 'node-exporter' - # Override the global default and scrape targets from this job every 5 seconds. - scrape_interval: 5s + # Override the global default and scrape targets from this job every 30 seconds. + scrape_interval: 30s static_configs: - targets: ['node-exporter:9100'] From d9be00dc331664943ad7323865a6ca9d9214c6e3 Mon Sep 17 00:00:00 2001 From: xyephy Date: Fri, 22 Aug 2025 12:23:12 +0300 Subject: [PATCH 2/2] Revert to original scrape interval times --- prometheus/prometheus.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/prometheus/prometheus.yml b/prometheus/prometheus.yml index 9a8f1a4..a0375b8 100644 --- a/prometheus/prometheus.yml +++ b/prometheus/prometheus.yml @@ -1,7 +1,7 @@ # my global config global: - scrape_interval: 30s # By default, scrape targets every 30 seconds. - evaluation_interval: 30s # By default, scrape targets every 30 seconds. + scrape_interval: 15s # By default, scrape targets every 15 seconds. + evaluation_interval: 15s # By default, scrape targets every 15 seconds. # scrape_timeout is set to the global default (10s). # Attach these labels to any time series or alerts when communicating with @@ -16,24 +16,24 @@ scrape_configs: - job_name: 'prometheus' - # Override the global default and scrape targets from this job every 15 seconds. - scrape_interval: 15s + # Override the global default and scrape targets from this job every 5 seconds. + scrape_interval: 5s static_configs: - targets: ['localhost:9090'] - job_name: 'cadvisor' - # Override the global default and scrape targets from this job every 15 seconds. - scrape_interval: 15s + # Override the global default and scrape targets from this job every 5 seconds. + scrape_interval: 5s static_configs: - targets: ['cadvisor:8080'] - job_name: 'node-exporter' - # Override the global default and scrape targets from this job every 30 seconds. - scrape_interval: 30s + # Override the global default and scrape targets from this job every 5 seconds. + scrape_interval: 5s static_configs: - targets: ['node-exporter:9100']