云原生与容器 · 进阶

Kubernetes 集群监控

从对象清单、指标覆盖和资源预算开始,打通采集、看板、分级告警、故障演练及值班交接。

Kubernetes告警治理监控告警

场景目标

完成节点、工作负载、采集链路及可访问控制面的覆盖清单;所有纳入验收的端点持续可抓取,缺失端点均有责任人与原因;在约定演练窗口内验证至少一个工作负载告警和一个采集异常告警,记录发现与通知耗时,并由值班人员使用看板完成定位。

环境要求

准备实际 Kubernetes 版本清单,按 kube-state-metrics 兼容矩阵选择并固定组件版本,确认 Prometheus、Grafana、Alertmanager 的配置语法与镜像来源。需要可审计的部署权限、监控专用 ServiceAccount、获准访问的指标端点和通知测试接收组;预留根据对象数与序列数测算的 CPU、内存、持久卷及保留空间。保存原部署清单、规则、路由和看板导出,并确认恢复入口。先在测试集群或非核心命名空间实施,安排可中止的维护窗口。预计 240 分钟覆盖首批接入与短时演练,不含采购、网络开通和长周期容量观察。

参考架构 · 非实时拓扑

采集、规则与通知的分层架构

把 Kubernetes 对象状态、节点与业务指标分别接入采集层,再连接时序存储、排障看板和通知链路,避免把单一指标来源当作完整集群健康。

  • 数据 / 请求
  • 控制 / 管理
  • 观测 / 查询

点击组件,在图下方查看职责;连线编号对应流向解读。小屏可横向滚动,或直接展开文字说明。

采集、规则与通知的分层架构:组件关系图把 Kubernetes 对象状态、节点与业务指标分别接入采集层,再连接时序存储、排障看板和通知链路,避免把单一指标来源当作完整集群健康。 kube-state-metrics → Kubernetes API:读取 / watch;Prometheus → kube-state-metrics:抓取 /metrics;Prometheus → 节点与业务端点:抓取运行指标;Grafana → Prometheus:查询时序;Prometheus → Alertmanager:发送规则告警;Prometheus → 时序数据卷:写入样本;Alertmanager → 值班接收组:通知与恢复。箭头说明见下方流向解读。
逻辑参考图,表示建议的职责与请求方向;不是本站真实部署拓扑,端点权限、容量与演练结果需在目标环境验证。

Kubernetes API

控制 / 治理

提供 Pod、Deployment、Node 等对象状态。监控身份只获得实际需要的读取权限;托管控制面的开放范围需单独确认。

查看关联工具
全部组件职责 8 个组件
Kubernetes API
提供 Pod、Deployment、Node 等对象状态。监控身份只获得实际需要的读取权限;托管控制面的开放范围需单独确认。工具介绍 Kubernetes API
kube-state-metrics
读取 Kubernetes API 后生成对象指标,反映期望与实际状态,不替代节点资源使用量或业务请求指标。工具介绍 kube-state-metrics
Grafana
通过查询 Prometheus 组织集群、命名空间与工作负载看板,保留对象和时间范围,并明确标记无数据状态。工具介绍 Grafana
节点与业务端点
表示另行获准暴露的节点、工作负载及控制面指标端点。一个端点抓取成功,不代表其他类别已经覆盖。
Prometheus
按发现配置主动抓取指标并计算规则;需同时监测自身抓取耗时、活跃序列、规则执行和容量。工具介绍 Prometheus
Alertmanager
接收规则告警,根据责任标签处理分组、抑制、静默和通知;它不承担指标抓取或工作负载修复。工具介绍 Alertmanager
时序数据卷
表示 Prometheus 本地时序存储所需的持久空间,不代表已经建立跨区冗余或长期归档。
值班接收组
接收包含责任对象、排障入口和恢复状态的消息,按既定升级路径人工处理;通知送达应由实际接收人确认。
流向解读 7 条连接
  1. 1

    kube-state-metrics Kubernetes API

    观测 / 查询 · 读取 / watch

    箭头表示 kube-state-metrics 发起 API 读取与 watch,请求结果用于生成对象指标。

  2. 2

    Prometheus kube-state-metrics

    观测 / 查询 · 抓取 /metrics

    由 Prometheus 发起抓取,kube-state-metrics 返回样本;不是 kube-state-metrics 主动推送。

  3. 3

    Prometheus 节点与业务端点

    观测 / 查询 · 抓取运行指标

    分别配置节点与业务目标的认证、证书和网络路径,目标清单必须能解释覆盖缺口。

  4. 4

    Grafana Prometheus

    观测 / 查询 · 查询时序

    Grafana 请求 Prometheus 查询 API,返回值用于看板,不构成独立采集链路。

  5. 5

    Prometheus Alertmanager

    观测 / 查询 · 发送规则告警

    告警条件由 Prometheus 计算后发送,规则持续时间与后续通知等待共同影响发现到通知的时限。

  6. 6

    Prometheus 时序数据卷

    数据 / 请求 · 写入样本

    保存采样数据;保留周期和标签规模共同影响磁盘及内存预算。

  7. 7

    Alertmanager 值班接收组

    观测 / 查询 · 通知与恢复

    按责任组发送分组通知与恢复消息,需验证真实接收渠道,而非仅查看组件日志。

