Sentry
Sentry
Sentry는 운영 환경을 위한 오류 모니터링 기능을 제공해요. 이 통합을 통해 LiteLLM이 breadcrumbs를 추가하고 예외를 Sentry로 보낼 수 있어요.
출처: 문서
본문
Sentry는 운영 환경을 위한 오류 모니터링 기능을 제공해요. 이 통합을 통해 LiteLLM이 breadcrumbs를 추가하고 예외를 Sentry로 보낼 수 있어요.
다음에 대한 예외를 추적해요:
litellm.completion()- 100개 이상의 LLM을 위한 completion()litellm.acompletion()- 비동기 completion()- 스트리밍 completion() 및 acompletion() 호출
사용법 (Usage)
SENTRY_DSN과 콜백 설정
import litellm, os
os.environ["SENTRY_DSN"] = "your-sentry-url"
litellm.failure_callback=["sentry"]
completion과 함께 Sentry 콜백 사용
import litellm
from litellm import completion
litellm.input_callback=["sentry"] # adds sentry breadcrumbing
litellm.failure_callback=["sentry"] # [OPTIONAL] if you want litellm to capture -> send exception to sentry
import os
os.environ["SENTRY_DSN"] = "your-sentry-url"
os.environ["OPENAI_API_KEY"] = "your-openai-key"
# set bad key to trigger error
api_key="bad-key"
response = completion(model="gpt-5.6-luna", messages=[{"role": "user", "content": "Hey!"}], stream=True, api_key=api_key)
print(response)
샘플 비율 옵션 (Sample Rate Options)
- SENTRY_API_SAMPLE_RATE: Sentry로 보내지는 오류의 비율을 제어해요.
- 0과 1 사이의 값 (기본값은 1.0, 즉 오류의 100%)
- 예: 0.5는 오류의 50%, 0.1은 오류의 10%를 전송
- SENTRY_API_TRACE_RATE: 성능 모니터링을 위해 샘플링되는 트랜잭션의 비율을 제어해요.
- 0과 1 사이의 값 (기본값은 1.0, 즉 트랜잭션의 100%)
- 예: 0.5는 트랜잭션의 50%, 0.1은 트랜잭션의 10%를 추적
이 옵션은 오류와 트랜잭션의 일부를 샘플링하는 것만으로도 충분한 가시성을 확보하면서 비용을 관리할 수 있는 대용량 애플리케이션에서 유용해요.
Sentry 환경 (Sentry Environment)
- SENTRY_ENVIRONMENT: Sentry 이벤트의 환경 이름을 지정해요(예: "production", "staging", "development").
- 배포 환경별로 Sentry 대시보드에서 오류를 구성하고 필터링하는 데 도움이 돼요.
- 예:
os.environ["SENTRY_ENVIRONMENT"] = "staging" - 설정하지 않으면 Sentry는 기본 환경으로 'production'을 사용해요.
Sentry 로깅에서 메시지, 응답 콘텐츠 제거 (Redacting Messages, Response Content)
litellm.turn_off_message_logging=True 로 설정하면 메시지와 응답이 Sentry에 기록되지 않지만, 요청 메타데이터는 여전히 기록돼요.
Sentry에서 추가 옵션이 필요하면 알려주세요.