健康检查与监控
应探测什么、应关注什么,以及探针无法告诉您的内容。
探针
| 端点 | 响应 | 用途 |
|---|---|---|
GET /health/live | 进程正常处理请求时返回 200 {"status":"ok"} | 存活检查 |
GET /health/ready | PostgreSQL 有响应时返回 200 {"status":"ok"},否则返回 503 {"status":"unavailable"} | 就绪检查:仅在就绪后才路由流量 |
livenessProbe:
httpGet: { path: /health/live, port: 8080 }
readinessProbe:
httpGet: { path: /health/ready, port: 8080 }
timeoutSeconds: 5
请为就绪探针设置 timeoutSeconds。如果 PostgreSQL 接受连接但不再响应,检查可能会等待远超该时长,而设置超时会让探针失败而不是挂起。
就绪检查不会验证的内容
就绪检查只检查数据库。它不会检查访问密钥是否有效,也不会检查能否连接到 Unico。错误的访问密钥会表现为创建时的错误,而不是探针失败。请在部署后的检查中加入一次真实的创建请求。
日志
日志为输出到标准输出的 JSON 行,包含 timestamp、severity、service 和 message。涉及已存储流程的失败会包含其 id。调用方造成的错误(400、404、409、422)不会被记录。
正常启动会在 PostgreSQL 连接消息之间按以下顺序记录这些行(目录的 version 和 count 会随每次目录发布而变化):
{"severity":"INFO","timestamp":"2026-11-03T14:02:11.482913407Z","message":"attribute catalog loaded","service":"human-plugin","version":"2026-10-29.1","count":53,"url":"https://human-token-assets.unico.app/attribute-catalog.json"}
{"severity":"INFO","timestamp":"2026-11-03T14:02:11.731050212Z","message":"database schema ready","service":"human-plugin"}
{"severity":"INFO","timestamp":"2026-11-03T14:02:11.733418901Z","message":"human plugin listening","service":"human-plugin","addr":":8080"}
应针对哪些情况设置告警
- 就绪检查失败:数据库无法访问。
- 您的后端调用反复收到
503 DATABASE_UNAVAILABLE或502 UPSTREAM_UNAVAILABLE响应。 - 容器重启:循环重启通常意味着缺少设置、目录无法访问或数据库出现问题。日志会说明具体原因。
- 错误级别的日志行,例如
creating process或retrieving process。
Human Plugin 不导出指标。请使用您的网关或服务网格来获取请求速率和延迟。