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에서 추가 옵션이 필요하면 알려주세요.

더 알아보기 (Learn more)