Splunk Observability Cloud
Splunk Observability Cloud
내장된 otel 콜백과 표준 OpenTelemetry OTLP 환경 변수를 사용해 LiteLLM 트레이스를 Splunk Observability Cloud로 보낼 수 있어요.
출처: 문서
본문
LiteLLM은 OpenTelemetry 통합과 동일한 OpenTelemetry 경로를 사용해요. Splunk의 OTLP/HTTP 트레이스 수집 URL은 /v2/trace/otlp를 사용해요 (/v1/traces가 아님). LiteLLM은 일반적인 컬렉터 URL을 정규화하지만 Splunk 스타일의 /v2/trace/otlp 엔드포인트는 보존하여 스팬(span)이 Splunk에 올바르게 도달하도록 해요.
비디오 워크스루 (Video walkthrough)
Loom에서도 볼 수 있어요.
사전 준비 (Prerequisites)
- Splunk Observability Cloud 계정과 수집 액세스 토큰(
X-SF-Token으로 사용) - Splunk Observability Cloud UI 또는 문서에서 가져온 리얼름(realm, 예:
eu1,us0)
LiteLLM Proxy
Datadog Logs 같은 통합과 동일한 흐름이에요. config.yaml을 구성하고, 환경 변수를 설정하고, 프록시를 시작하면 돼요.
Step 1: config.yaml에서 OpenTelemetry 콜백을 활성화해요:
litellm_settings:
callbacks: ["otel"]
Step 2: 아래 OTLP 환경 변수를 설정해요. 프로세스 환경, .env 파일, 또는 config.yaml의 프록시 environment_variables 블록(config 필드)에서 불러올 수 있어요.
| 목적 | 변수 |
|---|---|
| 트레이스 수집 URL (Splunk OTLP/HTTP) | OTEL_EXPORTER_OTLP_ENDPOINT — 예: https://ingest.<realm>.observability.splunkcloud.com/v2/trace/otlp |
| 인증 | OTEL_EXPORTER_OTLP_HEADERS 또는 OTEL_HEADERS — 예: X-SF-Token=<your-access-token> (여러 헤더는 콤마로 구분된 key=value 쌍) |
| 프로토콜 | OTEL_EXPORTER_OTLP_PROTOCOL = http/protobuf (OTLP/HTTP용; gRPC OTLP 엔드포인트를 대상으로 할 때만 grpc 사용) |
| 선택적 리소스 네이밍 | OTEL_SERVICE_NAME, OTEL_ENVIRONMENT_NAME 등 |
우선순위: OTEL_EXPORTER_OTLP_PROTOCOL은 레거시 OTEL_EXPORTER보다 먼저 읽혀요. 둘 다 설정되면 OTLP 프로토콜 변수가 우선해요. OTEL_EXPORTER_OTLP_ENDPOINT는 둘 다 설정된 경우 OTEL_ENDPOINT보다 우선해요.
OTEL_EXPORTER_OTLP_ENDPOINT="https://ingest.eu1.observability.splunkcloud.com/v2/trace/otlp"
OTEL_EXPORTER_OTLP_PROTOCOL="http/protobuf"
OTEL_EXPORTER_OTLP_HEADERS="X-SF-Token=<your-ingest-access-token>"
OTEL_SERVICE_NAME="litellm-proxy"
Step 3: 프록시를 시작해요:
litellm --config /path/to/config.yaml
트레이스 확인 (Verify traces)
Splunk Observability Cloud에서 APM / Traces를 열어요 (제품 이름은 버전에 따라 다를 수 있어요). 서비스 이름으로 필터링해요 (OTEL_SERVICE_NAME, 설정하지 않으면 기본값 litellm). 선택적으로 LiteLLM 환경에 OTEL_DEBUG=True를 설정해 로그에서 익스포터 문제를 표면화할 수 있어요 (OpenTelemetry 트러블슈팅 참조).