Exclude LXC IPs from link stats collection

Add links_exclude_ips to monitor config; collect() skips any Prometheus
instance whose IP is in that list, preventing LXC containers from
appearing on the links/inspector pages as phantom hosts.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-17 20:39:47 -04:00
parent e2b65db2fc
commit 271c3c4373
2 changed files with 6 additions and 2 deletions

View File

@@ -31,7 +31,8 @@
"poll_interval": 300, "poll_interval": 300,
"failure_threshold": 2, "failure_threshold": 2,
"cluster_threshold": 3, "cluster_threshold": 3,
"ping_hosts": [] "ping_hosts": [],
"links_exclude_ips": ["10.10.10.29", "10.10.10.44", "10.10.10.3"]
}, },
"hosts": [ "hosts": [
{ {

View File

@@ -553,10 +553,13 @@ class LinkStatsCollector:
""" """
prom_metrics = self._collect_prom_metrics() prom_metrics = self._collect_prom_metrics()
result_hosts: Dict[str, Dict[str, dict]] = {} result_hosts: Dict[str, Dict[str, dict]] = {}
exclude_ips = set(self.cfg.get('monitor', {}).get('links_exclude_ips', []))
for instance, iface_metrics in prom_metrics.items(): for instance, iface_metrics in prom_metrics.items():
host = instance_map.get(instance, instance.split(':')[0])
host_ip = instance.split(':')[0] host_ip = instance.split(':')[0]
if host_ip in exclude_ips:
continue
host = instance_map.get(instance, host_ip)
ifaces = list(iface_metrics.keys()) ifaces = list(iface_metrics.keys())
# SSH ethtool collection via Pulse worker — only for explicitly configured # SSH ethtool collection via Pulse worker — only for explicitly configured