Prometheus 在容器化环境(Kubernetes)中的监控实践

冷炫風刃

冷炫風刃

2026-07-31

486人浏览

原创

prometheus 在 kubernetes 中需系统性设计:必须用 kubernetes_sd_configs 动态服务发现(nodes/endpoints/pod/service),搭配 cadvisor、node exporter、kube-state-metrics 等标准化 exporter,区分指标语义;生产环境须解决存储瓶颈(thanos/victoriametrics/pushgateway),告警与可视化需闭环(alertmanager 静默分组、grafana 聚焦 slo、告警带 runbook_url)。

prometheus 在容器化环境(kubernetes)中的监控实践

Prometheus 在 Kubernetes 中不是“装上去就能用”的工具,而是需要围绕其拉取模型、服务发现机制和云原生特性做系统性设计。核心在于让 Prometheus 主动、安全、可持续地获取动态变化的监控目标,同时保障数据可用性与可观测性闭环。

服务发现必须用 Kubernetes 原生方式

静态配置 targets(如 targets: ["10.244.1.5:9100"])在 Kubernetes 中完全不可行——Pod 重建、扩缩容、节点漂移都会导致 IP 失效。必须依赖 kubernetes_sd_configs 按角色自动发现:

  • nodes:监控节点资源,需配合 Node Exporter DaemonSet 和对应 RBAC
  • endpoints:发现 Service 关联的 Pod IP,适合监控 API Server、kube-scheduler 等控制平面组件
  • pod:直接按标签筛选容器,适用于 sidecar 暴露指标或无 Service 的临时任务
  • service:发现 Service 自身(非后端 Pod),常用于监控 Service Mesh 控制面

例如监控所有带 app=backend 标签的 Pod,配置中只需写:

role: pod<br>selectors:<br>  - role: pod<br>    label: app=backend

关键组件不能缺位,各司其职

单靠 Prometheus Server 无法覆盖 Kubernetes 全栈指标,必须组合使用标准化 Exporter:

零一万物开放平台
零一万物开放平台

零一万物大模型开放平台

下载
  • cAdvisor:内嵌在 kubelet 中,暴露容器 CPU、内存、网络、磁盘 I/O 实时指标,路径为 /metrics/cadvisor
  • Node Exporter:采集宿主机维度指标(CPU 负载、磁盘空间、内核参数等),建议以 DaemonSet 部署
  • kube-state-metrics(KSM):将 Kubernetes 对象状态(Deployment 副本数、Pod 相位、PV 绑定状态等)转为 Prometheus 指标,不采集资源使用率,只反映编排层事实
  • 自定义 Exporter:如 MySQL Exporter、Blackbox Exporter(探测 HTTP/ICMP 可达性),按业务需求补充

注意:cAdvisor 和 KSM 的指标语义完全不同——container_memory_usage_bytes 是实际用量,kube_pod_status_phase 是调度状态,混用会导致查询逻辑错误。

生产环境必须解决存储与扩展瓶颈

默认本地 TSDB 不适合长期运行:数据保留超 15 天易触发 WAL 崩溃,高基数标签(如 trace_id)会快速耗尽内存。应明确区分场景:

  • 短期观测(≤7 天):启用 --storage.tsdb.retention.time=7d,关闭压缩日志以降低写入压力
  • 跨集群聚合:引入 Thanos Sidecar + Object Storage(S3/MinIO),通过 StoreAPI 实现全局视图与降采样
  • 超大规模写入(百万级时间序列):替换为 VictoriaMetrics,兼容 PromQL 且内存占用低 60%
  • 临时任务指标(如 CI Job):必须经由 Pushgateway 中转,避免 Prometheus 拉不到已销毁的 Pod

告警与可视化要形成闭环