从架构到实施

  1. 01

    先画清监控覆盖范围

    对照 API、对象指标和运行端点,登记负责人、权限与容量,保存原配置恢复点,再分批接入。

  2. 02

    让看板与告警解释同一对象

    看板中的对象标签要能接到规则和责任路由;分别识别业务异常、采集失联和控制面覆盖限制。

  3. 03

    用两类测试验证整条链路

    分别演练测试工作负载异常与测试端点失联,记录事件到通知及恢复时间,交接缺口与停止扩展条件。

故障域与操作边界

采集成功不等于业务健康

对象状态、主机资源和应用请求需要不同证据;托管控制面未开放的指标必须标记缺失,不用空图或零值掩盖。

监控故障域需独立评估

本图未承诺监控自身高可用。采集器、数据卷和通知通道同时故障时可能失去可见性,配置备份及备用排查入口仍需单独准备。

架构依据与版本核对 2 篇官方资料

图解是本站基于官方资料整理的逻辑参考;实施前仍需核对实际部署版本、组件支持范围与变更审批。

方案说明

适用架构

适用于已有 Kubernetes 集群及稳定存储、准备建设统一监控入口的团队。Prometheus 负责指标抓取与规则计算,kube-state-metrics 提供 API 对象状态,Grafana 展示看板,Alertmanager 管理通知。节点资源及控制面指标需要另外核对实际暴露端点与采集权限。

不适用边界

kube-state-metrics 的对象状态不能代替节点操作系统指标或业务请求指标。托管集群可能不开放全部控制面指标,应记录覆盖缺口;已有平台管理的监控组件应通过其配置入口调整,避免重复采集。容量、采样周期和告警时限均需按实际集群验证。

全局验收

监控对象清单中的端点全部有覆盖结论;关键指标连续更新,测试对象可以从集群总览定位到命名空间与工作负载;演练记录包含事件、采集、触发、通知和恢复时间,交接人员能够独立完成一次定位。

配套知识

官方参考

工具编排

4 个关联工具
  1. Prometheus指标采集与规则计算采集获准访问的端点,保存指标并计算告警;同时观测自身抓取延迟、存储和规则执行状态。
  2. kube-state-metrics对象状态暴露暴露 Kubernetes 对象状态指标,补充工作负载期望与实际副本信息,不替代节点或业务指标。
  3. Grafana分层排障看板连接集群、节点和工作负载视图,保留时间范围与对象变量,帮助值班人员逐层定位。
  4. Alertmanager通知路由与降噪按责任组分组通知并配置抑制、静默和恢复消息,验证测试通知的实际送达。

实施步骤

