diff --git a/backend/app/observability.py b/backend/app/observability.py index 17befe5..c9a4c73 100644 --- a/backend/app/observability.py +++ b/backend/app/observability.py @@ -130,8 +130,8 @@ async def _check_nats(nats_url: str) -> dict: ) try: await nc.drain() - except Exception: - pass + except Exception as exc: + logger.warning("Readiness check dependency failed: %s", exc) latency_ms = round((time.monotonic() - start) * 1000) return {"status": "up", "latency_ms": latency_ms, "error": None} except Exception as exc: diff --git a/backend/app/services/alert_evaluator.py b/backend/app/services/alert_evaluator.py index 13ff2b7..6cfcd79 100644 --- a/backend/app/services/alert_evaluator.py +++ b/backend/app/services/alert_evaluator.py @@ -696,6 +696,13 @@ async def evaluate_offline(device_id: str, tenant_id: str) -> None: async def evaluate_online(device_id: str, tenant_id: str) -> None: """Resolve offline alert when device comes back online.""" + if await _is_device_in_maintenance(tenant_id, device_id): + logger.debug( + "Online event suppressed by maintenance window for device %s", + device_id, + ) + return + rule = await _get_offline_rule(tenant_id) rule_id = rule["id"] if rule else None diff --git a/backend/app/services/config_diff_service.py b/backend/app/services/config_diff_service.py index 0f1e44a..fcf19ea 100644 --- a/backend/app/services/config_diff_service.py +++ b/backend/app/services/config_diff_service.py @@ -176,7 +176,7 @@ async def generate_and_store_diff( }, ) except Exception: - pass + logger.warning("Config diff generation failed", exc_info=True) # 11. Parse structured changes (best-effort) try: