Skip to main content
已弃用:LangSmith 可观测性 Helm 图表已弃用。我们不再维护或提供支持。以下文档仅供参考。
本节仅适用于 Kubernetes 部署。
LangSmith 应用程序会暴露遥测数据,这些数据可以发送到您选择的后端。如果您还没有可观测性栈,或者希望将 LangSmith 遥测数据与主应用程序分开,可以使用 LangSmith 可观测性 Helm 图表来部署一个基础的可观测性栈。

第一部分:Prometheus 导出器

如果您只想为自托管部署中的组件部署指标导出器,然后通过您的遥测系统抓取这些指标,请使用本节。如果您希望部署完整的可观测性栈,请转到端到端部署部分 该 Helm 图表提供了一组 Prometheus 导出器,用于暴露 RedisPostgresNginxKube 状态指标 的指标。
  1. 创建一个名为 langsmith_obs_config.yaml 的本地文件。
  2. 将此文件中的值复制到 langsmith_obs_config.yaml 中,确保修改这些值以匹配您的 LangSmith 部署。
  3. 运行 helm search repo langchain/langsmith-observability --versions 查找图表的最新版本。
  4. 获取最新的版本号,并运行 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
如果安装成功,您应该会看到以下信息:
如果运行 kubectl get pods -n langsmith-observability,您应该会看到:

第二部分:完整的可观测性栈

这不是一个生产级的可观测性栈。请使用它来快速了解部署的日志、指标和追踪。它仅设计用于处理每天几十 GB 的数据。
本节将展示如何使用 Helm 图表 为 LangSmith 部署端到端的可观测性栈。 该图表围绕 Grafana 的开源 LGTM 栈构建。它包括:
  • Loki 用于日志。
  • Mimir 用于指标和告警。
  • Tempo 用于追踪。
  • Grafana 用于监控界面。
以及用于收集遥测数据的 OpenTelemetry 收集器

前提条件

1. 计算资源

栈中每个部分的资源请求和限制可以在 Helm 图表中修改。以下是当前的分配(请求/限制):
  • Loki: 2vCPU/3vCPU + 2Gi/4Gi
  • Mimir: 1vCPU/2vCPU + 2Gi/4Gi
  • Tempo: 1vCPU/2vCPU + 4Gi/6Gi
在启动 Helm 图表之前,请确保已分配这些资源,或者在 Helm 配置文件中修改资源值。

2. Cert-Manager

Helm 图表使用 OpenTelemetry Operator 来配置收集器。该操作符要求您在 Kubernetes 集群中安装 cert-manager 如果尚未安装,可以运行以下命令:

3. OpenTelemetry 操作符

使用以下命令安装 OpenTelemetry Operator:

安装

以下说明将启动 OTel 收集器、LGTM 栈、Grafana 和 Prometheus 导出器。
  1. 创建一个名为 langsmith_obs_config.yaml 的本地文件。
  2. 将此文件中的值复制到 langsmith_obs_config.yaml 中,确保修改这些值以匹配您的 LangSmith 部署。
  3. 运行 helm search repo langchain/langsmith-observability --versions 查找图表的最新版本。
  4. 获取最新的版本号,并运行 helm install langsmith-observability langchain/langsmith-observability --values langsmith_obs_config.yaml --version <version> -n <namespace> --wait --debug
您可以通过修改配置文件中 otelCollector 下的布尔值来选择性地收集日志、指标或追踪。您也可以选择性地启动后端的各个部分(Loki、Mimir、Tempo)。
如果安装成功,您应该会看到以下信息:
如果运行 kubectl get pods -n langsmith-observability,您应该会看到:

安装后步骤

在 LangSmith 中启用日志和追踪

安装可观测性 Helm 图表后,您需要在 LangSmith Helm 配置文件中设置以下值以启用日志和追踪的收集。
  1. 要获取 ${LANGSMITH_OTEL_CRD_NAME},可以运行 kubectl get opentelemetrycollectors -n ${LANGSMITH_OBS_NAMESPACE} 并选择 MODE 为 sidecar 的那个名称。
  2. 要获取 ${GATEWAY_COLLECTOR_SERVICE_NAME} 名称,运行 kubectl get services -n ${LANGSMITH_OBS_NAMESPACE} 并选择端口为 4317/4318 且设置了 ClusterIP 的那个。它应该类似于 langsmith-observability-collector-gateway-collector
现在运行 helm upgrade langsmith langchain/langsmith --values langsmith_config.yaml -n <langsmith-namespace> --wait --debug 升级后,如果运行 kubectl get pods -n <langsmith-namespace>,您应该会看到以下内容(注意 sidecar 收集器的 2/2):

Grafana 使用

一切安装完成后,请按以下步骤操作以获取 Grafana 密码:
然后将端口 3000 转发到 langsmith-observability-grafana 容器,并在浏览器中打开 localhost:3000。使用用户名 admin 和上述 secret 中的密码登录 Grafana。 登录 Grafana 后,您可以使用界面监控日志、指标和追踪。Grafana 还预装了用于监控部署主要组件的仪表板集。 LangSmith Grafana 仪表板