主题
将 LangSmith 遥测数据导出到你的可观测性后端
WARNING
本节仅适用于 Kubernetes 部署。
自托管的 LangSmith 实例会以日志、指标和追踪的形式产生遥测数据。本节将展示如何访问这些数据并将其导出到可观测性收集器或后端。
本节假设你已经搭建了监控基础设施,或者你即将搭建该基础设施,并希望了解如何配置 LangSmith 从中收集数据。
基础设施是指:
- 收集器,例如 OpenTelemetry、FluentBit 或 Prometheus。
- 可观测性后端,例如 Datadog 或 Grafana 生态。
日志
有关参考设置,请参阅 OTel 收集器示例。
LangSmith 自托管部署中的所有服务都会将日志写入其节点的文件系统和 stdout。为了访问这些日志,你需要设置收集器从文件系统或 stdout 读取。大多数流行的收集器都支持从文件系统读取日志。
- OpenTelemetry:File Log Receiver
- FluentBit:Tail Input
- Datadog:Kubernetes Log Collection
指标
有关参考设置,请参阅 OTel 收集器示例。
LangSmith 服务
以下 LangSmith 服务在某个端点以 Prometheus 指标格式暴露指标。前端目前不暴露指标。
- Backend:
http://<langsmith_release_name>-backend.<namespace>.svc.cluster.local:1984/metrics - Platform Backend:
http://<langsmith_release_name>-platform-backend.<namespace>.svc.cluster.local:1986/metrics - Playground:
http://<langsmith_release_name>-playground.<namespace>.svc.cluster.local:1988/metrics - (仅 LangSmith Control Plane)Host Backend:
http://<langsmith_release_name>-host-backend.<namespace>.svc.cluster.local:1985/metrics
你可以使用 Prometheus 或 OpenTelemetry 收集器抓取这些端点,并将指标导出到你选择的后端。
前端 Nginx
前端服务在以下端点暴露其 Nginx 指标:langsmith-frontend.langsmith.svc.cluster.local:80/nginx_status。你可以自行抓取,或启动一个 Prometheus Nginx exporter。
WARNING
以下部分仅适用于集群内数据库。如果你使用的是外部数据库,则需要自行配置指标的暴露与抓取。
Postgres + Redis
如果你使用的是集群内的 Postgres/Redis 实例,可以使用 Prometheus exporter 来暴露实例的指标。你可以部署 Postgres exporter 和/或 Redis exporter。
Clickhouse
集群内的 Clickhouse 已配置为无需 exporter 即可暴露指标。你可以使用收集器在 http://<langsmith_release_name>-clickhouse.<namespace>.svc.cluster.local:9363/metrics 抓取指标。
追踪
有关参考设置,请参阅 OTel 收集器示例。
LangSmith Backend、Platform Backend、Playground 和 LangSmith Queue 部署已进行插桩,可发出 Otel 追踪。追踪默认关闭,可通过在 langsmith_config.yaml(或等效)文件中添加以下内容,为所有 LangSmith 服务启用:
yaml
config:
tracing:
enabled: true
endpoint: "<your_collector_endpoint>"
useTls: true # / false
env: "ls_self_hosted" # This value will be set as an "env" attribute in your spans
exporter: "http" # must be either http or grpc