청구 대상 요청 계량
청구 대상 요청 계량 (Billable Request Metering)
LiteLLM Enterprise 요금은 사용량 기반이에요. 청구 대상 요청 계량이 그 사용량을 보고해요. 프록시는 LLM, MCP, A2A 엔드포인트에 대한 성공적인 요청을 세고, 배포용으로 발급된 mTLS 클라이언트 인증서로 인증된 LiteLLM 수집기(collector)에 하나의 OpenTelemetry 카운터를 푸시해요.
출처: 문서
본문
요청 개수만 전송돼요. 프롬프트, 응답, 가상 키, 그리고 라이선스 키는 배포를 떠나지 않아요. 계량은 구성한 OTEL 로깅과 별개로 실행되며, 사용자의 메트릭 파이프라인에는 절대 닿지 않아요.
info
LiteLLM 온보딩에서 받은
LITELLM_LICENSE와 계량 자격 증명(client.crt,client.key)이 필요해요. 둘 중 하나라도 없다면 문의하세요.
빠른 시작 (Quick Start)
1. 환경 변수 설정
| 변수 | 필수 | 설명 |
|---|---|---|
| LITELLM_BILLING_METRICS_ENDPOINT | 예 | 수집기 URL. https://telemetry.litellm.ai 사용 |
| LITELLM_BILLING_METRICS_CLIENT_CERT | 예 | mTLS 클라이언트 인증서. 파일 경로 또는 인라인 PEM |
| LITELLM_BILLING_METRICS_CLIENT_KEY | 예 | 인증서용 개인 키. 파일 경로 또는 인라인 PEM |
| LITELLM_BILLING_METRICS_CA_CERT | 아니오 | 수집기용 CA 번들. telemetry.litellm.ai면 비워 둠 |
| LITELLM_BILLING_METRICS_EXPORT_INTERVAL_MS | 아니오 | 푸시 간격(밀리초). 기본 60000 |
export LITELLM_LICENSE="eyJ..."
export LITELLM_BILLING_METRICS_ENDPOINT="https://telemetry.litellm.ai"
export LITELLM_BILLING_METRICS_CLIENT_CERT="/etc/litellm/billing-mtls/client.crt"
export LITELLM_BILLING_METRICS_CLIENT_KEY="/etc/litellm/billing-mtls/client.key"
인증서 변수는 파일 경로나 PEM 내용 자체를 받아요. 시크릿 스토어가 환경 변수로 값을 주입하고 파일을 마운트할 수 없을 때(예: AWS Secrets Manager를 쓰는 ECS, Secret Manager를 쓰는 Cloud Run) 인라인 PEM을 사용하세요.
콘피그 파일에도 설정할 수 있어요:
environment_variables:
LITELLM_BILLING_METRICS_ENDPOINT: "https://telemetry.litellm.ai"
LITELLM_BILLING_METRICS_CLIENT_CERT: "-----BEGIN CERTIFICATE-----\n..."
LITELLM_BILLING_METRICS_CLIENT_KEY: "-----BEGIN PRIVATE KEY-----\n..."
2. 프록시 시작
litellm --config config.yaml
3. 검증 (Verify)
프록시를 통해 요청을 보낸 다음, 로그에서 다음을 확인하세요:
Enterprise billing metrics enabled: exporting to https://telemetry.litellm.ai every 60000 ms
이 줄이 없으면 잘못 구성된 변수를 명명한 경고를 찾아보세요. 계량 문제는 요청 서빙에 절대 영향을 주지 않아요. 어떤 오류에서든 익스포터가 비활성화되고 프록시는 정상 동작해요.
배포 (Deploy)
Helm
표준 차트와 마이크로서비스 차트 모두 billingMetrics 블록을 가지며 기본은 꺼져 있어요.
발급된 인증서로 TLS Secret을 생성하세요:
kubectl create secret tls litellm-billing-metrics-mtls --cert=client.crt --key=client.key
values에서 계량 활성화:
billingMetrics:
enabled: true
차트는 기본적으로 litellm-billing-metrics-mtls라는 Secret 이름을 찾아요.
| 값 | 기본값 | 설명 |
|---|---|---|
| billingMetrics.enabled | false | 계량 활성화 |
| billingMetrics.endpoint | https://telemetry.litellm.ai | 수집기 URL |
| billingMetrics.secretName | litellm-billing-metrics-mtls | tls.crt, tls.key가 있는 기존 TLS Secret |
| billingMetrics.caSecretName | "" | ca.crt가 있는 기존 Secret. 기본 수집기면 비워 둠 |
| billingMetrics.exportIntervalMs | "" | 푸시 간격. 프록시 기본값은 60000 |
Terraform (AWS / GCP)
terraform/litellm/aws(ECS Fargate)와 terraform/litellm/gcp(Cloud Run)의 참조 스택은 billing_metrics_endpoint가 설정되면 계량을 활성화해요:
billing_metrics_endpoint = "https://telemetry.litellm.ai"
export TF_VAR_billing_metrics_client_cert_pem="$(cat client.crt)"
export TF_VAR_billing_metrics_client_key_pem="$(cat client.key)"
스택은 인증서와 키를 Secrets Manager(AWS) 또는 Secret Manager(GCP)에 저장하고 환경 변수로 주입해요. 볼륨이 필요 없어요.
Docker
docker run \
-e LITELLM_LICENSE="eyJ..." \
-e LITELLM_BILLING_METRICS_ENDPOINT="https://telemetry.litellm.ai" \
-e LITELLM_BILLING_METRICS_CLIENT_CERT="$(cat client.crt)" \
-e LITELLM_BILLING_METRICS_CLIENT_KEY="$(cat client.key)" \
-v $(pwd)/config.yaml:/app/config.yaml \
-p 4000:4000 \
ghcr.io/berriai/litellm:main-stable \
--config /app/config.yaml
청구 대상으로 간주되는 것 (What counts as billable)
LLM 추론 엔드포인트(chat completions, embeddings, responses, images, audio 및 기타 추론 라우트), MCP 전송, 또는 A2A message/send 라우트에서 2xx 상태를 반환하면 요청이 집계돼요. GET 읽기, 관리 엔드포인트, 헬스 프로브, 실패한 요청은 집계되지 않아요.
이 집계는 Admin UI 사용량 페이지의 성공적인 요청 수와 일치해요.
FAQ
- 프록시 성능에 영향을 주나요? 기본 설정에서 의미 있는 영향은 없어요. 요청당 비용은 약 1.6 마이크로초예요.
- 수집기에 도달할 수 없으면? 요청은 영향을 받지 않아요. 카운터는 누적되므로, 장애 중에 기록된 집계는 다음 성공적 내보내기에 포함돼요.
- 재시작하면? 프록시는 종료 시 카운터를 플러시하므로 집계가 유실되지 않아요.
- 에어갭 배포는? 계량은 수집기로의 아웃바운드 HTTPS가 필요해요. 배포가 여기에 도달할 수 없다면 온보딩 중에 문의하세요.