---
type: study
created: 2026-08-11
updated: 2026-08-11
sensitivity: standard
status: verified
tags: [langchain, langsmith, self-hosted, disaster-recovery, observability]
topic: 自托管数据服务、加密、可观测、扩缩容与灾备
sources:
  - "https://docs.langchain.com/langsmith/diagnostics-self-hosted"
  - "https://docs.langchain.com/langsmith/encryption"
  - "https://docs.langchain.com/langsmith/export-backend"
  - "https://docs.langchain.com/langsmith/faq"
  - "https://docs.langchain.com/langsmith/langsmith-managed-clickhouse"
  - "https://docs.langchain.com/langsmith/llm-auth-proxy-self-hosted"
  - "https://docs.langchain.com/langsmith/self-host-blob-storage"
  - "https://docs.langchain.com/langsmith/self-host-disaster-recovery"
  - "https://docs.langchain.com/langsmith/self-host-egress"
  - "https://docs.langchain.com/langsmith/self-host-external-clickhouse"
  - "https://docs.langchain.com/langsmith/self-host-external-postgres"
  - "https://docs.langchain.com/langsmith/self-host-external-redis"
  - "https://docs.langchain.com/langsmith/self-host-scale"
  - "https://docs.langchain.com/langsmith/self-host-ttl"
  - "https://docs.langchain.com/langsmith/self-host-ui-customization"
  - "https://docs.langchain.com/langsmith/self-host-upgrades"
  - "https://docs.langchain.com/langsmith/self-host-usage"
  - "https://docs.langchain.com/langsmith/troubleshooting"
last_verified: 2026-08-11
---

# 自托管数据服务、可观测与灾备运维

## 状态归属

| 存储 | 内容 | DR 要求 |
| --- | --- | --- |
| PostgreSQL | Org、Workspace、用户、API key、Dataset、Prompt、Project、Deployment 元数据 | durable，备份/PITR/HA |
| ClickHouse | Trace、Run、Feedback 分析数据 | durable，通常体量最大 |
| Blob Storage | 启用后保存 input/output/error/manifest/event/attachment | durable，版本控制与跨区复制 |
| Redis/Valkey | Queue、cache、Pub/Sub、heartbeat | ephemeral，不恢复旧数据，重建即可 |

恢复 PostgreSQL、ClickHouse、Blob 必须尽量落在同一时间点。只恢复其中一个会产生 dangling reference 或 UI 缺失。Redis 不能在主、灾备两个 LangSmith 安装间共享，否则任务可能路由到错误集群。

## 外部数据服务

- PostgreSQL 生产推荐 RDS/Cloud SQL/Azure Flexible Server，最低 14；支持密码和云 IAM/Workload Identity，TLS 要校验服务端。
- Redis 最低 5，Valkey 最低 8；支持 standalone/cluster、TLS/mTLS 与云身份。每个 LangSmith 安装使用独立实例。
- ClickHouse 最低 23.9；24.2+ 要 LangSmith v0.6+。HA cluster 必须在首次 migration 前启用 replicated engine，已有 standalone schema 不能原地转 cluster。
- LangSmith-managed ClickHouse 位于客户 VPC 外，经 private endpoint/peering 连接；敏感 Run payload 可留在客户 Blob，但 metadata/分析字段仍需按数据表逐项审查。
- Blob Storage 生产强烈推荐，并配置 S3/GCS/Azure lifecycle 与 LangSmith TTL 前缀一致；GCS 原生 engine 需要 chart 0.13.29+。

## 加密与模型调用代理

Agent Server 基础静态加密用 `LANGGRAPH_AES_KEY`（16/24/32 bytes）加密 checkpoint blob，可用 `LANGGRAPH_AES_JSON_KEYS` 选择 JSON 字段。被加密字段无法搜索/过滤，部分系统字段禁止加密。自定义加密支持每租户 key/KMS envelope encryption，但必须实现 key ID、轮换、历史解密和失败恢复。

