为什么说 Prometheus + Grafana 是 K8s 监控的“事实标准”?它的核心架构是怎样的?
2026-08-11 01:06:54 # 监控

在 Kubernetes 生态里,监控方案一度“百花齐放”,但时至今日,Prometheus + Grafana 几乎成了社区公认的“事实标准”。根据 CNCF(云原生计算基金会)的年度调查,超过 80% 的生产集群都在使用这一组合。

为什么它能成为事实标准

它的核心优势可以归纳为三点:

  1. 基于 Pull 的指标采集模型:Prometheus 主动从被监控目标拉取(scrape)指标,而不是让目标推送。这种“中心拉取”模式让采集端更容易做服务发现、更可控,也避免了客户端埋点带来的雪崩风险。
  2. 强大的多维数据模型:所有指标都带有 Labels(键值对),可以基于 Label 灵活地聚合、切片、下钻。例如 rate(http_requests_total{namespace="prod"}[5m]) 就能按命名空间统计 QPS。
  3. 完善的生态:从 Exporter 到 Operator,社区轮子极其丰富,几乎任何组件都有现成的采集方案。

一个标准的 K8s 监控栈包含什么

一个“全家桶”式的监控栈通常由以下组件构成:

  • Prometheus:负责指标的抓取(scrape)和时序存储(TSDB)。
  • Grafana:负责数据可视化,把 PromQL 查询结果绘制成丰富的仪表盘。
  • Alertmanager:负责告警的路由、分组、去重与静默,避免告警风暴。
  • kube-state-metrics (KSM):把 Kubernetes 的资源对象(如 Deployment、Pod、Node)的状态转换成指标,例如 kube_pod_status_ready
  • cAdvisor:集成在 kubelet 中,负责监控容器的实时资源使用情况(CPU、内存、文件系统、网络等)。

正是这“五件套”的分工协作,构成了今天绝大多数 K8s 集群监控的底座。