feat: 综合平台services多服务支持+SW网络优先缓存修复+适配层/定时任务完善

This commit is contained in:
gouki
2026-08-05 11:57:17 +00:00
parent 7f1268f508
commit 1b7d4823c3
47 changed files with 2895 additions and 1189 deletions
+15 -1
View File
@@ -5,9 +5,10 @@ from typing import Optional
from fastapi import APIRouter, Depends, Query
from sqlmodel import Session, select
from app.core.security import require_api_key
from app.database import get_metrics_session
from app.models.monitor import MetricPoint, SecurityCheck, ServerInfo
from app.services import security_service
from app.services import cleanup_service, security_service
router = APIRouter(prefix="/api/monitor", tags=["monitor"])
@@ -17,6 +18,19 @@ def security_overview(session: Session = Depends(get_metrics_session)):
return security_service.get_security_overview(session)
@router.post(
"/cleanup",
summary="手动触发监控数据清理(按保留周期删除过期数据)",
dependencies=[Depends(require_api_key)],
)
def cleanup(
metrics_days: Optional[int] = Query(default=None, description="时序数据保留天数(默认取配置)"),
security_days: Optional[int] = Query(default=None, description="安全检查保留天数(默认取配置)"),
event_log_days: Optional[int] = Query(default=None, description="事件日志保留天数(默认取配置)"),
):
return cleanup_service.cleanup_metrics(metrics_days, security_days, event_log_days)
@router.get("/{asset_id}/metrics", summary="资源监控时序(倒序,最新在前)")
def metrics(
asset_id: int,