diff --git a/monitor/nacos.py b/monitor/nacos.py index eccdb68..6b430c0 100644 --- a/monitor/nacos.py +++ b/monitor/nacos.py @@ -424,6 +424,8 @@ def build_nacos_payload() -> dict[str, Any]: raw_services = list_services(namespace["namespaceId"]) # 这里保存当前 namespace 下所有待查询服务。 queries_by_key: dict[tuple[str, str], dict[str, str]] = {} + # 只在可见 namespace,或者根本没有可见 namespace 时,才补 fallback 查询。 + allow_fallback_queries = namespace["visible"] or not any(item["visible"] for item in normalized_namespaces) # 先收 service/list 返回的服务。 for raw_name in raw_services: @@ -438,11 +440,12 @@ def build_nacos_payload() -> dict[str, Any]: } # 再补上 targets.json 里已知的注册服务,避免 service/list 返回空时整页丢数据。 - for item in monitored_service_queries(): - queries_by_key.setdefault( - (item["groupName"], item["registryName"]), - item, - ) + if allow_fallback_queries: + for item in monitored_service_queries(): + queries_by_key.setdefault( + (item["groupName"], item["registryName"]), + item, + ) # 逐个服务拉实例详情。 for query in queries_by_key.values():