LangSmith 텔레메트리를 관찰 가능성 백엔드로 내보내기

LangSmith 텔레메트리를 관찰 가능성 백엔드로 내보내기

이 섹션은 Kubernetes 배포에만 적용됩니다.

셀프 호스팅 LangSmith 인스턴스는 로그, 지표, 트레이스 형태의 텔레메트리 데이터를 생성해요. 이 섹션은 해당 데이터에 접근하고 관찰 가능성 수집기 또는 백엔드로 내보내는 방법을 보여줍니다.

이 섹션은 모니터링 인프라가 이미 설정되어 있거나, 이 인프라를 설정할 예정이고 LangSmith가 그 데이터를 수집하도록 구성하는 방법을 알고 싶다고 가정합니다.

인프라는 다음을 의미합니다:

출처: 문서

본문

로그 (Logs)

참조 설정은 OTel 수집기 예시를 참고하세요.

LangSmith 셀프 호스팅 배포에 속한 모든 서비스는 로그를 노드의 파일시스템과 stdout에 기록합니다. 이 로그에 접근하려면 수집기가 파일시스템 또는 stdout에서 읽도록 설정해야 합니다. 대부분의 인기 있는 수집기는 파일시스템에서 로그 읽기를 지원합니다.

지표 (Metrics)

참조 설정은 OTel 수집기 예시를 참고하세요.

LangSmith 서비스 (LangSmith services)

다음 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 (Frontend Nginx)

프론트엔드 서비스는 Nginx 지표를 다음 엔드포인트에서 노출합니다: langsmith-frontend.langsmith.svc.cluster.local:80/nginx_status. 직접 스크레이프하거나 Prometheus Nginx exporter를 가동할 수 있습니다.

다음 섹션들은 인클러스터 데이터베이스에만 적용됩니다. 외부 데이터베이스를 사용한다면 지표 노출 및 수집을 구성해야 합니다.

Postgres + Redis

인클러스터 Postgres/Redis 인스턴스를 사용하는 경우 Prometheus exporter를 사용해 인스턴스에서 지표를 노출할 수 있습니다. Postgres exporter 및/또는 Redis exporter를 배포할 수 있습니다.

Clickhouse

인클러스터 Clickhouse는 exporter 없이 지표를 노출하도록 구성되어 있습니다. http://<langsmith_release_name>-clickhouse.<namespace>.svc.cluster.local:9363/metrics에서 지표를 스크레이프하도록 수집기를 사용할 수 있습니다.

트레이스 (Traces)

참조 설정은 OTel 수집기 예시를 참고하세요.

LangSmith 백엔드, 플랫폼 백엔드, 플레이그라운드, 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

더 알아보기 (Learn more)