跳转至

系统监控(SystemMonitorController)

系统运行时监控接口:获取进程 CPU 负载 / 内存使用 / 线程数,以及按时间窗口从 systemMonitor.txt 读取历史监控曲线数据。基址为 /api

  • 接口类型:REST 资源(@Controller + 方法级 @ResponseBody + produces = APPLICATION_JSON_VALUE,方法返回 Object,由 Spring Jackson 序列化为 JSON;响应非统一 Resource,直接序列化为 JSON 对象 / 字符串)
  • 基址${myapps.context-path.runtime:}/api
  • Tag:系统监控

公共说明

  • 鉴权(据源码):方法级路径 /system/monitor/time/systemMonitor 拼接类级 /api 后**不在** /api/runtime/** 下,不在 RestSecurityHandlerInterceptor 覆盖范围。鉴权由全局过滤器 RuntimeSecurityFilter/*)执行登录态校验,未登录返回 401(或 SSO 模式重定向到 /signon)。需 accessToken,可通过 Cookie / 请求头 / query 参数任一方式传递。
  • 响应结构非统一 Resource#1 返回 Map<String, Object>(直接序列化为 JSON 对象);#2 返回 String(已按 [...] 拼装好的 JSON 数组字面量,Spring 以 text/plain 写回,注意是字符串而非对象)。
  • HTTP 状态码:方法级标注 @ResponseStatus(HttpStatus.OK),成功统一返回 200。

1. 获取进程 CPU 负载

返回当前 JVM 进程的 CPU 负载(百分比)、物理内存占用、堆/非堆内存使用量、线程数。

  • 接口类型:REST 资源(返回 Map@ResponseBody
  • 请求方式GET
  • 请求路径/system/monitor/time(完整:{runtime-context}/api/system/monitor/time
  • 鉴权:是(需 accessToken,据源码:RuntimeSecurityFilter 校验登录态)
  • Tag:系统监控

请求参数

无。

请求示例

GET /api/system/monitor/time HTTP/1.1
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9...

响应

结构非统一 Resource —— 直接返回 Map<String, Object> JSON 对象,无 errcode/errmsg/data/errors 包装。

字段 类型 说明
cpuLoad double 进程 CPU 负载百分比(0–100,原值 <0 时归零)
memorySizeUse double 物理内存使用量(MB,两位小数)
totalMemorySize long 物理内存总量(MB)
threadNum int JVM 线程数
heapSizeUsed long 堆内存使用量(MB)
nonHeapSizeUsed long 非堆内存使用量(MB)
{
  "cpuLoad": 12.34,
  "memorySizeUse": "2048.00",
  "totalMemorySize": 8192,
  "threadNum": 250,
  "heapSizeUsed": 512,
  "nonHeapSizeUsed": 128
}

2. 获取系统监控数据

<java.io.tmpdir>/systemMonitor.txt 读取历史监控记录(每 30 秒一行 JSON),按 time(分钟数)从尾部往前截取相应行数;不传 time 时取最近 100 行。返回拼装好的 JSON 数组字符串。

  • 接口类型:REST 资源(返回 String@ResponseBody
  • 请求方式GET
  • 请求路径/systemMonitor(完整:{runtime-context}/api/systemMonitor
  • 鉴权:是(需 accessToken,据源码)
  • Tag:系统监控

请求参数

参数名 位置 类型 必填 说明
time query string 取最近 N 分钟(源码按 N * 2 行采样);为空时取最近 100 行

请求示例

GET /api/systemMonitor?time=30 HTTP/1.1
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9...

响应

结构非统一 Resource —— 返回 JSON 字符串(已被控制器按 [...] 拼装,Spring 以 text/plain 写回;客户端需自行 JSON.parse)。每行结构由 SystemMonitorUtil 写入格式决定(典型含时间戳与各监控指标)。

[{"time":"2026-08-05 10:00:00","cpuLoad":12.3,"memorySizeUse":2048}, {"time":"2026-08-05 10:00:30","cpuLoad":12.5,"memorySizeUse":2050}]