From aae63c97a3e20799a80af55f882d07e53edf922d Mon Sep 17 00:00:00 2001 From: Keith Jackson Date: Sun, 13 Sep 2026 22:42:08 -0500 Subject: [PATCH] fix(monitoring): node-exporter extraArgs REPLACES the chart default, so restate it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Verified against the chart (helm show values prometheus-community/prometheus-node-exporter) and against the live DaemonSet's argv on prod: the subchart's extraArgs default is NOT empty — it ships the two filesystem excludes (mount-points-exclude for /dev,/proc,/sys,containerd,docker,kubelet and the fs-types-exclude list). Setting extraArgs to just --collector.mountstats would have silently dropped both, so the filesystem collector would have begun reporting every container overlay and every kubelet bind mount: a large cardinality jump, and a behaviour change in NodeDiskFillingUp, which alerts per mountpoint. Both defaults are now restated verbatim alongside the new collector, with a note to re-reconcile them on a chart upgrade. Co-Authored-By: Claude Opus 5 --- platform/monitoring/kube-prometheus-stack.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/platform/monitoring/kube-prometheus-stack.yaml b/platform/monitoring/kube-prometheus-stack.yaml index b7b2db4..1d669ab 100644 --- a/platform/monitoring/kube-prometheus-stack.yaml +++ b/platform/monitoring/kube-prometheus-stack.yaml @@ -396,7 +396,19 @@ spec: # same lie as an alert rule on a metric nobody scrapes. No alert rule references # node_mountstats_* yet, deliberately, for exactly that reason; the per-export latency rule # is the follow-up once the series are confirmed, and runbooks/node-io.md records the gap. + # + # extraArgs REPLACES, IT DOES NOT APPEND — and the chart's DEFAULT for this key is not empty. + # prometheus-node-exporter's own values.yaml ships two filesystem excludes in `extraArgs` + # (confirmed against the chart, and against the live DaemonSet's argv on prod). Listing only + # `--collector.mountstats` here would silently DROP both, so the filesystem collector would + # start reporting every container overlay and every kubelet bind mount: a large cardinality + # jump and a behaviour change in NodeDiskFillingUp, which alerts per mountpoint. Both + # defaults are therefore restated verbatim below. If the chart's defaults change on an + # upgrade, this list must be re-reconciled against + # helm show values prometheus-community/prometheus-node-exporter | grep -A3 '^extraArgs:' extraArgs: + - --collector.filesystem.mount-points-exclude=^/(dev|proc|sys|run/containerd/.+|var/lib/docker/.+|var/lib/kubelet/.+)($|/) + - --collector.filesystem.fs-types-exclude=^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs|erofs)$ - --collector.mountstats resources: requests: