LangSmith 应用暴露的遥测数据可发送到您选择的后端。如果您还没有可观测性堆栈,或希望将 LangSmith 遥测数据与主应用程序分开,可以使用 LangSmith 可观测性 Helm chart 部署一个基本的可观测性堆栈。
第 1 节:Prometheus 导出器
如果您只想为自托管部署中的组件部署指标导出器(然后可以使用您的遥测系统进行抓取),请使用本节。如果您希望我们为您部署完整的可观测性堆栈,请转到 端到端部署章节.
Helm chart 提供了一组 Prometheus 导出器,用于从以下服务暴露指标: Redis, Postgres, Nginx和 Kube 状态指标.
- 创建一个名为以下文件的本地文件:
langsmith_obs_config.yaml - 将以下文件中的值复制过来: 文件 到
langsmith_obs_config.yaml,请务必修改值以匹配您的 LangSmith 部署。 - 通过运行以下命令找到 chart 的最新版本:
helm search repo langchain/langsmith-observability --versions. - 获取最新版本号,然后运行
helm install langsmith-observability langchain/langsmith-observability --values langsmith_obs_config.yaml --version <version> -n <namespace> --wait --debug
这将允许您抓取以下服务端点的指标:
- * Postgres:
langsmith-observability-postgres-exporter:9187/metrics - * Redis:
langsmith-observability-redis-exporter:9121/metrics - * Nginx:
langsmith-observability-nginx-exporter:9113/metrics - * KubeStateMetrics:
langsmith-observability-kube-state-metrics:8080/metrics
如果安装成功,您应该会看到以下内容:
Release "langsmith-observability" has been installed. Happy Helming!NAME: langsmith-observabilityLAST DEPLOYED: Wed Jun 25 11:17:34 2025NAMESPACE: langsmith-observabilitySTATUS: deployedREVISION: 1
如果您运行 kubectl get pods -n langsmith-observability,您应该会看到:
langsmith-observability-kube-state-metrics-b58bb8db4-bm4g5 1/1 Running 0 2m22slangsmith-observability-nginx-exporter-6d686d9d4b-5qw9v 1/1 Running 0 2m22slangsmith-observability-postgres-exporter-67d5db5684-tffbm 1/1 Running 0 2m22slangsmith-observability-redis-exporter-846c4d65cb-vbtwd 1/1 Running 0 2m22s
第 2 节:完整可观测性堆栈
本节将向您展示如何使用 Helm Chart.
为 LangSmith 部署端到端可观测性堆栈。该 chart 基于 Grafana 的开源 LGTM 堆栈构建,由以下组件组成:
以及 OpenTelemetry 收集器 用于收集遥测数据。
前提条件
1. 计算资源
The resource requests and limits for each part of the stack can be modified in the helm chart. Here are the current allocations (request/limit):
- * Loki:
2vCPU/3vCPU + 2Gi/4Gi - * Mimir:
1vCPU/2vCPU + 2Gi/4Gi - * Tempo:
1vCPU/2vCPU + 4Gi/6Gi
在启动 helm chart 之前,请确保已分配这些资源,或在 helm 配置文件中修改资源值。
2. Cert-Manager
Helm chart 使用 OpenTelemetry Operator 来配置收集器。该操作符要求您已经在 cert-manager 中安装了您的 Kubernetes 集群。
如果您尚未安装,可以运行以下命令:
helm repo add jetstack https://charts.jetstack.iohelm repo updatehelm install cert-manager jetstack/cert-manager -n cert-manager --create-namespace
3. OpenTelemetry operator
使用以下命令安装 OpenTelemetry Operator:
helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-chartshelm repo updatehelm install opentelemetry-operator open-telemetry/opentelemetry-operator -n <namespace>
安装
以下说明将启动 OTel 收集器、LGTM 堆栈、Grafana 和 Prometheus 导出器。
- 创建一个名为
langsmith_obs_config.yaml - 的本地文件,然后从以下 文件 中复制值到
langsmith_obs_config.yaml,并确保修改值以匹配您的 LangSmith 部署。 - 通过运行以下命令找到 chart 的最新版本:
helm search repo langchain/langsmith-observability --versions. - 获取最新版本号,然后运行
helm install langsmith-observability langchain/langsmith-observability --values langsmith_obs_config.yaml --version <version> -n <namespace> --wait --debug
如果安装成功,您应该看到以下内容:
Release "langsmith-observability" has been installed. Happy Helming!NAME: langsmith-observabilityLAST DEPLOYED: Wed Jun 25 11:17:34 2025NAMESPACE: langsmith-observabilitySTATUS: deployedREVISION: 1
如果您运行 kubectl get pods -n langsmith-observability,您应该看到:
langsmith-observability-collector-gateway-collector-7746fb8pzbg 1/1 Running 0 5m26slangsmith-observability-grafana-7c6fc976f9-cdbvr 1/1 Running 0 2m49slangsmith-observability-kube-state-metrics-b58bb8db4-bm4g5 1/1 Running 0 5m27slangsmith-observability-loki-0 2/2 Running 0 5m27slangsmith-observability-loki-chunks-cache-0 2/2 Running 0 5m27slangsmith-observability-loki-gateway-769fb6fff8-zjsn5 1/1 Running 0 5m27slangsmith-observability-loki-results-cache-0 2/2 Running 0 5m27slangsmith-observability-mimir-0 1/1 Running 0 5m26slangsmith-observability-nginx-exporter-6d686d9d4b-5qw9v 1/1 Running 0 5m27slangsmith-observability-postgres-exporter-67d5db5684-tffbm 1/1 Running 0 5m27slangsmith-observability-redis-exporter-846c4d65cb-vbtwd 1/1 Running 0 5m27slangsmith-observability-tempo-0 1/1 Running 0 5m27sopentelemetry-operator-756dff697-vblbn 2/2 Running 0 12m
Post-Installation
在 LangSmith 中启用日志和追踪
安装可观测性 helm chart 后,您需要在 *LangSmith* helm 配置文件中设置以下值,以启用日志和追踪的收集。
commonPodAnnotations:
# E.g.: "langsmith-observability/langsmith-observability-collector-sidecar"
sidecar.opentelemetry.io/inject: "${LANGSMITH_OBS_NAMESPACE}/${LANGSMITH_OTEL_CRD_NAME}"
observability:
tracing:
enabled: true
# Replace this with the endpoint of your trace collector.
# E.g.: "http://langsmith-observability-collector-gateway-collector.langsmith-observability.svc.cluster.local:4318/v1/traces"
endpoint: "http://${GATEWAY_COLLECTOR_SERVICE_NAME}.${LANGSMITH_OBS_NAMESPACE}.svc.cluster.local:4318/v1/traces"
现在运行 helm upgrade langsmith langchain/langsmith --values langsmith_config.yaml -n <langsmith-namespace> --wait --debug
升级后,如果您运行 kubectl get pods -n <langsmith-namespace> you should see the following (note the 2/2 for sidecar collectors):
langsmith-ace-backend-7dc85f7dff-xjbkj 2/2 Running 0 7m53slangsmith-backend-566b66979c-rgcfh 2/2 Running 1 7m53slangsmith-clickhouse-0 2/2 Running 0 7m49slangsmith-frontend-7cf8549885-vpkns 2/2 Running 0 7m53slangsmith-platform-backend-5d46db7d9d-f6gh7 2/2 Running 0 7m52slangsmith-platform-backend-5d46db7d9d-lrr4d 2/2 Running 1 7m41slangsmith-platform-backend-5d46db7d9d-pcp27 2/2 Running 0 7m28slangsmith-playground-65d4c9699c-h656r 2/2 Running 0 7m52slangsmith-postgres-0 2/2 Running 0 7m51slangsmith-queue-bdcd45bd6-htssd 2/2 Running 0 7m52slangsmith-queue-bdcd45bd6-pwdx4 2/2 Running 0 6m31slangsmith-queue-bdcd45bd6-xqrb8 2/2 Running 0 5m11slangsmith-redis-0 2/2 Running 0 7m51s
Grafana 使用
安装所有组件后,执行以下操作:获取 Grafana 密码:
kubectl get secret langsmith-observability-grafana -n <langsmith_observability_namespace> -o jsonpath="{.data.admin-password}" | base64 --decode
然后将 langsmith-observability-grafana 容器端口转发到 3000,并在浏览器中打开 localhost:3000。使用用户名 admin 和上述密钥中的密码登录 Grafana。
进入 Grafana 后,您可以使用界面监控日志、指标和追踪。Grafana 还预置了监控部署主要组件的仪表板集合。