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:
@@ -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": [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user