服务日志查看
通过 fleet.sh(单机)
bash
./scripts/fleet.sh logs -f <service-name>常见服务名:orchestrator、identity-service、ag-ui-server、ai-infra-rs、delivery 等(完整见 部署组件)。
通过 watch-logs.sh(单机)
bash
# fleet 写入日志文件后跟踪
LOG_FILES=./fleet.log ./scripts/fleet.sh up -d
./scripts/watch-logs.sh -- ./fleet.log
# 仅关注特定容器
./scripts/watch-logs.sh chatkit-identity chatkit-llm-adapter -- ./fleet.logK8s 日志查看
bash
# 实时跟踪
kubectl -n <ns> logs -f <pod> -c <container>
# 按 label 批量
kubectl -n <ns> logs -l app=<svc> --tail=200
# 上一容器日志(CrashLoopBackOff 排障)
kubectl -n <ns> logs <pod> --previousLoki 查询见 日志系统。
结构化日志字段
JSON 日志关键字段:
| 字段 | 说明 |
|---|---|
timestamp | 时间戳 |
level | 日志级别 |
service | 服务名 |
tenant_id | 租户 ID |
trace_id | 跨服务追踪 ID |
request_id | 请求 ID |
user_id | 用户 ID |
flow_id | Flow ID |
jq 过滤
bash
docker logs <svc> 2>&1 | jq 'select(.level=="error")'
docker logs <svc> 2>&1 | jq 'select(.trace_id=="<trace_id>")'常见错误日志样例与定位思路
| 错误日志样例 | 定位思路 |
|---|---|
LLM 连通性检查未通过 (HTTP 401) | API Key 错误或过期;核对 LLM_API_KEY;容器内 curl -H "Authorization: Bearer $KEY" $LLM_BASE_URL/v1/models |
LLM 连通性检查未通过 (HTTP timeout) | 容器用 localhost 访问宿主机 LLM;或内网代理未配;用宿主机 IP 或 Docker 网关;HTTP_PROXY 注入 |
contract_version=unknown | contract 版本在镜像构建时内嵌,unknown 属异常镜像;联系凡泰支持 |
AI_INFRA_RS_HOST_PROFILE not set, degrading to Tier A | 生产未显式注入 profile;.env 或 ConfigMap 加 AI_INFRA_RS_HOST_PROFILE=linux-cloud,重启 |
DEPLOYMENT_LICENSE_KEY missing | license 未配置;init-env.sh 提示必填;联系凡泰获取并写入 .env |
Deployment license loaded (already expired...) | license 已过期,登录等接口返回 403(DEPLOYMENT_LICENSE_EXPIRED);查 http://<host>:26101/health 的 deployment_license 字段确认到期时间;联系凡泰续期(流程见「更新 License」) |
Restate cluster unreachable | Restate 节点未组群;curl http://<node>:26181/health 各节点;确认 v1.6.2+;RKE2 token 一致 |
PostgreSQL replication lag > 60s | 主从同步延迟;SELECT * FROM pg_stat_replication;检查 WAL、网络、slave IO |
finsafe execution denied | 沙箱策略拒绝;查 finsafe-authority(8090) 策略;FINSAFE_SHELL_POLICY_ID 是否正确 |
Channel deliver_failed: feishu 401 | 飞书 token 过期;Admin -> Tenant -> Channels 重新授权;FEISHU_APP_SECRET 核对 |
Channel deliver_failed: wecom 40014 | 企业微信 corpid/secret 不匹配;同上,WECOM_CORP_ID/WECOM_SECRET 核对 |
OOMKilled | 容器内存上限;kubectl describe pod;调 resources.limits.memory 或 AI_INFRA_RS_GLOBAL_CONCURRENCY 降并发 |
CrashLoopBackOff | 启动失败循环;kubectl logs <pod> --previous 看退出原因;常见为 env 缺失、volume 挂载失败 |
日志聚合排障
跨服务追踪按 trace_id 串连 api-gateway / orchestrator / ai-infra-rs / delivery。
Loki 查询样例见 日志系统。
