summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoropswill <will@nixops.org>2025-05-07 16:26:38 +0800
committeropswill <will@nixops.org>2025-05-07 16:26:38 +0800
commit5dd5e74ef8206546ab69839277c3deb635197f7c (patch)
tree51e6c1d751a2ca73235cb08cbd6f5583169da48c /src
parentaf2ddd56efc8aa4f8b1f417780de70bcce45cb89 (diff)
downloadvyos-1x-5dd5e74ef8206546ab69839277c3deb635197f7c.tar.gz
vyos-1x-5dd5e74ef8206546ab69839277c3deb635197f7c.zip
prometheus: T7435: Ensure only configured prometheus exporters are started
Diffstat (limited to 'src')
-rwxr-xr-xsrc/conf_mode/service_monitoring_prometheus.py18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/conf_mode/service_monitoring_prometheus.py b/src/conf_mode/service_monitoring_prometheus.py
index 9a07d8593..f55b09f6c 100755
--- a/src/conf_mode/service_monitoring_prometheus.py
+++ b/src/conf_mode/service_monitoring_prometheus.py
@@ -48,9 +48,21 @@ def get_config(config=None):
if not conf.exists(base):
return None
- monitoring = conf.get_config_dict(
- base, key_mangling=('-', '_'), get_first_key=True, with_recursive_defaults=True
- )
+ monitoring = {}
+ exporters = {
+ 'node_exporter': base + ['node-exporter'],
+ 'frr_exporter': base + ['frr-exporter'],
+ 'blackbox_exporter': base + ['blackbox-exporter'],
+ }
+
+ for exporter_name, exporter_base in exporters.items():
+ if conf.exists(exporter_base):
+ monitoring[exporter_name] = conf.get_config_dict(
+ exporter_base,
+ key_mangling=('-', '_'),
+ get_first_key=True,
+ with_recursive_defaults=True,
+ )
tmp = is_node_changed(conf, base + ['node-exporter', 'vrf'])
if tmp: