讲师中心 微信公众号
AI工具推荐 视频效率加速

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

夏强姑娘_3880

夏强姑娘_3880

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

|

855人浏览过

|

来源于php中文网

原创

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

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

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

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

  • Go/Python/Java 应用需集成官方 client SDK(如 prometheus_client 或 io.prometheus:simpleclient),并在 HTTP 路由注册该端点
  • Kubernetes 中常见错误:Pod 启动了,但未加注解 prometheus.io/scrape: "true",或端口未通过 prometheus.io/port: "8080" 显式声明
  • 用 curl http://<pod-ip>:8080/metrics 手动验证——返回内容应为纯文本、每行以 # HELP 或指标名开头,且无 404/500 错误
  • 若用 Istio Sidecar,注意默认拦截所有流量;需在 DestinationRule 或 PeerAuthentication 中放行 /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 是否包含预期的 job、namespace、service

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

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

Zenlink - Node SDK for ZenHeart
Zenlink - Node SDK for ZenHeart

ZenHeart zenlink 与 zenlink-mcp 为 OpenClaw,涵盖安装、MCP 注册、钩子接线、入站轮询及升级维护。

下载
  • 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工具

更多
AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

相关专题

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

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

519

2024.02.23

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

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

596

2024.02.23

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

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

1156

2024.02.23

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

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

771

2024.03.05

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

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

1706

2024.05.21

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

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

4814

2025.06.09

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

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

2214

2025.06.10

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

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

4086

2025.06.17

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

0

2026.10.22

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Uvicorn官方安装与入门手册
Uvicorn官方安装与入门手册

共0课时 | 0人学习

Python uv官方项目管理指南
Python uv官方项目管理指南

共0课时 | 0人学习

Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

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

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn