📈 Prometheus 指标
LiteLLM 为 Prometheus 提供了一个 /metrics 端点进行轮询
快速开始
如果你在使用带有 litellm --config proxy_config.yaml 的 LiteLLM CLI,那么你需要 pip install prometheus_client==0.20.0。这在 litellm Docker 镜像中已经预先安装
将以下内容添加到你的 proxy_config.yaml 中
model_list:
- model_name: gpt-3.5-turbo
litellm_params:
model: gpt-3.5-turbo
litellm_settings:
callbacks: ["prometheus"]
启动代理
litellm --config config.yaml --debug
测试请求
curl --location 'http://0.0.0.0:4000/chat/completions' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-3.5-turbo",
"messages": [
{
"role": "user",
"content": "你是什么 llm"
}
]
}'
在 /metrics 查看指标,访问 http://localhost:4000/metrics
http://localhost:4000/metrics
# <proxy_base_url>/metrics
虚拟密钥、团队、内部用户指标
用于跟踪每个 用户、密钥、团队等
| 指标名称 | 描述 |
|---|---|
litellm_spend_metric | 总花费,按 "用户", "密钥", "模型", "团队", "终端用户" |
litellm_total_tokens | 输入 + 输出令牌按 "用户", "密钥", "模型", "团队", "终端用户" |
litellm_input_tokens | 输入令牌按 "用户", "密钥", "模型", "团队", "终端用户" |
litellm_output_tokens | 输出令牌按 "用户", "密钥", "模型", "团队", "终端用户" |
代理级别跟踪指标
用于跟踪整个 LiteLLM 代理的使用情况。
- 跟踪实际流量速率到代理
- 代理的客户端请求和失败次数
| 指标名称 | 描述 |
|---|---|
litellm_proxy_failed_requests_metric | 代理返回的总失败响应数 - 客户端未从 litellm 代理获得成功响应。标签: "终端用户", "哈希化_api_key", "api_key_别名", "请求的_模型", "团队", "团队_别名", "用户", "异常_状态", "异常_类" |
litellm_proxy_total_requests_metric | 向代理服务器发出的总请求数 - 跟踪客户端请求数量。标签: "终端用户", "哈希化_api_key", "api_key_别名", "请求的_模型", "团队", "团队_别名", "用户", "异常_状态", "异常_类" |
LLM API / 供应商指标
用于 LLM API 错误监控和跟踪剩余的速率限制和令牌限制
跟踪的 LLM API 指标标签
| 标签 | 描述 |
|---|---|
| litellm_model_name | LiteLLM 使用的 LLM 模型名称 |
| requested_model | 请求中发送的模型 |
| model_id | 部署的 model_id。由 LiteLLM 自动生成,每个部署都有一个唯一的 model_id |
| api_base | 部署的 API Base |
| api_provider | LLM API 提供者,用于提供者。示例 (azure, openai, vertex_ai) |
| hashed_api_key | 请求的哈希化 api 密钥 |
| api_key_alias | 使用的 api 密钥别名 |
| team | 请求的团队 |
| team_alias | 使用的团队别名 |
| exception_status | 异常状态,如果有 |
| exception_class | 异常类,如果有 |
LLM API 的成功和失败指标
| 指标名称 | 描述 |
|---|---|
litellm_deployment_success_responses | 部署的成功 LLM API 调用总数。标签: "请求的_模型", "litellm_模型_名称", "模型_id", "api_base", "api_provider", "哈希化_api_key", "api_key_别名", "团队", "团队_别名" |
litellm_deployment_failure_responses | 特定 LLM 部署的失败 LLM API 调用总数。标签: "请求的_模型", "litellm_模型_名称", "模型_id", "api_base", "api_provider", "哈希化_api_key", "api_key_别名", "团队", "团队_别名", "异常_状态", "异常_类" |
litellm_deployment_total_requests | 部署的 LLM API 调用总数 - 成功 + 失败。标签: "请求的_模型", "litellm_模型_名称", "模型_id", "api_base", "api_provider", "哈希化_api_key", "api_key_别名", "团队", "团队_别名" |
剩余请求和令牌指标
| 指标名称 | 描述 |
| litellm_remaining_requests_metric | 跟踪从LLM API部署返回的x-ratelimit-remaining-requests。标签:"model_group", "api_provider", "api_base", "litellm_model_name", "hashed_api_key", "api_key_alias" |
| litellm_remaining_tokens | 跟踪从LLM API部署返回的x-ratelimit-remaining-tokens。标签:"model_group", "api_provider", "api_base", "litellm_model_name", "hashed_api_key", "api_key_alias" |
部署状态指标
| 指标名称 | 描述 |
|---|---|
litellm_deployment_state | 部署状态:0 = 健康,1 = 部分中断,2 = 完全中断。标签:"litellm_model_name", "model_id", "api_base", "api_provider" |
litellm_deployment_latency_per_output_token | 部署的每个输出令牌的延迟。标签:"litellm_model_name", "model_id", "api_base", "api_provider", "hashed_api_key", "api_key_alias", "team", "team_alias" |
备用(故障转移)指标
| 指标名称 | 描述 |
|---|---|
litellm_deployment_cooled_down | LiteLLM负载均衡逻辑冷却部署的次数。标签:"litellm_model_name", "model_id", "api_base", "api_provider", "exception_status" |
litellm_deployment_successful_fallbacks | 从主模型到备用模型的成功备用请求次数。标签:"requested_model", "fallback_model", "hashed_api_key", "api_key_alias", "team", "team_alias", "exception_status", "exception_class" |
litellm_deployment_failed_fallbacks | 从主模型到备用模型的失败备用请求次数。标签:"requested_model", "fallback_model", "hashed_api_key", "api_key_alias", "team", "team_alias", "exception_status", "exception_class" |
请求延迟指标
| 指标名称 | 描述 |
|---|---|
litellm_request_total_latency_metric | LiteLLM代理服务器的总延迟(秒),跟踪标签 litellm_call_id, model, user_api_key, user_api_key_alias, user_api_team, user_api_team_alias |
litellm_llm_api_latency_metric | 仅LLM API调用的延迟(秒),跟踪标签 litellm_call_id, model, user_api_key, user_api_key_alias, user_api_team, user_api_team_alias |
虚拟密钥 - 预算,速率限制指标
用于跟踪LiteLLM代理预算和速率限制逻辑的指标
| 指标名称 | 描述 |
|---|---|
litellm_remaining_team_budget_metric | 团队的剩余预算(在LiteLLM上创建的团队)。标签:"team_id", "team_alias" |
litellm_remaining_api_key_budget_metric | API密钥的剩余预算(在LiteLLM上创建的密钥)。标签:"hashed_api_key", "api_key_alias" |
litellm_remaining_api_key_requests_for_model | LiteLLM虚拟API密钥的剩余请求数,仅在为该虚拟密钥设置了特定模型的速率限制(rpm)时。标签:"hashed_api_key", "api_key_alias", "model" |
litellm_remaining_api_key_tokens_for_model | LiteLLM虚拟API密钥的剩余令牌数,仅在为该虚拟密钥设置了特定模型的令牌限制(tpm)时。标签:"hashed_api_key", "api_key_alias", "model" |
监控系统健康
要监控litellm相邻服务(redis / postgres)的健康状况,请执行:
model_list:
- model_name: gpt-3.5-turbo
litellm_params:
model: gpt-3.5-turbo
litellm_settings:
service_callback: ["prometheus_system"]
| 指标名称 | 描述 |
|---|---|
litellm_redis_latency | redis调用的直方图延迟 |
litellm_redis_fails | 失败的redis调用次数 |
litellm_self_latency | 成功litellm api调用的直方图延迟 |
🔥 LiteLLM维护的Grafana仪表板
LiteLLM维护的Grafana仪表板链接
https://github.com/BerriAI/litellm/tree/main/cookbook/litellm_proxy_server/grafana_dashboard
以下是您可以使用LiteLLM Grafana仪表板监控的指标的截图
已弃用的指标
| 指标名称 | 描述 |
|---|---|
litellm_llm_api_failed_requests_metric | 已弃用 使用 litellm_proxy_failed_requests_metric |
litellm_requests_metric | 已弃用 使用 litellm_proxy_total_requests_metric |