[Bug]: `llm_requests_hanging` alerts ignore digest mode

在 LiteLLM Proxy 中启用 llm_requests_hanging 告警并设置 digest: true 后,告警仍未按 digest 周期聚合,而是每次挂起检查都推送一条 Slack 消息;优先排查 LiteLLM 版本是否落在受影响的 1.80.15-stable.1 区间,并确认

快速结论:在 LiteLLM Proxy 中启用 llm_requests_hanging 告警并设置 digest: true 后,告警仍未按 digest 周期聚合,而是每次挂起检查都推送一条 Slack 消息;优先排查 LiteLLM 版本是否落在受影响的 1.80.15-stable.1 区间,并确认实例在告警周期内没有反复重启。

适用环境:LiteLLM Proxy(Issue 报告版本 1.80.15-stable.1,已验证修复版本 v1.105.0),Kubernetes 多副本部署,告警渠道 Slack;Issue 未提供操作系统、Python、CUDA 或显卡信息。

最快修复方案:升级到已验证修复的 LiteLLM v1.105.0(Issue 中确认该版本在相同复现条件下只发送一条包含 Count: 5 的 digest)。

注意事项:该结论只在 Issue 作者的本地容器 + mock provider + mock Slack webhook 场景中验证,未覆盖真实 Kubernetes/Slack 部署;升级前建议备份配置,并确认自身版本与 v1.105.0 之间的其他变更不会影响现有 Proxy 配置。

问题场景

用户在 LiteLLM Proxy 的 general_settings 中启用 Slack 告警,并针对 llm_requests_hanging 设置 digest: true、digest_interval: 86400,期望同一实例、同一 (alert_type, request_model, api_base) 分组在 24 小时内最多收到一条 digest。但在 3 副本的 K8s 部署下,每个挂起检查周期(例如每分钟)都会产生一条 Slack 消息,出现 5 分钟收到 5 条消息的情况。

报错原文

[Bug]: `llm_requests_hanging` alerts ignore digest mode

原因分析

根据 Issue 报告,问题出在 LiteLLM Proxy 的挂起请求告警逻辑未正确应用 digest 配置:在 1.80.15-stable.1 中,每次 llm_requests_hanging 检查都会直接发送告警,没有按 digest_interval 聚合。Issue 作者在本地容器中复现对比了这两个版本:1.80.15-stable.1 产生 19 条 Slack 消息(每次检查一条),v1.105.0 只在间隔到期后发送一条 Count: 5 的 digest。维护者也曾在当前 main 上验证配置通过本地测试,但当时未能复现作者原有的 K8s/Slack 部署。除版本问题外,实例在告警周期内频繁重启也可能打乱 digest 状态,这一点在 Issue 中仅作为可能原因,未被最终确认。

环境排查

  • 确认 LiteLLM Proxy 版本是否为 1.80.15-stable.1 或同样存在该问题的版本。
  • 确认 alert_type_config.llm_requests_hanging 中 digest: true 与 digest_interval 是否已正确生效。
  • 确认 K8s 中各副本在该时间段内是否发生重启或滚动更新,避免 digest 状态被重置。
  • 确认告警渠道为 Slack,且 alerting_threshold 与实际挂起时长设置相匹配。
  • Issue 未提供 Python、CUDA、PyTorch、显卡及相关依赖版本,无需按这些项目排查。

解决步骤

  1. 记录当前 LiteLLM 版本与 alert_type_config 配置,便于回滚。
  2. 将 LiteLLM Proxy 升级到 Issue 中验证修复的 v1.105.0。
  3. 保持 digest: true 和 digest_interval 的现有配置不变,重启或滚动更新 Proxy 实例。
  4. 在告警周期内确认各副本没有非预期重启,否则 digest 窗口可能被重置。
  5. 使用一个会挂起的请求场景复测;可优先尝试参考 Issue 的复现方式:本地容器 + mock provider(挂起 90 s)+ mock Slack webhook,设置 alerting_threshold: 10、digest: true、digest_interval: 90,发送 5 个挂起请求。

验证方法

在 digest 间隔到期前,Slack 不应收到新的 llm_requests_hanging 消息;间隔到期后,每个实例对同一 (alert_type, request_model, api_base) 分组最多收到一条 digest,且消息中应包含聚合后的计数(Issue 中验证为 Count: 5)。若仍每条检查都收到消息,需重新确认实际运行的版本及实例重启情况。

参考来源

BerriAI/litellm #22753

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 31851

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注