监控价值最终体现在问题响应速度上,不能只停留在“能查到”:

  • Alertmanager 需配置静默规则(如节点维护期屏蔽 NodeDown 告警)、分组策略(同节点多个告警合并为一条通知)和多通道路由(企业微信+短信+电话 escalation)
  • Grafana 仪表盘避免堆砌图表,聚焦 SLO 关键指标:如 rate(http_request_total{code=~"5.."}[5m]) / rate(http_request_total[5m])(错误率)、histogram_quantile(0.95, rate(http_request_duration_seconds_bucket[5m]))(P95 延迟)
  • 每个告警规则必须带 runbook_url 标签,指向内部故障处理 SOP 文档,实现“告警即文档”

不复杂但容易忽略

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

kubernetes

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务
Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务

Golang云原生微服务Kubernetes (K8s) 是指 使用 Go 语言(Golang)编写的云原生微服务,并利用 Kubernetes 平台进行容器化部署、自动化管理、弹性伸缩和高效编排的一整套现代应用架构方案。

2025.12.22

74

5

Go云原生应用与Kubernetes服务部署实战
Go云原生应用与Kubernetes服务部署实战

本专题围绕 Go 语言在云原生环境中的应用展开,讲解容器化部署、Kubernetes 编排、服务发现、健康检查与弹性扩缩容机制。通过真实云端案例,帮助开发者构建可扩展的云原生微服务架构。

2026.06.29

42

19

墨刀AI提示词教学
墨刀AI提示词教学

本合集由PHP中文网精心整理,为您提供全面的墨刀AI提示词教学。内容涵盖高质量原型撰写公式与实操窍门,助您轻松掌握AI设计工具。无论是零基础入门还是进阶技巧,都能让您快速上手,大幅提升产品设计与协作效率。

2026.08.04

9

21

墨刀AI完整入门
墨刀AI完整入门

PHP中文网为您倾力打造墨刀AI保姆级入门指南完整版!本合集从零基础讲起,涵盖AI生成原型、提示词优化、图片转原型及多轮对话等核心功能。无论您是新手还是进阶用户,都能轻松掌握产品设计全流程。快来PHP中文网,一键解锁高效设计技巧,让想法即刻成型!

2026.08.04

6

20

墨刀AI进阶技巧
墨刀AI进阶技巧

本合集由PHP中文网精心整理,为您提供墨刀AI核心进阶策略指南。内容涵盖高效提示词写作、原型智能生成与微调、结构化导图制作及行业分析报告输出等实战技巧。助您轻松掌握AI设计工具,大幅提升产品设计与团队协作效率。

2026.08.04

8

14

火山引擎实名认证失败怎么办
火山引擎实名认证失败怎么办

火山引擎实名认证失败可能与证件信息填写错误、姓名或企业信息不一致、证件照片不清晰、营业执照状态异常、手机号验证失败或审核资料不完整有关。本专题整理个人认证、企业认证、资料上传、审核退回、重新提交和认证不通过的常见处理方法。

2026.08.04

4

10

火山引擎域名备案流程详解
火山引擎域名备案流程详解

火山引擎域名备案适合需要在火山引擎云服务器、对象存储、CDN或网站服务上绑定域名的用户参考。本专题整理备案入口、账号实名认证、备案类型选择、主体信息填写、网站信息提交、资料上传、初审核验、管局审核和备案失败排查,帮助用户完成网站上线前的备案流程。

2026.08.04

0

10

火山引擎DNS解析配置步骤
火山引擎DNS解析配置步骤

使用火山引擎DNS解析网站域名时,需要确认域名已完成管理接入,并正确配置服务器IP、CNAME地址或验证记录。本专题整理域名添加、记录类型选择、TTL设置、解析状态检查、备案和访问测试等流程,适合新手搭建网站时参考。

2026.08.04

3

10

火山引擎对象存储使用教程
火山引擎对象存储使用教程

火山引擎对象存储适合用于网站图片、视频文件、备份数据、静态资源和应用附件管理。本专题整理TOS控制台入口、存储桶创建、地域选择、权限设置、文件上传、访问链接生成、CDN加速、费用查看和常见上传或访问失败问题,帮助用户快速掌握对象存储基础操作。

2026.08.04

1

10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.4万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 131.8万人学习