2.17 腾讯云可观测平台¶
课程简介¶
在云原生时代,应用架构日益复杂,微服务、容器化部署成为主流。传统的监控手段(仅看 CPU/内存)已无法满足需求。腾讯云可观测平台 (Tencent Cloud Observability Platform, TCOP) 基于指标(Metrics)、链路(Tracing)、日志(Logging)三大支柱,结合事件(Events),提供端到端的全链路监控解决方案,帮助企业实现“1 分钟发现问题,5 分钟定位根因,10 分钟恢复业务”。
学习目标¶
通过本课程的学习,您将能够:
- ✓ 理解可观测性:区分监控(Monitoring)与可观测性(Observability)的本质区别。
- ✓ 掌握核心组件:熟练使用 Prometheus、云拨测、APM 及前端监控(RUM)。
- ✓ 实战故障排查:学会利用“指标-链路-日志”联动分析,快速定位慢调用与异常。
- ✓ 构建告警体系:设计分层级的告警策略,避免告警风暴。
第一部分:可观测性概述¶
本部分导读
“监控是告诉你系统挂了,可观测性是告诉你系统为什么挂了。” 本节将阐述可观测性的核心理念及腾讯云 TCOP 的架构。
一、可观测性的三大支柱¶
graph TD
Observability((可观测性))
Observability --> Metrics[指标 Metrics<br>What happen?]
Observability --> Tracing[链路 Tracing<br>Where happen?]
Observability --> Logging[日志 Logging<br>Why happen?]
Metrics -- 关联 --> Tracing
Tracing -- 关联 --> Logging
Logging -- 关联 --> Metrics
| 支柱 | 定义 | 特点 | 典型数据 | 对应产品 |
|---|---|---|---|---|
| 指标 (Metrics) | 随时间变化的数值数据 | 聚合性强,存储成本低,适合告警 | CPU使用率、QPS、延迟 | Prometheus |
| 链路 (Tracing) | 请求在微服务间的调用路径 | 展示依赖关系,定位性能瓶颈 | Span ID, Trace ID, 耗时 | APM |
| 日志 (Logging) | 系统运行的离散事件记录 | 信息最丰富,存储成本高 | Error Stack, Debug Info | CLS 日志服务 |
二、腾讯云可观测平台 (TCOP) 架构¶
TCOP 不是单一产品,而是一套组合拳,覆盖从用户端到基础架构层的全栈监控。
graph LR
User[用户体验层] --> RUM[前端监控 RUM]
User --> Dial[云拨测]
App[应用层] --> APM[应用性能监控 APM]
Infra[基础设施层] --> Monitor[云产品监控]
Infra --> Prom[Prometheus]
Log[日志层] --> CLS[日志服务 CLS]
subgraph 统一展示与告警
Grafana[Grafana 可视化]
Alert[智能告警]
end
RUM --> Grafana
Dial --> Grafana
APM --> Grafana
Prom --> Grafana
CLS --> Grafana
第二部分:核心功能详解¶
本部分导读
本节将深入解析 Prometheus、APM、云拨测及前端监控四大核心组件的原理与用法。
一、云原生监控 Prometheus (TMP)¶
1.1 产品定位¶
Tencent Cloud Managed Service for Prometheus (TMP) 是专为云原生环境设计的全托管监控服务。 - 完全兼容:100% 兼容开源 Prometheus 查询语法 (PromQL) 和生态。 - 无限存储:解决了开源 Prometheus 本地存储的容量瓶颈,支持海量历史数据回溯。 - 无感采集:与 TKE 集群无缝集成,一键安装 Agent。
1.2 核心用法¶
- ServiceMonitor:通过 CRD (Custom Resource Definition) 动态配置采集规则,无需重启 Server。
- 预聚合:针对高基数指标(High Cardinality),通过 Recording Rules 提前聚合,加速查询。
- Grafana 集成:内置丰富的 K8s 监控大盘模板(Node Exporter, Kubelet, Cadvisor)。
二、应用性能监控 (APM)¶
2.1 核心能力:全链路追踪¶
当一个订单请求失败时,APM 能还原出: - 网关耗时 10ms -> 订单服务耗时 50ms -> 库存服务耗时 2000ms (红点异常) -> 数据库耗时 5ms。 - 结论:库存服务是瓶颈。
2.2 接入方式¶
- Java (无侵入):通过 Java Agent 字节码增强技术,无需修改代码,只需在启动参数添加
-javaagent:agent.jar。 - Go/Python/Node.js:使用 OpenTelemetry SDK 进行埋点。
2.3 关键功能¶
- 应用拓扑图:自动绘制服务间的调用依赖关系,识别循环依赖和孤岛服务。
- SQL 分析:抓取慢 SQL 语句,分析数据库调用耗时。
- JVM 监控:实时监控 Heap 内存、GC 次数、线程池状态。
三、云拨测 (Cloud Dialing)¶
3.1 什么是拨测?¶
模拟真实用户,从全球各地的监测点(POP 点)向您的业务发起主动访问。 - 主动式监控:在用户投诉之前发现问题。 - 黑盒监控:关注外部表现(可用性、响应时间)。
3.2 典型场景¶
- CDN 质量监测:对比不同地域访问静态资源的加载速度。
- 竞品分析:对比自己与竞品网站的响应性能。
- 接口巡检:定时检查核心 API(如登录、支付)的连通性。
四、前端性能监控 (RUM)¶
4.1 Real User Monitoring (RUM)¶
关注真实用户在浏览器或小程序端的体验。 - 首屏加载时间 (FCP/LCP):页面多久能刷出来? - JS 错误率:有多少用户遇到了白屏或报错? - API 成功率:前端调用后端接口的成功率。
第三部分:故障排查实战 (Troubleshooting)¶
本部分导读
理论结合实践,演示如何利用 TCOP 进行“侦探式”故障定位。
场景:用户反馈“下单接口超时”¶
步骤一:查看全链路大盘 (Dashboard)¶
- 打开 Grafana 业务大盘。
- 发现 API 成功率 从 99.9% 跌至 80%。
- P99 延迟 从 200ms 飙升至 5000ms。
- 定位范围:确认是全局问题,而非单地区网络问题。
步骤二:利用 APM 定位瓶颈 (Tracing)¶
- 进入 APM 控制台,筛选出
status=error或duration > 3s的 Trace。 - 查看瀑布图 (Waterfall)。
- 发现
Order-Service调用Stock-Service(库存服务) 耗时极长。 - 进一步点击
Stock-Service的 Span,发现其内部执行的一条 SQL 语句耗时 4.5s。
步骤三:关联日志挖掘根因 (Logging)¶
- 在 APM 界面点击 “关联日志” 按钮(基于 TraceID 跳转 CLS)。
- CLS 自动过滤出该次请求的所有日志。
- 看到日志报错:
Connection pool exhausted(数据库连接池耗尽) 或Lock wait timeout exceeded(锁等待超时)。 - 根因找到:库存表存在慢查询导致锁竞争,进而拖垮了连接池。
第四部分:告警体系建设¶
本部分导读
告警不是越多越好,无效告警会导致“狼来了”效应。
一、告警分层策略¶
| 层级 | 监控对象 | 关键指标 | 通知渠道 | 响应时效 |
|---|---|---|---|---|
| 业务层 | 订单、支付、GMV | 下单跌零、支付失败率 | 电话 + 短信 | 5分钟 (P0) |
| 应用层 | 微服务、接口 | QPS、P99 延迟、错误率 | 企业微信/钉钉 | 15分钟 (P1) |
| 资源层 | CVM、K8s、DB | CPU、内存、磁盘 IO | 邮件 + 工单 | 1小时 (P2) |
二、智能告警与收敛¶
- 告警收敛:同一故障引发的 100 条告警(如网络中断导致所有服务报错),合并为 1 条发送。
- 动态阈值:基于 AI 算法,自动学习历史趋势。例如“CPU 使用率突增 50%”(而非固定 > 80%)触发告警。
课程总结¶
知识体系回顾¶
本课程构建了云原生可观测性的完整图谱:
腾讯云可观测平台
├── 数据采集
│ ├── Prometheus (指标)
│ ├── APM (链路)
│ ├── CLS (日志)
│ └── RUM/拨测 (体验)
├── 核心能力
│ ├── 全链路追踪 (Trace)
│ ├── 多维分析 (Grafana)
│ └── 智能告警
└── 最佳实践
├── 故障定位三板斧 (指标->链路->日志)
└── 告警分层治理
架构师实践清单 (Checklist)¶
- [ ] 全栈覆盖:是否同时部署了基础设施监控(Prometheus)和应用监控(APM)?
- [ ] 日志关联:业务日志中是否注入了
TraceID,以便于链路联动? - [ ] 用户体验:是否配置了云拨测,关注外部用户的访问质量?
- [ ] 告警有效性:是否定期复盘告警记录,屏蔽无效告警,优化阈值?
- [ ] 数据留存:是否根据合规要求设置了日志和指标的存储时长(如 15天/180天)?
本章课程到此结束。通过本章的学习,您已具备了构建企业级监控体系的能力,能够为业务的稳定性保驾护航。下一章,我们将进入 第三章:云架构设计实践,开始通过实战案例将所学知识融会贯通。