共 7 步
  1. 01

    核对集群范围与现状证据

    先确认当前连接的集群,按节点角色、命名空间和关键服务建立对象清单,记录维护中的节点及既有异常,避免把存量问题计入变更影响。对已有采集器、业务指标和托管控制面分别标注负责人、端点与权限,不在盘点阶段扩大权限。以下命令只读取当前上下文和对象状态,输出应保存到本次实施记录。

    kubectl config current-context
    kubectl get nodes -o wide
    kubectl get deployments -A
    验证标准

    由集群负责人核对上下文、节点数与关键工作负载清单;每类指标均标明已覆盖、待接入或不可访问,并保存时间戳。任何节点失联或副本异常都有既有工单或现场解释。

    停止与回退

    此步骤仅盘点,不更改集群资源。若上下文错误、权限范围不清或发现未处置的核心故障,立即停止后续部署,保留只读结果并先确认目标与当前健康状态。

    返回步骤起点
  2. 02

    制定采集预算与配置恢复点

    按预计活跃序列、采样频率、保留周期和增长率测算存储及内存,先限定必要对象与标签,避免把请求标识等无界字段变为指标标签。明确监控命名空间、持久卷、服务访问方式和通知测试范围,为采集器设置资源请求与上限。导出原有规则、路由、看板和部署版本,逐项登记修改文件与恢复顺序,并给采集开销设置可观察的停止阈值。

    验证标准

    资源预算有测算依据,采集范围与保留策略获得运行负责人确认;原配置导出可读取且标有版本。测试环境能够解析所有配置,新增权限只覆盖实际读取的资源与端点。

    停止与回退

    尚未部署时撤回本次配置草稿即可;若容量或权限条件无法落实,缩小首批采集范围并重新评审。恢复材料不完整时不进入生产部署,避免后续无法确认配置差异。

    返回步骤起点
  3. 03

    分批接入对象与运行指标

    先部署监控专用身份与 kube-state-metrics,再接入 Prometheus 抓取目标,逐批增加工作负载、节点和获准访问的控制面端点。对象状态与资源使用量采用各自的来源,不以抓取成功代替指标覆盖验收。检查证书、网络策略、认证和标签,观察 API 请求、采集耗时及序列增长;同一目标已有采集时先确认去重方案,再扩大范围。

    验证标准

    每批目标均能在 targets 页面找到且时间戳持续推进;抽样对象指标与 Kubernetes API 状态一致。采集错误、资源使用和 API 请求量未超出预定边界,未产生无法解释的重复序列。

    停止与回退

    若 API 压力或监控资源异常,先撤回最近一批抓取目标与标签配置,再恢复对应部署版本。只移除本次新增且不被其他服务使用的权限与资源,持久数据保留至确认无需追溯。

    返回步骤起点
  4. 04

    构建可逐层定位的运行看板

    按集群总览、节点、命名空间和工作负载组织看板,统一集群标识、时间范围与时区,给查询设置明确的指标单位和空值状态。核心服务展示期望副本、可用副本、重启变化和资源趋势,控制面缺失指标直接标注范围限制。为每个告警对象提供带变量的排障入口,用正常时段和已知异常时段各复核一次,避免仅凭漂亮曲线判断可用性。

    验证标准

    值班人员从总览可进入指定工作负载,并与命令行抽样结果核对;无数据与数值为零能够区分。看板链接保留对象及时间范围,至少一个历史异常能沿既定路径定位到相关证据。

    停止与回退

    看板查询错误或加载过重时恢复上一版本,停用本次新增的高开销面板并保留草稿。此步骤不改变工作负载;数据来源问题返回采集步骤处理,不通过隐藏空值掩盖缺口。

    返回步骤起点
  5. 05

    校验分级规则与通知路由

    以业务影响确定通知级别,为工作负载不可用、持续资源压力和采集缺口分别配置规则;持续时间、分组等待与重复间隔一起纳入通知时限。注释包含责任组、对象、看板与处理入口,抑制规则仅覆盖明确的上下游关系。先在本地检查规则语法,再将测试标签路由到测试接收组,确认静默期限与恢复消息不会覆盖正式告警。

    promtool check rules alerts.yml
    验证标准

    语法检查返回成功,规则能够计算且无持续执行错误;测试标签只匹配预定接收组。负责人复核分组和抑制关系,通知样例包含有效对象、处理链接及可识别的恢复状态。

    停止与回退

    规则错误时只停用新增规则组,路由异常时恢复已保存的 Alertmanager 配置并校验生效状态。清理本次测试静默,保留原有生产告警链路,未验证送达前不扩大通知范围。

    返回步骤起点
  6. 06

    执行工作负载与采集异常演练

    在隔离测试命名空间选择无生产依赖的样例工作负载,按已确认方案制造短时副本异常,再单独模拟一个测试指标端点不可抓取。每次只引入一种故障,记录事件产生、指标出现、规则触发、通知送达和恢复时间,核对通知延迟是否包含所有等待环节。演练期间持续查看集群健康,任何非测试对象受影响都立即停止,不以真实核心服务故障代替测试。

    验证标准

    两类信号均能够关联到唯一演练记录,通知和恢复结果由接收人确认;实际时限满足本次约定,重复和漏报均有解释。测试对象恢复后,业务健康与集群资源回到实施前的合理范围。

    停止与回退

    首先撤销测试故障并恢复样例工作负载与端点,核对对象状态后关闭临时测试规则。若异常涉及生产范围,停止后续演练并恢复最近采集或路由变更,保留告警时间线供调查。

    返回步骤起点
  7. 07

    完成覆盖验收与值班交接

    将实际结果写入覆盖清单,逐项交接看板、规则、接收组、组件负责人、配置版本和恢复入口;对托管控制面限制、缺失业务指标及容量预测偏差明确补齐日期。由未参与搭建的值班人员使用一条测试告警完成定位并说明升级路径。最后安排后续高峰期容量观察、告警噪声复查和定期通知演练,将短时验收与持续运行观察分别记录。

    验证标准

    交接人员能够找到异常对象、最近变更及责任组;配置备份与验收记录可访问,未完成项有负责人和期限。首批覆盖项没有无说明的空白,后续观察任务具有明确复查时间。

    停止与回退

    验收不通过时保持已验证的最小采集范围,暂停新增规则与目标扩展。对不合格组件按登记的恢复点逐项回退,保存已采集证据和未完成清单,问题关闭后再申请下一轮验收。

    返回步骤起点

DOUYA OPS ECOSYSTEM

体验豆芽自研工具与场景能力

部分场景提供体验环境,用于功能验证、测试和技术交流。