前言
前面十三个业务模块都是 "业务怎么跑",系统监控回答一个更底层的问题:支撑这些业务的服务器、服务、数据库本身稳不稳。CPU 飙高、内存吃满、服务假死,用户端看到的就是 "页面打不开"" 数据不刷新 "。业务层的所有闭环,最后都落在系统能不能稳定运行上。系统监控就是这套平台的" 心跳监护仪 "—— 状态实时看、异常自动警、处置有闭环、恢复可标记。
最近研读系统监控模块需求文档,整套体系覆盖状态监测→异常预警→异常处置→运行恢复全流程,并配套系统运行状态可视化看板。本文延续系列分享,梳理其业务架构、核心闭环与设计亮点。
一、系统整体架构总览
系统监控平台延续同一套四层架构:
- PC 管理操作端:面向系统管理员、运维专员,完成监控台账查看、资源阈值配置、异常处置 / 重启 / 恢复、处理结果标记、台账导出全业务处理;
- 服务运行层(被监控对象):数据库服务、应用服务、中间件、接口服务、定时任务、各业务微服务实例,实时上报运行状态;
- 数字驾驶舱 & 系统运行状态看板:CPU 使用率 / 内存占用率 / 服务在线数 / 异常数卡片、资源占用与响应时长趋势、各服务异常次数与故障类型分布钻取;
- 数据感知层:CPU、内存、服务进程存活、响应时长、异常错误日志实时采集,与资源阈值自动比对预警。
系统监控平台延续并强化的设计原则:
- 全业务闭环:监测→预警→处置→恢复,异常事件有始有终;
- 阈值驱动预警:CPU、内存等资源指标达阈值自动触发异常预警,无需人工盯盘;
- 状态机驱动 UI:按状态匹配行操作按钮(正常运行 / 异常预警 / 已恢复);
- 处置闭环:处置、重启、恢复、标记,修复后回归正常运行;
- 趋势反哺优化:资源占用趋势数据反哺系统配置优化,从被动救火到主动调优;
- 全程留痕可审计:操作人、时间、操作内容全部留存。
二、核心业务模块拆解
(一)系统监控
- 全流程状态台账:展示状态监测→异常预警→异常处置→运行恢复全流程状态,固定展示服务名称、运行状态、异常类型、处置时间、状态等核心字段,关联 system_monitor 表支持钻取交互;
- 页面级操作:筛选、刷新、导出(Excel/PDF)、预警设置(配置系统资源阈值);
- 分状态行操作:正常运行支持查看 / 配置;异常预警支持处置 / 重启 / 恢复;已恢复支持查看 / 导出 / 标记;
- 状态监测:系统实时监控 CPU、内存、服务运行状态;
- 异常预警:达到阈值触发异常预警;
- 异常处置:运维专员在页面内执行处置、重启、恢复操作;
- 运行恢复:修复后系统标记为已恢复状态,可标记处理结果,回归正常运行;
- 运行状态看板:CPU 使用率 / 内存占用率 / 服务在线数 / 异常数卡片、系统资源占用趋势 / 服务响应时长趋势折线图、各服务异常次数 / 故障类型分布柱状图,指标支持钻取筛选;
- 审计留痕:全流程操作自动留存审计日志。
三、服务运行层(被监控对象)
数据库服务、应用服务、中间件、接口服务、定时任务、各业务微服务实例,实时向监控层上报运行状态与资源指标。
四、数据感知层(监控采集)
CPU 使用率、内存占用率、服务进程存活、响应时长、异常错误日志实时采集;采集后与预设资源阈值自动比对,超标即触发预警。
五、系统监控层,值得产品和开发思考的几个问题
- 阈值分级:CPU、内存等指标预警阈值如何按服务重要性差异化配置,避免告警风暴?
- 重启操作权限与风险:页面内一键重启服务的权限如何管控,重启前是否需要二次确认与影响评估?
- 异常根因定位:预警只报 "内存超标",如何串联日志、链路追踪辅助快速定位根因而非盲目重启?
- 预警触达:异常预警除页面台账外,如何自动推送到运维人员即时通讯 / 短信,缩短响应时长?
- 恢复判定标准:"已恢复" 靠人工标记还是指标持续正常一段时间后自动判定,避免假恢复?
- 容量规划:长期资源占用趋势如何沉淀为扩容、架构优化的容量规划依据?