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

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://: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。

夏夕资源网专注于CMS网站模板,主流语言整站网站源码下载,网站建设相关教程分享,好用的软件素材整合下载,提供一站式便捷自助服务。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"zy.lucklyus.top",如遇到无法解压的请联系管理员!
夏夕资源网-网站模板_免费源码_资源素材 » 如何在云原生中做监控_云原生监控体系搭建思路-Golang
在线时间:12:00 - 22:00
关注微信公众号:微信公众号
站长邮箱:[email protected]
  • 运营天数: 1393+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4014614+
  • 本周更新: 0+
  • 最后更新: 2026-03-16

本站指数

×
  • 运营天数: 1393+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4014614+
  • 本周更新: 0+
  • 最后更新: 2026-03-16