Skip to content

Python Monitor 监控

路由:app/api/v1/monitor.py
服务:app/services/monitor_service.py
调度:app/services/scheduler_service.py(APScheduler)

API 前缀:/api/v1/monitor/*

当前范围:操作日志、登录日志、定时任务 + 任务执行日志(与 Java / 前端 admin 对齐)。

端点

资源端点权限示例
OperLogsGET /operlogsDELETE /operlogs/{id}DELETE /operlogs/cleanmonitor:operlog:list/delete
LogininforGET /logininforDELETE /logininfor/{id}DELETE /logininfor/cleanmonitor:logininfor:list/delete
JobsGET/POST /jobsGET/PUT/DELETE /jobs/{id}POST /jobs/{id}/runmonitor:job:*
Job LogsGET /job-logsDELETE /job-logs/{log_id}DELETE /job-logs/cleanmonitor:job:list

操作日志写入

两种方式(与 Java @Log + AOP 互补):

  1. OperLogMiddlewareapp/middleware/oper_log.py
    POST/PUT/DELETE 且路径以 /api/v1/system//api/v1/monitor/jobs 开头的请求写 sys_oper_log(排除 /database/init)。

  2. @oper_log 装饰器app/services/oper_log.py
    可用于个别路由补充。

定时任务

  • 引擎:APScheduler 后台调度(非 Quartz,cron 表达式与 Java 种子兼容)
  • 启动lifespanjob_scheduler.init_from_db();缺表时 WARN,不阻断
  • 执行目标invokeTargetdemoTask.runapp/services/demo_task.py
  • init 后database_init 会再次 init_from_db 重载任务

菜单位置

种子将操作日志 / 登录日志 / 定时任务挂在 系统管理 下,路由仍为 /monitor/*,权限仍为 monitor:*

相关文档

Xichen Full Stack 内部文档