跳至主要內容

SigNoz

如需更多關於為 LiteLLM 設定可觀測性的資訊,請參閱 SigNoz LiteLLM 可觀測性文件

概觀

本指南將帶您使用 OpenTelemetry 為 LiteLLM SDK 與 Proxy Server 設定可觀測性與監控,並將記錄、追蹤與指標匯出至 SigNoz。透過此整合,您可以在 SigNoz 中觀察各種模型的效能、擷取請求/回應細節,並追蹤系統層級指標,讓您即時掌握 LiteLLM 應用程式的延遲、錯誤率與使用趨勢。

在 AI 應用程式中為 LiteLLM 加上遙測,可確保整個 AI 工作流程具備完整可觀測性,讓您更容易除錯問題、最佳化效能,並了解使用者互動。透過善用 SigNoz,您可以在整合式儀表板中分析彼此關聯的追蹤、記錄與指標,設定警示,並取得可採取行動的洞察,以持續提升可靠性、回應速度與使用者體驗。

前置需求

  • 一個具有有效擷取金鑰的 SigNoz Cloud 帳戶
  • 可將遙測資料傳送至 SigNoz Cloud 的網際網路連線
  • LiteLLM SDK 或 Proxy 整合
  • Python:安裝 uv 以管理 Python 套件,並 (建議但非必要) 建立 Python 虛擬環境來隔離相依性

監控 LiteLLM

LiteLLM 可透過兩種方式進行監控:使用 LiteLLM SDK(直接嵌入您的 Python 應用程式程式碼,用於程式化 LLM 請求)或 LiteLLM Proxy Server(一個獨立伺服器,作為集中式閘道,用於在您的基礎架構中管理與路由 LLM 請求)。

如需更詳細的 LiteLLM SDK 應用程式加上檢測的資訊,請點擊這裡

建議使用無程式碼自動檢測,以便快速設定且只需極少的程式碼變更。當您想在不修改應用程式程式碼的情況下快速啟用可觀測性,並且正在使用標準 instrumentor 程式庫時,這是理想選擇。

步驟 1: 在您的 Python 環境中安裝必要套件。

uv add \
opentelemetry-api \
opentelemetry-distro \
opentelemetry-exporter-otlp \
httpx \
opentelemetry-instrumentation-httpx \
litellm

步驟 2: 新增自動檢測

opentelemetry-bootstrap --action=install

步驟 3: 為您的 LiteLLM SDK 應用程式加上檢測

透過呼叫 litellm.callbacks = ["otel"] 初始化 LiteLLM SDK 檢測:

from litellm import litellm

litellm.callbacks = ["otel"]

此呼叫會啟用您應用程式中所有 LiteLLM SDK 呼叫的自動追蹤、記錄與指標收集。

📌 注意:請確保在任何與 LiteLLM 相關的呼叫之前執行此步驟,以便正確設定您應用程式的檢測

步驟 4: 執行範例

from litellm import completion, litellm

litellm.callbacks = ["otel"]

response = completion(
model="openai/gpt-4o",
messages=[{ "content": "What is SigNoz","role": "user"}]
)

print(response)

📌 注意:LiteLLM 支援多種 LLM 模型提供者。在此範例中,我們使用 OpenAI。執行此程式碼前,請確保您已使用所產生的 API 金鑰設定環境變數 OPENAI_API_KEY

步驟 5: 使用自動檢測執行您的應用程式

OTEL_RESOURCE_ATTRIBUTES="service.name=<service_name>" \
OTEL_EXPORTER_OTLP_ENDPOINT="https://ingest.<region>.signoz.cloud:443" \
OTEL_EXPORTER_OTLP_HEADERS="signoz-ingestion-key=<your_ingestion_key>" \
OTEL_EXPORTER_OTLP_PROTOCOL=grpc \
OTEL_TRACES_EXPORTER=otlp \
OTEL_METRICS_EXPORTER=otlp \
OTEL_LOGS_EXPORTER=otlp \
OTEL_PYTHON_LOG_CORRELATION=true \
OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED=true \
OTEL_PYTHON_DISABLED_INSTRUMENTATIONS=openai \
opentelemetry-instrument <your_run_command>

注意:OTLP gRPC 需要 grpcio。請透過 uv add "litellm[grpc]"(或 grpcio)安裝。

📌 注意:我們在執行指令中使用 OTEL_PYTHON_DISABLED_INSTRUMENTATIONS=openai,以停用 OpenAI instrumentor 的追蹤功能。這可避免與 LiteLLM 原生遙測/檢測發生衝突,確保遙測資料僅透過 LiteLLM 內建檢測進行擷取。

  • <service_name> 是您的服務名稱
  • <region> 設定為與您的 SigNoz Cloud 區域 相符
  • 以您的 SigNoz 擷取金鑰 取代 <your_ingestion_key>
  • 以您實際執行應用程式時會使用的命令取代 <your_run_command>。例如:python main.py

📌 注意:使用自架 SigNoz?大多數步驟都相同。若要調整本指南,請如 Cloud → Self-Hosted 所示更新端點並移除擷取金鑰標頭。

在 SigNoz 中查看追蹤、記錄與指標

您的 LiteLLM 命令現在應該會自動產生追蹤、記錄與指標。

您應該可以在 Signoz Cloud 的 traces 分頁中查看追蹤:

LiteLLM SDK 追蹤檢視

當您在 SigNoz 中點擊某個追蹤時,您會看到該追蹤的詳細檢視,包括所有相關 span,以及它們的事件與屬性。

LiteLLM SDK 詳細追蹤檢視

您應該可以在 Signoz Cloud 的 logs 分頁中查看記錄。您也可以在追蹤檢視中點擊「Related Logs」按鈕來查看相關記錄:

LiteLLM SDK 記錄檢視

當您在 SigNoz 中點擊這些記錄時,您會看到記錄的詳細檢視,包括屬性:

LiteLLM SDK 詳細記錄檢視

您應該可以在 Signoz Cloud 的 metrics 分頁中看到與 LiteLLM 相關的指標:

LiteLLM SDK 指標檢視

當您在 SigNoz 中點擊這些指標中的任一項時,您會看到該指標的詳細檢視,包括屬性:

LiteLLM 詳細指標檢視

儀表板

您也可以查看我們自訂的 LiteLLM SDK 儀表板 此處,其中提供專為在應用程式中監控您的 LiteLLM 使用情況而設計的視覺化呈現。此儀表板包含預先建置的圖表,特別針對 LLM 使用情況量身打造,並附有匯入說明,讓您能快速開始使用。

LiteLLM SDK 儀表板範本

🚅
LiteLLM Enterprise
為正式環境打造的 SSO/SAML、稽核記錄、支出追蹤、多團隊管理與防護欄。
深入瞭解 →