LLM Auth Proxy 是 Envoy + JWT 验证 + `ext_authz`/`ext_proc`：LangSmith 用短期签名 JWT 调客户代理，代理验证后注入 provider credential 或转换协议。它能隐藏模型 key、集中审计与路由，但客户负责 JWKS、issuer/audience、超时、HA 和 fail-closed。OAuth client credentials 与 Auth Proxy 在单个模型配置上互斥。

## 出站与遥测

非 offline 的 Self-hosted v0.9+ 必须访问 `https://beacon.langchain.com` 做 license 与计费 telemetry，该部分不能关闭；完全无出站需要离线 license。v0.11+ 默认发送可关闭的 operational logs/metrics/traces，不包含客户 Trace payload，但关闭它不会关闭 billing telemetry。Engine 还需要额外 LangSmith Intelligence 出站，且内容会离开客户环境做 ZDR 推理。

自有可观测后端可从 stdout/files 收日志，以 Prometheus/OTel 收服务、Nginx、数据库指标，并导出 traces。至少告警：ingest delay、queue backlog、HTTP 5xx/p95、ClickHouse merge/mutation/disk、PostgreSQL connections/lag、Redis latency、migration job、Pod restart 与 PVC 容量。

## 扩缩容

Self-host v0.13+ 的指导把写路径（Platform Backend、Ingest Queue）和读路径（Backend、Frontend、ClickHouse query）分开调优。KEDA 按队列扩缩；不能只加 Pod 而忽视 PostgreSQL/ClickHouse/Redis、网络和连接池上限。

容量测试用业务 Trace 大小、层级深度、feedback/attachment 比例和查询模式，而不是只测 requests/s。高写入与高查询同时发生时，ClickHouse merge 和对象存储带宽往往是瓶颈。

## DR 基线

| 模式 | 典型 RPO/RTO | 设计 |
| --- | --- | --- |
| Snapshot-only | 6–24h / 数小时 | 每日协调备份，最低成本 |
| Multi-AZ HA | 秒 / 分钟 | 同步 standby、跨 AZ 节点与存储 |
| Cross-region active/passive | 分钟到小时 / 数小时 | 第二集群 + 跨区备份/副本 + DNS failover |

LangSmith 是 single-write 平台，跨区必须 active/passive，不能双活写同一逻辑安装。ClickHouse 大库恢复通常显著慢于 PostgreSQL，应以真实体量演练。季度恢复 PostgreSQL/ClickHouse，半年做完整跨区演练；每次 chart upgrade 后复核 DR。

## TTL 与高风险清理

Self-hosted TTL 同时涉及 ClickHouse TTL、周末 cleanup cron 和 Blob lifecycle。v0.11 的 cleanup 用 `ALTER TABLE DELETE` mutation，CPU/IO 成本高，应在低峰运行、限制 active mutation，紧急停止前确认不会留下长期不一致。

备份桶也要复制 `ttl_s/`、`ttl_l/`、`ttl_XXd/` 生命周期规则，否则灾备切换后会无限保留。TTL/retention 修改通常只影响新 Trace；不能把设置变更当作旧数据已删除的证明。

## 升级与回退

- 降级不受支持，因为可能已有不可逆数据库 migration。
- 跨多个 major 时逐个 major 升级，不能跳跃；每步读 changelog、备份、预演 migration、验证后再继续。
- 固定 chart 与 image，保留旧 values、schema/backup，但不要自行 `force` dirty migration。
- 自定义 UI support message 仅纯文本，可引导到内部支持渠道；不能把敏感诊断信息直接展示给终端用户。

## 故障排查顺序

1. 确认 namespace、chart/app version 与期望组件。
2. 查 Deployment/Pod/Event/资源水位，再开 debug log；不要先改数据库。
3. 分清 LangSmith 平台故障与 Agent Server Data Plane 故障。
4. 对 `413` 先查 Ingress/body limit；对 ClickHouse disk/privilege 查容量与 grant；dirty migration 先停写并联系支持。
5. 支持脚本/压缩包可能包含组织 ID、主机名和日志，分享前按公司数据政策脱敏。

