You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Prometheus获取到历史数据:异常排查与解决方法求助

解决Prometheus抓取K8s API Server指标时出现计数器倒退/标签缺失的问题

你遇到的apiserver_flowcontrol_dispatched_requests_total计数器数值倒退、priority_level="global-default"标签偶尔缺失的情况,核心原因大概率和K8s API Server的流量控制(Flow Control)组件状态异常有关,或是Prometheus抓取配置存在问题,以下是具体排查和解决步骤:

  • 排查API Server流量控制组件状态

    • 查看API Server日志,搜索flowcontrol关键词,检查是否有优先级控制器重启、计数器重置的日志(比如resetting request counters或priority level controller restarted)。这类重启会直接导致计数器归零,出现数值倒退,且重启过程中可能暂时缺失部分标签维度。
    • 用以下命令确认流量控制配置状态:
      kubectl get flowschemas
      kubectl get prioritylevelconfigurations
      
      确保global-default优先级级别配置存在且状态正常,没有被误删或重建的记录。
  • 检查Prometheus抓取配置

    • 确认API Server的抓取目标是否重复定义(比如同时通过自动发现和手动静态配置),避免同一实例被多次抓取,导致不同状态的指标结果混合展示。
    • 调整抓取间隔:如果当前scrape_interval过短(比如小于10s),可能抓到指标更新过程中的中间状态,建议将API Server的抓取间隔设为15s以上。
    • 在API Server的抓取job中开启honor_labels: true,避免Prometheus覆盖目标实例自身的标签,防止标签维度混乱。
  • 验证计数器重置情况

    • 用PromQL查询确认计数器是否频繁重置:
      increase(apiserver_flowcontrol_dispatched_requests_total{priority_level="global-default"}[1h]) < 0
      
      如果有返回结果,说明该计数器在1小时内发生了重置,需重点排查API Server的稳定性问题。
    • 检查API Server启动参数,确认最近是否修改过--flow-control-config-file等流量控制相关配置,这类修改可能触发控制器重启。
  • 临时缓解与长期监控

    • 若为偶发的控制器重启问题,可滚动重启集群中的API Server实例,确保Flow Control组件状态稳定。
    • 添加Prometheus告警规则,当apiserver_flowcontrol_dispatched_requests_total出现数值倒退时触发告警,及时发现API Server异常。

内容的提问来源于stack exchange,提问作者Wenming Chen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 17:48:15