From 3ea485bfc79d9a4e3218ad6714c1c68ea0eff9f4 Mon Sep 17 00:00:00 2001 From: Simon Date: Tue, 8 Sep 2026 10:30:59 +0200 Subject: [PATCH] make disk usage per container metric optional --- .env.sample | 5 ++++- abra.sh | 2 +- config.alloy.tmpl | 4 ++++ release/next | 3 +++ 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/.env.sample b/.env.sample index 40f1612..c70c433 100644 --- a/.env.sample +++ b/.env.sample @@ -20,6 +20,9 @@ SECRET_BASIC_AUTH_VERSION=v1 # server is remote # PROMETHEUS_REMOTE_WRITE_URL=https://prometheus.$DOMAIN/api/v1/write +# Enable container filesystem usage metrics (expensive du-scan, ~30% CPU on large hosts) +# CADVISOR_DISK_USAGE=1 + # Enable authenticated scraping of containers that opt in via # prometheus.io/auth=basic or prometheus.io/auth=bearer labels (used as # password/bearer token respectively). Insert it with: @@ -84,7 +87,7 @@ SECRET_BASIC_AUTH_VERSION=v1 # SECRET_GF_ADMINPASSWD_VERSION=v1 ## Grafana's own domain. Defaults to $DOMAIN ## Change the value if you want Grafana on another domain. -GRAFANA_DOMAIN=$DOMAIN +# GRAFANA_DOMAIN=$DOMAIN # ## Single-Sign-On with OIDC # COMPOSE_FILE="$COMPOSE_FILE:compose.grafana-oidc.yml" diff --git a/abra.sh b/abra.sh index 2f27db8..f9f90b2 100644 --- a/abra.sh +++ b/abra.sh @@ -10,7 +10,7 @@ export PROMETHEUS_YML_VERSION=v2 export MATRIX_ALERTMANAGER_CONFIG_VERSION=v1 export MATRIX_ALERTMANAGER_ENTRYPOINT_VERSION=v1 export GF_ALERTS_NODE_VERSION=v3 -export CONFIG_ALLOY_VERSION=v1 +export CONFIG_ALLOY_VERSION=v2 # migrates secrets from old names to new names by reading values from the # running containers on the server and re-inserting them under the new names. diff --git a/config.alloy.tmpl b/config.alloy.tmpl index c8af4ad..f775a53 100644 --- a/config.alloy.tmpl +++ b/config.alloy.tmpl @@ -14,7 +14,11 @@ discovery.docker "linux" { {{ if ne (env "PROMETHEUS_REMOTE_WRITE_URL") "" }} prometheus.exporter.cadvisor "docker" { docker_only = true + {{ if eq (env "CADVISOR_DISK_USAGE") "1" }} enabled_metrics = ["cpu", "cpuLoad", "disk", "diskIO", "memory", "network"] + {{ else }} + enabled_metrics = ["cpu", "cpuLoad", "diskIO", "memory", "network"] + {{ end }} // host-wide totals already come from prometheus.exporter.unix disable_root_cgroup_stats = true } diff --git a/release/next b/release/next index 7226256..e7c348f 100644 --- a/release/next +++ b/release/next @@ -59,3 +59,6 @@ See the README's "Auto-discovering metrics from other apps" section. The Swarm, Stacks and Traefik dashboards were reworked to show old (pull-model) and new (Alloy push-model) data as one continuous line, so you don't lose history across the migration. + +The disk usage per container was disabled per default because of the CPU-expensive +filesystem scan (30% cpu increase). Enable by uncommenting env CADVISOR_DISK_USAGE=1 -- 2.54.0