0

0

如何在云原生中做监控_云原生监控体系搭建思路

P粉602998670

P粉602998670

发布时间:2026-02-05 10:57:10

|

815人浏览过

|

来源于php中文网

原创

Prometheus拉取指标前必须验证服务暴露/metrics端点,确保符合OpenMetrics规范,并通过Kubernetes服务发现动态配置scrape_configs,结合RED/USE方法论分层设计告警与看板。

如何在云原生中做监控_云原生监控体系搭建思路

用 Prometheus 拉取指标前,先确认服务是否暴露了 /metrics 端点

云原生监控不是“装上就跑”,第一步必须验证被监控目标是否真正可采集。很多新手部署完 Prometheus 却看不到数据,根本原因是应用没暴露符合 OpenMetrics 规范的 /metrics 端点。

  • Go/Python/Java 应用需集成官方 client SDK(如 prometheus_clientio.prometheus:simpleclient),并在 HTTP 路由注册该端点
  • Kubernetes 中常见错误:Pod 启动了,但未加注解 prometheus.io/scrape: "true",或端口未通过 prometheus.io/port: "8080" 显式声明
  • curl http://:8080/metrics 手动验证——返回内容应为纯文本、每行以 # HELP 或指标名开头,且无 404/500 错误
  • 若用 Istio Sidecar,注意默认拦截所有流量;需在 DestinationRulePeerAuthentication 中放行 /metrics 路径,否则采集请求会被拒绝

配置 scrape_configs 时,别硬写 IP,要用 Kubernetes Service Discovery

云原生环境里 Pod IP 是临时的,写死 targets: ["10.244.1.5:9090"] 会导致几分钟后监控中断。Prometheus 原生支持动态发现,关键在正确配置 kubernetes_sd_configs

  • 优先使用 role: pod + relabel_configs 过滤:只采集带 prometheus.io/scrape="true" 注解的 Pod,避免拉取系统组件或调试容器
  • 别忽略 __address__ 重标:Kubernetes 默认把 Pod IP 写入该标签,但实际要访问的是 podIP:port;需用 replacement: "$1:$2" 拼接端口,否则采集会连到 localhost
  • 对于 Headless Service 或 StatefulSet,可用 role: endpoints,它自动聚合同一 Service 下所有 Pod 的 /metrics,更适合高可用服务
  • 测试配置是否生效:进 Prometheus UI → Status → Targets,看状态是否为 UP,并检查 Labels 是否包含预期的 jobnamespaceservice

告警规则写 for: 10m 不是拍脑袋,得结合指标波动性和业务容忍度

随便设个 for: 2m 容易产生毛刺告警,而 for: 30m 又可能错过故障窗口。云原生场景下,告警持续时间必须匹配指标特性与业务 SLA。

剪小映
剪小映

记录美好智能成片,AI智能视频剪辑

下载
  • CPU 使用率这类高频抖动指标,建议 for: 5m~10m,并叠加 avg_over_time(cpu_usage{job="app"}[5m]) > 80 防止瞬时尖峰误报
  • 服务可用性(如 up == 0)可设 for: 1m,因为宕机无需等待——但务必配合静默期(inhibit_rules),避免一个节点挂掉引发整个集群告警风暴
  • RED 方法论下的 rate(http_requests_total[5m]) 类指标,for 时间应 ≥ 查询区间(如 [5m]),否则语义不一致
  • ALERTS{alertstate="firing"} 在 Grafana 里画告警触发热力图,回溯过去一周真实触发频率,再反向调优 for 和阈值

Grafana Dashboard 别堆砌图表,按 USE/RED 分层组织指标卡片

一个 Dashboard 放 30 个面板,等于没监控。云原生运维需要的是“一眼定位根因”的信息密度,不是数据展览。

  • 基础设施层(USE:Utilization, Saturation, Errors):单个节点卡片只放 3 行——CPU/Mem 利用率(利用率)、node_load1(饱和度)、node_disk_io_now(错误/阻塞信号)
  • 应用层(RED:Rate, Errors, Duration):每个微服务卡片固定结构——QPS 曲线 + 5xx 错误率饼图 + p95 延迟热力图(按 endpoint 分组)
  • 隐藏低价值指标:比如单个容器的 container_cpu_usage_seconds_total 瞬时值,不如看 sum by (pod) (rate(container_cpu_usage_seconds_total[5m])) 的聚合趋势
  • 给所有图表加 Legend: {{instance}} - {{job}} 标签,避免多个命名空间同名服务混在一起无法区分

最常被忽略的一点:Dashboard 的 Refresh every 别设成 1s——Prometheus 查询压力会指数级上升;生产环境推荐 30s 起步,高频诊断时手动刷新更安全。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
golang如何定义变量
golang如何定义变量

golang定义变量的方法:1、声明变量并赋予初始值“var age int =值”;2、声明变量但不赋初始值“var age int”;3、使用短变量声明“age :=值”等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

184

2024.02.23

golang有哪些数据转换方法
golang有哪些数据转换方法

golang数据转换方法:1、类型转换操作符;2、类型断言;3、字符串和数字之间的转换;4、JSON序列化和反序列化;5、使用标准库进行数据转换;6、使用第三方库进行数据转换;7、自定义数据转换函数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

231

2024.02.23

golang常用库有哪些
golang常用库有哪些

golang常用库有:1、标准库;2、字符串处理库;3、网络库;4、加密库;5、压缩库;6、xml和json解析库;7、日期和时间库;8、数据库操作库;9、文件操作库;10、图像处理库。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

344

2024.02.23

golang和python的区别是什么
golang和python的区别是什么

golang和python的区别是:1、golang是一种编译型语言,而python是一种解释型语言;2、golang天生支持并发编程,而python对并发与并行的支持相对较弱等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

210

2024.03.05

golang是免费的吗
golang是免费的吗

golang是免费的。golang是google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的开源编程语言,采用bsd开源协议。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

397

2024.05.21

golang结构体相关大全
golang结构体相关大全

本专题整合了golang结构体相关大全,想了解更多内容,请阅读专题下面的文章。

282

2025.06.09

golang相关判断方法
golang相关判断方法

本专题整合了golang相关判断方法,想了解更详细的相关内容,请阅读下面的文章。

196

2025.06.10

golang数组使用方法
golang数组使用方法

本专题整合了golang数组用法,想了解更多的相关内容,请阅读专题下面的文章。

581

2025.06.17

Python 数据库优化与性能调优
Python 数据库优化与性能调优

本专题专注讲解 Python 在数据库性能优化中的应用,包括数据库连接池管理、SQL 查询优化、索引设计与使用、数据库事务管理、分布式数据库与缓存系统的结合。通过分析常见性能瓶颈,帮助开发者掌握 如何优化数据库操作,提升 Python 项目在数据库层的响应速度与处理能力。

0

2026.02.05

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.4万人学习

Django 教程
Django 教程

共28课时 | 3.9万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号