参考手册Workspace 包参考
健康检查
系统健康检查框架,监控应用和基础设施状态
本页是 01MVP 模板的 Workspace 包参考。若你正在按功能启用或改造模板,先看 上线与维护。
@01mvp/health
这是什么
健康检查(Health Check)= 定期确认你的数据库、Redis、存储等服务是否还在正常运行。就像体检一样,帮你提前发现问题,而不是等用户报告"网站打不开了"才知道。
@01mvp/health 是一个轻量的健康检查框架,你可以用它快速搭建一个系统状态监控 API。
能做什么
- 检查数据库连接 -- 确认数据库能正常响应
- 检查 Redis 连接 -- 确认缓存服务在线
- 检查外部服务 -- 确认 Stripe、S3 存储等第三方服务可达
- 检查自定义指标 -- 比如磁盘空间、内存使用
- 生成标准响应 -- 自动返回
200(健康)或503(异常)HTTP 状态码
健康检查 API 通常暴露在 /api/health,可以配合 UptimeRobot、Datadog 等监控平台做定期探测。建议同时提供 GET(返回详情)和 HEAD(轻量存活探测)两种请求方式。
怎么配置
不需要额外配置。直接在你的 API 路由里使用即可。
大概原理
- 你定义一个或多个"检查器"(Checker),每个检查器做一件事(比如连一下数据库)
- 调用
checkHealth()函数,它会按顺序执行所有检查器 - 每个检查器有超时限制(默认 5 秒),超时就当失败处理
- 所有结果汇总成一个响应:全通过 = healthy,部分失败 = degraded,严重失败 = unhealthy
healthResponse()自动帮你转成 HTTP 响应给外部监控平台用
你可以把这个 API 地址(比如 /api/health)配置到监控平台(如 UptimeRobot、Datadog),让它们定时访问,服务挂了第一时间通知你。
最佳实践
- 建议同时提供 GET(返回详情)和 HEAD(轻量存活探测)两种方法
- 每个检查器设置合理超时,避免检查本身卡死
- 结合 cron 定时任务或外部监控服务使用
相关链接
- @01mvp/logs -- 日志系统
- @01mvp/cache -- 缓存层