diff options
author | opswill <will@nixops.org> | 2025-05-07 16:26:38 +0800 |
---|---|---|
committer | opswill <will@nixops.org> | 2025-05-07 16:26:38 +0800 |
commit | 5dd5e74ef8206546ab69839277c3deb635197f7c (patch) | |
tree | 51e6c1d751a2ca73235cb08cbd6f5583169da48c /src | |
parent | af2ddd56efc8aa4f8b1f417780de70bcce45cb89 (diff) | |
download | vyos-1x-5dd5e74ef8206546ab69839277c3deb635197f7c.tar.gz vyos-1x-5dd5e74ef8206546ab69839277c3deb635197f7c.zip |
prometheus: T7435: Ensure only configured prometheus exporters are started
Diffstat (limited to 'src')
-rwxr-xr-x | src/conf_mode/service_monitoring_prometheus.py | 18 |
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: |