自托管 LangSmith 实例以日志、指标和跟踪的形式产生遥测数据。本节将向您展示如何访问和导出这些数据到可观测性收集器或后端。
本节假设您已经设置了监控基础架构,或者您将设置此基础架构并想知道如何配置 LangSmith 以从中收集数据。
基础架构指的是:
作为 LangSmith 自托管部署一部分的所有服务将日志写入其节点的文件系统和 stdout。为了访问这些日志,您需要设置收集器从文件系统或 stdout 读取。大多数流行的收集器都支持从文件系统读取日志。
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 控制平面)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。您可以自己抓取它们,或者使用 LangSmith 可观测性 Helm Chart 启动 Prometheus Nginx 导出器
以下部分仅适用于集群内数据库。如果您使用外部数据库,则需要配置公开和获取指标。
Postgres + Redis
如果您使用集群内 Postgres/Redis 实例,可以使用 Prometheus 导出器从您的实例公开指标。您可以部署自己的,或者如果您愿意,可以使用 LangSmith 可观测性 Helm Chart 为您部署导出器。
Clickhouse
集群内 Clickhouse 配置为无需导出器即可公开指标。您可以使用收集器在 http://<langsmith_release_name>-clickhouse.<namespace>.svc.cluster.local:9363/metrics 抓取指标
LangSmith Backend、Platform Backend、Playground 和 LangSmith Queue 部署已被检测以发出 Otel 跟踪。跟踪默认关闭,可以在您的 langsmith_config.yaml(或等效)文件中使用以下内容为所有 LangSmith 服务启用:
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