监控与健康
健康检查 - /api/health
-
端点:
/api/health -
方法:GET
-
描述:用于应用程序和 SQLite 连接的轻量级存活检查。Docker
HEALTHCHECK和入口点等待循环在本地主机上使用此 URL。 -
响应(健康):
{"status": "healthy","database": "connected","basicConnection": true,"initializationStatus": "complete","initializationComplete": true,"connectionHealth": true,"timestamp": "2024-03-20T10:00:00Z"} -
响应(降级):
{"status": "degraded","database": "unavailable","basicConnection": false,"initializationStatus": "complete","initializationComplete": true,"connectionHealth": false,"connectionHealthError": "Database connection test failed","timestamp": "2024-03-20T10:00:00Z"} -
错误响应(503):
{"status": "unhealthy","error": "Database connection failed","message": "Connection timeout","timestamp": "2024-03-20T10:00:00Z"} -
注意事项:
- 当初始化完成且
SELECT 1成功时返回 200 - 当初始化或连接检查失败时返回 503
- 不列出表名或运行仪表板查询
- 从不需要 API 密钥
- 当启用任一 IP 白名单时,客户端 IP 必须是回环地址或列在管理员或外部 CIDR 列表中(否则为
403IP_NOT_ALLOWED) - 非回环客户端受到速率限制(
429PROBE_RATE_LIMITED,每分钟 30 次和每小时 120 次)。回环(127.0.0.1,::1)从不被限流
- 当初始化完成且
连通性探测 - /api/ping
-
端点:
/api/ping -
方法:GET
-
描述:仪表板连通性检查使用的微小
{ "ok": true }回复(每 30 秒一次)。 -
响应:
{"ok": true} -
注意事项:
- 从不需要 API 密钥或会话 Cookie
- 与
/api/health相同的白名单联合和回环规则 - 非回环客户端受到速率限制(
429PROBE_RATE_LIMITED,每分钟 60 次和每小时 600 次)