关于 health-check-endpoints
为开发者提供健康检查端点的设计与实现指导,涵盖服务状态、依赖项和流量就绪情况,并附有多种框架的参考实现。
主要功能
- 01监控服务状态与依赖项
- 02区分存活和就绪探针
- 03提供多框架参考指南
- 04建议超时与结果缓存
适用场景
- 01配置 Kubernetes 存活和就绪探针
- 02为负载均衡器提供健康检查
- 03验证部署并监控故障
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ aj-geddes/ useful-ai-prompts --skill health-check-endpoints安装后在 Claude Code 中输入/health-check-endpoints确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/expressjs-health-checks.mdpython-flask-health-checks.mdspring-boot-actuator-style-java.mdscripts/validate-config.shtemplates/config-starter.yaml详细介绍
健康检查端点
目录
概述
实现健康检查端点,以监控服务健康状况、依赖项以及接收流量的就绪状态。
适用场景
- Kubernetes 存活探针和就绪探针
- 负载均衡器健康检查
- 服务发现与注册
- 监控与告警系统
- 熔断器决策
- 自动扩缩容触发条件
- 部署验证
快速开始
最简可运行示例:
import express from "express";
import { Pool } from "pg";
import Redis from "ioredis";
interface HealthStatus {
status: "healthy" | "degraded" | "unhealthy";
timestamp: string;
uptime: number;
checks: Record<string, CheckResult>;
version?: string;
environment?: string;
}
interface CheckResult {
status: "pass" | "fail" | "warn";
time: number;
output?: string;
error?: string;
}
class HealthCheckService {
private startTime = Date.now();
private version = process.env.APP_VERSION || "1.0.0";
private environment = process.env.NODE_ENV || "development";
// ... (see reference guides for full implementation)
参考指南
references/ 目录中的详细实现:
| 指南 | 内容 |
|---|---|
| Express.js 健康检查 | Express.js 健康检查 |
| Spring Boot Actuator 风格(Java) | Spring Boot Actuator 风格(Java) |
| Python Flask 健康检查 | Python Flask 健康检查 |
最佳实践
✅ 应该
- 实现独立的存活探针和就绪探针
- 保持存活探针轻量
- 在就绪探针中检查关键依赖项
- 返回适当的 HTTP 状态码
- 包含响应时间指标
- 设置合理的超时时间
- 短暂缓存健康检查结果
- 包含版本和环境信息
- 监控健康检查失败情况
❌ 不应该
- 让存活探针检查依赖项
- 健康检查失败时仍返回 200
- 响应耗时过长
- 跳过重要的依赖项检查
- 暴露敏感信息
- 忽视健康检查失败情况
评论
支持 Markdown