feat: 新增告警、成本、配额、微信模块及缓存服务
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
- 新增告警模块 (alerts): 告警规则配置与触发 - 新增成本管理模块 (cost): 成本统计与分析 - 新增配额模块 (quota): 配额管理与限制 - 新增微信模块 (wechat): 微信相关功能接口 - 新增缓存服务 (cache): Redis 缓存封装 - 新增请求日志中间件 (request_logger) - 新增异常处理和链路追踪中间件 - 更新 dashboard 前端展示 - 更新 SDK stats_client 功能
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
"""平台服务入口"""
|
||||
import logging
|
||||
from fastapi import FastAPI
|
||||
from fastapi.middleware.cors import CORSMiddleware
|
||||
|
||||
@@ -9,6 +10,15 @@ from .routers.tenants import router as tenants_router
|
||||
from .routers.tenant_apps import router as tenant_apps_router
|
||||
from .routers.tenant_wechat_apps import router as tenant_wechat_apps_router
|
||||
from .routers.apps import router as apps_router
|
||||
from .routers.wechat import router as wechat_router
|
||||
from .routers.alerts import router as alerts_router
|
||||
from .routers.cost import router as cost_router
|
||||
from .routers.quota import router as quota_router
|
||||
from .middleware import TraceMiddleware, setup_exception_handlers, RequestLoggerMiddleware
|
||||
from .middleware.trace import setup_logging
|
||||
|
||||
# 配置日志(包含 TraceID)
|
||||
setup_logging(level=logging.INFO, include_trace=True)
|
||||
|
||||
settings = get_settings()
|
||||
|
||||
@@ -18,6 +28,20 @@ app = FastAPI(
|
||||
description="平台基础设施服务 - 统计/日志/配置管理"
|
||||
)
|
||||
|
||||
# 配置统一异常处理
|
||||
setup_exception_handlers(app)
|
||||
|
||||
# 中间件按添加的反序执行,所以:
|
||||
# 1. CORS 最后添加,最先执行
|
||||
# 2. TraceMiddleware 在 RequestLoggerMiddleware 之后添加,这样先执行
|
||||
# 3. RequestLoggerMiddleware 最先添加,最后执行(此时 trace_id 已设置)
|
||||
|
||||
# 请求日志中间件(自动记录到数据库)
|
||||
app.add_middleware(RequestLoggerMiddleware, app_code="000-platform")
|
||||
|
||||
# TraceID 追踪中间件
|
||||
app.add_middleware(TraceMiddleware, log_requests=True)
|
||||
|
||||
# CORS
|
||||
app.add_middleware(
|
||||
CORSMiddleware,
|
||||
@@ -25,6 +49,7 @@ app.add_middleware(
|
||||
allow_credentials=True,
|
||||
allow_methods=["*"],
|
||||
allow_headers=["*"],
|
||||
expose_headers=["X-Trace-ID", "X-Response-Time"]
|
||||
)
|
||||
|
||||
# 注册路由
|
||||
@@ -37,6 +62,10 @@ app.include_router(apps_router, prefix="/api")
|
||||
app.include_router(stats_router, prefix="/api")
|
||||
app.include_router(logs_router, prefix="/api")
|
||||
app.include_router(config_router, prefix="/api")
|
||||
app.include_router(wechat_router, prefix="/api")
|
||||
app.include_router(alerts_router, prefix="/api")
|
||||
app.include_router(cost_router, prefix="/api")
|
||||
app.include_router(quota_router, prefix="/api")
|
||||
|
||||
|
||||
@app.get("/")
|
||||
|
||||
Reference in New Issue
Block a user